반응형

Create 문 : 데이터베이스 만들기, 테이블 만들기

 

DataBase 만들기

Create Database DB명

 

Table 만들기

Create Table [DB명.소유자명.]테이블명 (MyDB.dbo.UserInfo)

(

    필드명1 데이터타입 제약조건,

    필드명2 데이터타입 제약조건,

    필드명3 데이터타입 제약조건,

)

 

1) 제약조건1 : Null허용여부

    필드명 데이터형 null

    필드명 데이터형 not null

 

 

ex)

Create Table UserInfo

(

    id varchar(8) not null,

    login int null,

    userip varchar(15) null

)

 

 

2) 제약조건2 : Identity

- 데이터가 입력될 때마다 행에 순서 있는 유일한 번호를 붙일 때 사용

- DBMS에서 자동으로 채워 줌

- int형 필드에만 지정 가능

- not null 지정

- Identity(Seed, Increment)

필드명 int not null identity(1, 1)

 

 

3) 제약조건3 : 기본키 설정

각 레코드를 구별할 수 있는 유일한 값을 가지는 필드를 대상 설정, Primary Key

- 개체 무결성 제약조건, null일 수 없음

- 레코드를 식별할 수 있는 유일한 값을 가지는 필드에 설정

 

필드명 데이터형 not null constraint 기본키명(pk_테이블명) primary key

 

Foreign Key (외래키) : 참조 무결성 제약조건

 

Create Table 테이블명 (필드명 데이터형 not null constraint PK명 primary key,

필드명 데이터형 not null constraint FK명 foreign key reference 참조되는테이블(필드명))

 

 

테이블 생성 후 Key 제약조건 삭제

외래키 설정된 후에 참조되는 테이블의 기본키 삭제의 경우

외래키 먼저 제거 한 후에 참조되는 테이블의 기본키를 삭제할 수 있음

 

Alter Table 테이블명 drop constraint PK명

Alter Table 테이블명 drop constraint FK명

 

Table 수정하기

생성된 테이블에 필드 추가하기

 

Alter table 테이블명 add 필드명 데이터형 제약조건

 

1) null 필드추가 가능

2) not null 필드 추가 시에는 defalut 제약조건을 걸고 기본값 제공

 

 

생성된 테이블에서 필드 삭제

 

Alter table 테이블명 drop column 필드명

 

일반필드 (null, not null 제약조건은 그냥 삭제 가능)

 

기타 제약조건이 추가된 경우

- 필드 삭제문을 실행 : 제약조건 Key가 에러메시지에 노출

  Alter table 테이블명 drop column 필드명

- 제약조건 삭제 : alter table 테이블명 drop constraint Key값

- 필드 삭제 : alter table 테이블명 drop column 필드명

 

 

Insert 문

Insert into 테이블명 (필드명....)

values (값1, 값2, 값3....)

 

- 필드명은 모든 필드를 순서대로 입력하는 경우 테이블명과 values 사이의 필드명은 생략 가능 (identity 필드 제외)

 

ex)

Insert into Userinfo

(id, login, userip) values ('kh', 5, '192.168.0.2')

 

Insert into Userinfo

(id, login) values ('test', 2)

 

Insert into Userinfo

(id, userip) values ('test2', '192.168.0.3')

 

Insert into Userinfo

(login, userip) values (3, '192.168.219.4')       // id테이블이 not null 이므로 안됨

 

 

테이블 생성 후 PK설정

 

Alter table 테이블명 add constraint PK명 primary key (필드명)

반응형

'<DB>' 카테고리의 다른 글

[SQL] Select 문 (3)  (0) 2020.07.23
[SQL] Select 문 (2)  (0) 2020.07.22
[SQL] Select 문 (1)  (0) 2020.07.21
DataBase 정의와 DBMS 정의  (0) 2020.07.20

+ Recent posts