School Lecture Study/Database Design

SQL 문 정리

vㅔ로 2021. 10. 13. 04:09
728x90

<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로 만들어 진행

 

728x90