본문 바로가기

DB

(18)
[DB] DDL, DML, DCL, TCL DDL(Data Definition Language) : 정의어 CREATE: 데이터베이스, 테이블 등을 생성 DROP: 데이터베이스, 테이블 삭제 ALTER: 테이블의 컬럼등을 수정 TRUNCATE: 테이블을 초기화 ​ DML(Data Manipulation Language) : 조작어 SELECT: 데이터 조회 INSERT: 데이터 삽입 DELETE: 데이터 삭제 UPDATE: 데이터 수정 ​ DCL(Data Control language) : 제어어 GRANT: 권한부여 REVOKE: 이미 부여된 DB 객체 권한 취소 ​ TCL(Transaction Control language) : 트랜잭션 제어어 COMMIT: 작업을 수행 ROLLBACK: 트랜잭션 작업을 취소
[DB] SELECT한 결과 INSERT 1. SELECT한 모든 데이터를 INSERT INSERT INTO 데이터 넣을 테이블 SELECT * FROM 데이터 가져올 테이블 ​ 2. SELECT한 특정 컬럼만 INSERT (INSERT할 테이블 컬럼과 SELECT할 테이블 컬럼이 동일해야함) INSERT INTO 데이터 넣을 테이블 (컬럼1, 컬럼2, 컬럼3) SELECT 컬럼1, 컬럼2, 컬럼3 FROM 데이터 가져올 테이블
[DB] 테이블과 데이터 같이 복사 CREATE TABLE 새테이블명 AS (SELECT * FROM 복사할 테이블명)
[DB] 동의어(SYNONYM) 설정 시노님(SYNONYM): 테이블의 별칭 CREATE SYNONYM 스키마.동의어 사용할 테이블명 FOR ​스키마.기준테이블
[DB] 테이블 권한부여 DB table권한부여 SELECT 권한: GRANT SELECT ON 권한부여할 테이블 TO 계정 또는 ROLL INSERT 권한: GRANT INSERT ON 권한부여할 테이블 TO 계정 또는 ROLL UPDATE 권한: GRANT UPDATE ON 권한부여할 테이블 TO 계정 또는 ROLL DELETE 권한: GRANT DELETE ON 권한부여할 테이블 TO 계정 또는 ROLL
[SQL] 속도 개선 TIP 쿼리 작성 및 DB처리 속도 개선을 위한 Tip 1. 인덱스 사용 필수 2. EXIST sub쿼리 사용시에도 인덱스 생성하여 속도개선 3. WHERE문의 정확한 설정 필요 (설정이 어려울 경우 hint사용-비권장) 4. 날짜컬럼은 vchar로 설계권장(TO_NUMBER 사용시 지연상황 발생) 5. ROWNUM, ROW_NUMBER(), ORDER BY 사용시 대량의 파일이 연산되므로 조건을 줄여 사용권장 6. LIKE문 사용시 컬럼 앞뒤로 %사용할 경우 인덱스 수행불가 ('찾는단어' || '%' 또는 '%' || '찾는단어'와 같이 하나만 사용시에는 인덱스 수행)
[SQL] 소계, 합계구하기 (ROLLUP, GROUPING_ID) 소계,합계: GROUP BY ROLLUP(컬럼1, 컬럼2) 합계: GROUP BY ROLLUP(컬럼1, 컬럼2) HAVING GROUPING_ID(컬럼1, 컬럼2) 참고 예제: http://gent.tistory.com/57 [Oracle|오라클] ROLLUP 합계, 소계 구하기 (GROUP BY) 오라클 GROUP BY 쿼리에서 ROLLUP 함수를 사용하여 손쉽게 합계와 소계를 구할 수 있다. 1. GROUP BY 컬럼이 하나인 경우 : GROUP BY 절에 ROLLUP 함수를 추가한 후 그룹핑 컴럼을 인자로 넣는다. -- 가상 테이블.. gent.tistory.com
[DB] MSSQL 설정된 시퀀스(Sequence) 확인방법 해당 DB의 모든 Sequence를 확인 SELECT * FROM sys.objects WHERE type = 'SO' Sequence의 next value 확인 SELECT NEXT VALUE FOR sequence명