2023. 3. 9. 20:35ㆍSQLD 정리
DDL
- 데이터를 보관하고 관리하기 위한 객체의 구조를 정의하기 위한 언어
create - 구조생성
alter - 구조 변경
drop - 구조 삭제
rename - 이름 변경
truncate - 테이블 초기화
create - 구조생성
CREATE TABLE_NAME(
COLUMN1 VARCHAR2(10) PRIMARY KEY,
COLUMN2 NUMBER(4) DEFAULT 1234,
COLUMN3 DATE NOT NULL,
.....
)
데이터 타입
- number 숫자형
- date 날짜형
- varchar2 가변길이 문자열 >>> '하하' != ' 하하'
- char 고정된 크기 문자열 >>> '하하' = ' 하하'
제약조건
- default : 기본값 지정
- not null : null 입력 불가
- primary key : 기본키 지정(not null, unique)
- foreign key : 외래키 지정(테이블당 여러개 가능)
count(*) vs count(칼럼명)
count(*) >>> 전체 행의 수 카운트, null 포함해서 카운트
count(칼럼명) >>> null 제외한 향수 카운트
null 관련 정리
- 모르는 값을 상징하고 값이 없음(부재)를 의미
- null is null = true
- null과의 값 비교는 null을 반환 ex) null > 3 결과는 null
- null은 숫자 0이나 ''와 같지 않음
alter - 구조 변경
테이블과 컬럼에 대해 이름 및 속성 변경, 추가/삭제 등 구조 수정을 위해 사용
테이블 이름 변경
ALTER TABLE 테이블명 RENAME TO 테이블명2;
ALTER없이 테이블 이름 변경
RENAME 테이블명 TO 테이블명2;
컬럼명 변경
ALTER TABLE 테이블명RENAME COLUMN 컬럼명 TO 컬럼명2;
컬럼 속성 변경
ALTER TABLE 테이블명 MODIFY(컬럼명 varchar(20) not null)
컬럼추가
ALTER TABLE 테이블명 ADD (컬럼명 varchar(10));
컬럼 삭제
ALTER TABLE 테이블명 DROP (컬럼명);
테이블의 제약조건 추가/삭제
ALTER TABLE 테이블명 ADD 제약 / DROP 제약
drop - 구조 삭제
테이블 및 컬럼 삭제
컬럼삭제
ALTER TABLE 테이블명 DROP COLUMN 컬럼명;
테이블 삭제
DROP TABLE 테이블명
DROP TABLE 테이블명 CASCADE CONSTRAINT;
-삭제를 하면 해당 테이블의 데이터를 외래키(FK)로 참조한 제약사항도 모두 삭제한다.
-ORACLE에만 있는 옵
참조) CASCADE CONSTRAINT :해당 테이블과 관계가 있었던 참조되는 제약조건에 대해서도 삭제한다는 의미
DROP vs TRUNCATE
DROP TABLE 테이블명 >>> 테이블 삭제( 테이블 관련해서 구조와 데이터 모두 삭제)
TRUNCATE TABLE 테이블명 >>> 테이블 초기화( 테이블 데이터만 삭제되고 구조는 살아있다)
'SQLD 정리' 카테고리의 다른 글
SQL - WHERE 절에 들어가는 연산자 (0) | 2023.03.10 |
---|---|
SQL - DECODE, CASE WHEN (0) | 2023.03.10 |
SQL - 문자형 함수, 숫자형 함수, 날짜형 함수, 형변환 함수 (0) | 2023.03.10 |
DML(Data Manipulation Language), TCL(Transaction Control Language) (0) | 2023.03.10 |
DCL(Data Control Language) (0) | 2023.03.08 |