[학습 DAY - 9]
-. DMI : SELECT, INSERT, DELETE, UPDATE 등 데이터를 조작하는 명령
-. DDL : 데이터를 정의하는 명령으로, 스키마 내의 객체를 관리할 때 사용
테이블 작성
CREATE TABLE 테이블명(
열 정의1,
열 정의2,
...
)
- 열명: 열에 붙이는 이름, 명명규칙에 맞게 이름을 붙여줌, INTEGER, VARCHAR 등
- 기본값: DEFAULT로 지정하되 자료형에 맞는 리터럴로 기술, 생략 가능
- NULL 허용지정(NOT NULL 일 경우 NULL 허용되지 않음)
테이블 삭제
DROP TABLE 테이블명
- 많은 데이터베이스가 SQL 명령을 실행할 때 확인을 요구하지 않기 때문에 실수로 삭제하지 않도록 주의
- 테이블의 정의는 그래도 둔 채 데이터만 삭제할 경우 DELETE 명령 사용(WHERE 조건을 지정하지 않으면 테이블의 모든 행의 데이터를 삭제)
- DELETE 명령은 행 단위로 여러가지 내부 처리가 일어나므로 삭제 행이 많은 경우 속도가 느려짐 --> DDL로 분류되는
TRUNCATE TABLE 테이블명
사용하여 모든 행 삭제
테이블 변경
ALTER TABLE 테이블명 변경명령
- 열 추가 : ALTER TABLE 테이블명 ADD 열 정의
- 열 속성 변경 : ALTER TABLE 테이블명 MODIFY 열 정의
- 열 이름 변경 : ALTER TABLE 테이블명 CHANGE [기존 열 이름][신규 열 정의]
- 열 삭제 : ALTER TABLE 테이블명 DROP 열명 (테이블에 존재하지 않는 열 지정 시 에러 발생)
테이블 작성 시 제약 정의
-. CREATE TABLE로 테이블 작성하 때 제약을 같이 정의
-. ALTER TABLE로 제약을 지정하거나 변경 가능
-. 열에 대해 정의하는 제약을 열 제약
이라고 하고, 한 개의 제약으로 복수의 열에 제약을 설명하는 경우를 테이블 제약
이라고 부름
-. CONSTRAINT 키워드를 사용하여 제약에 이름을 붙여 관리 가능
제약 추가
-. ATER TABLE로 열 정의 변경 가능 ALTER TABLE 테이블명 MODIFY 열명 VARCHAR(30) NOT NULL;
-. 테이블 제약은 ALTER TABLE의 ADD 하부명령으로 추가 가능 ALTER TABLE 테이블명 ADD CONSTRAINT pkey_테이블명 PRIMARY KEY(a)
제약 삭제
-. 열 제약의 경우, 추가할 때와 동일하게 열 정의 변경 ALTER TABLE 테이블명 MODIFY 열명 VARCHAR(30);
-. 테이블 제약은 ALTER TABLE의 DROP 하부명령으로 삭제 가능 ALTER TABLE 테이블명 DROP CONSTRAINT pkey_테이블명;
또는 ALTER TABLE 테이블명 DROP PRIMARY KEY;(기본키 삭제)
기본키 : 테이블의 한 행 한 개를 특정할 수 있는 검색키
-. 기본키로 지정할 열은 NOT NULL 제약이 설정되어 있어야 함
-. 기본키로 설정된 열이 중복하는 데이터 값을 가지면 제약에 위반됨
-. 행이 유일성을 필요로 한다는 다른 의미에서 유일성 제약
이라고 불리기도 함