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명 이전 1 2 3 다음