<DDL>
1. DDL
1) 데이터 정의
2) 데이터베이스 구조를 정의하고 변경하는 기능 제공하는 언어
3) create
- 새로운 데이터베이스 오브젝트들을 생성 (schema, table, view 등)
4) alter
- 존재하는 오브젝트의 정의를 변경
5) drop
- 존재하는 오브젝트를 데이터베이스에서 삭제
2. CREATE TABLE 테이블 이름 (
{속성이름 데이터타입 [NULL | NOT NULL | UNIQUE | DEFAULT 기본값 | CHECKE 체크조건]}
[PRIMARY KEY 속성이름(들)]
[FOREIGN KEY 속성이름 REFERENCES 테이블이름(속성이름) | ON DELETE {CASCADE}]
);
ex)
CREATE TABLE student (
ID varchar(8) primary key
, name varchar(20) not null
, dept_name varchar(20)
, grade int
, credit int DEFAULT 0
, foreign key(dept_name) reference department
);
3. 데이터 타입
1) CHAR(n)
- 길이가 n으로 고정인 문자열
2) VARCHAR(n)
- 최대 길이가 n인 가변 길이의 문자열
3) BIGINT
- 8 bytes 정수
4) INT or INTEGER
- 4 bytes 정수
5) SAMLLINT
- 2 bytes 정수
6) NUMBER(p,s) or DECIMAL(p,s)
- 고정 소수점 실수
- p : 소수점을 제외한 전체 길이
- s : 소수점 이하 숫자의 길이
- ex) 123456.1234 <==== price decimal(10,4)
7) FLOAT(n)
- 길이가 n인 부동소수점 실수
8) REAL
- 부동 소수점 실수
9) DATE
- 연,월,일로 표현되는 날짜
10) TIME
- 시,분,초로 표현되는 시간
11) TIMESTAMP
- DATE + TIME
12) BLOB
- Binary large objects
13) CLOB
- Character large objects
4. alter table
1) 새로운 컬럼 추가
- alter table 테이블 이름 add 속성이름 데이터타입
- ex) alter table customer add reg_date date;
2) 기존 컬럼 삭제
- alter table 테이블 이름 drop column 속성이름
- ex) alter table customer drop column age;
3) 새로운 제약조건 추가
- alter table 테이블 이름 add constraint <constraint_name> <constraints>
- ex) alter table customer add constraint set_pri_key primary key(id)
4) 제약조건 삭제
- alter table 테이블 이름 drop constraint set_pri_key;
5) Modify는 속성의 기본값을 설정하거나 수정할 때 사용
5. drop table
1) 테이블 데이터 및 catalog 삭제
2) drop table 테이블 이름
3) 테이블 구조와 데이터를 모두 삭제하므로 사용에 주의해야 함.
4) 데이터만 삭제하려면 delete 문을 사용
<DML>
1. INSERT
1) 테이블에 새로운 row을 삽입하는 SQL
2) Syntax
- INSERT <table_name>[(<column_name>,...)] VALUES (value,...)
3) example
- INSERT student VALUES ('20211110','Kim','Computer',1);
- INSERT student (id,name,dept_name,grade) VALUES ('20211110','Kim','Computer',1);
- INSERT student (id,name,dept_name) VALUES ('20211110','Kim','Computer');
2. INSERT INTO SELECT
1) 다른 테이블에서 질의 결과를 삽입하는 구문
2) INSERT <table_name>[(<column_name>,...)] <SELECT clause>
3) example
- INSERT INTO student SELECT * FROM new_students;
3. DELETE
1) 테이블에서 쿼리에 해당되는 row를 지우는 SQL
2) Syntax
- DELETE FROM <table_name> [WHERE condition]
3) example
- DELETE FROM student; ==> 모든 rows 삭제
- DELETE FROM student WHERE dept_name = 'Computer';
- DELETE FROM student WHERE dept_name in ()
4. UPDATE
1) 테이블에 저장된 데이터를 변경하는 SQL
2) Syntax
- UPDATE <table_name> SET <column_name>=value [WHERE conditio]
3) example
- UPDATE employee set salary = salary * 1.07;
- UPDATE employee set salary = salary * 1.07 WHERE hire_date < '2021.01.01';
- UPDATE employee set salary = salary * 1.07 WHERE dept_name in ();
5. SELECT
댓글