<Create>
create table 테이블 이름(
column의 이름 data 타입
== 무결성 제약 ==
)
Ex)
create table instructor(
ID char(5),
name varchar(20),
dept_name varchar(20),
salary numeric(8, 2)
);
** char는 고정 길이, varchar는 가변길이 의미
** numeric(전체 자릿수, 소수점 자릿수)
primary key, foreign key도 명시 가능
Ex)
create table instructor(
ID char(5),
name varchar(20) not null, <-- null 값 허용 x
dept_name varchar(20),
salary numeric(8, 2)
primary key(ID), <-- null 값 허용 x
foreign key(dept_name) references department
);
** foreign key 지정할외래키 references 참조테이블이름 (참조테이블의 primary key column) <-- 이거는 있어도 되고 없어도 됨
** primary key에는 여러 column이 들어갈 수 있다. (합성키)
<Updates to tables>
- Insert : insert into 테이블 이름 values 튜플 내용 => 새로운 튜플을 테이블에 추가
- Delete : delete from 테이블이름 => 테이블 안에 있는 모든 튜플 삭제. 테이블은 남아있음.
- Drop Table : drop table 테이블이름 => 테이블 자체를 삭제 (자주 쓰이진 않음)
- Alter :
alter table 기존 테이블 컬럼들 add 추가할컬럼 추가할컬럼의 data type => 기존 테이블에 컬럼을 추가
alter table 기존테이블 drop 삭제할컬럼 => 테이블에서 컬럼을 삭제
(자주 쓰이지 않음)
<Basic Query String>
select 결과로 뽑을 컬럼들
from 테이블이름
where 조건
=> 결과는 table로 나옴
** 조건에 and, or, not 사용 가능
<Select>
- 기본 select문
select 컬럼이름
from 테이블이름
=> 테이블의 모든 튜플 중 해당 컬럼만 뽑아 보여준다.
- select 옵션
select distinct 컬럼이름
from 테이블이름
=> 결과에서 중복 tuple이 제거된다.
select all 컬럼이름
from 테이블이름
=> 결과에서 중복 tuple이 제거되지 않는다. (이게 기본값)
- column 이름 변경
select 컬럼이름 as 바꿀이름
from 테이블이름
=> as 앞의 컬럼이름을 바꾼다.
Ex) select ID, name, salary/12 as monthly_salary
<From>
- 검색 수행할 테이블 나타냄.
- from에 테이블 여러 개 -> cartesian product 수행해서 하나의 table로 만들어 진행