STUDY/DataBase

SQL | (create | drop | alter) TABLE + Constraints

nicesugi 2022. 11. 14. 14:53

CREATE TABLE

1. 데이터베이스에 새 테이블을 만드는 데 사용

-  PersonID, LastName, FirstName, Address 및 City의 5개 열이 포함된 "Persons"라는 테이블을 생성

CREATE TABLE Persons (
    PersonID int,
    LastName varchar(255),
    FirstName varchar(255),
    Address varchar(255),
    City varchar(255)
);

"Persons" 테이블

  • datatype 매개변수(예: varchar, 정수, 날짜 등)는 열이 보유할 수 있는 데이터 유형(예: varchar, 정수, 날짜 등)을 지정
  • SQL INSERT INTO문을 사용하여 새로 생성한 "Persons"라는 테이블을 데이터를 채울 수 있음

 

2. 기존 테이블의 복사본인 새 테이블 만드는 데 사용

- "TestTables"("Customers" 테이블의 복사본)라는 새 테이블을 생성 (AS)

CREATE TABLE TestTable AS
SELECT customername, contactname
FROM customers;
  • 기존 테이블을 사용하여 새 테이블을 만드는 경우 새 테이블은 이전 테이블의 기존 값으로 채워짐
  • 새 테이블은 동일한 열 정의를 가져옴 
  • 모든 열 또는 특정 열을 선택할 수 있음

 

DROP TABLE

- 기존 테이블 "Shippers"를 삭제

DROP TABLE Shippers;

 

TRUNCATE TABLE

- 테이블 내부의 데이터를 삭제하는 데 사용되지만 테이블 자체는 삭제하지 않음

TRUNCATE TABLE table_name;

 

ALTER TABLE

- 기존 테이블의 열을 추가, 삭제 또는 수정하는 데 사용

- 기존 테이블에 다양한 제약 조건을 추가 및 삭제하는 데 사용

 

1. "Customers" 테이블에 "Email" 열을 추가

ALTER TABLE Customers
ADD Email varchar(255);

2. "Customers" 테이블에서 "Email" 열을 삭제

일부 데이터베이스 시스템에서는 열 삭제를 허용하지 않을 수 있음

ALTER TABLE Customers
DROP COLUMN Email;

3. 테이블에서 열의 데이터 유형을 변경, 수정

ALTER TABLE table_name
--SQL 서버/MS 액세스:
ALTER COLUMN column_name datatype;
--My SQL/Oracle(이전 버전 10G):
MODIFY COLUMN column_name datatype;
--Oracle 10G 이상:
MODIFY column_name datatype;

3-1. "Persons" 테이블에서 "DateOfBirth"라는 열의 데이터 유형을 변경

        -> "DateOfBirth" 열은 연도 유형이며 2자리 또는 4자리 형식으로 연도를 보유하게 됨

ALTER TABLE Persons
ALTER COLUMN DateOfBirth year;

4. "Persons" 테이블에서 "DateOfBirth"라는 열을 삭제

ALTER TABLE Persons
DROP COLUMN DateOfBirth;

Constraints

SQL 제약 조건은 테이블의 데이터에 대한 규칙을 지정하는 데 사용됩니다.

CREATE / ALTER TABLE  명령문을 사용하여 테이블을 만들 때 혹은 테이블을 만든 후! 에 ! 제약조건을 지정

CREATE TABLE table_name (
    column1 datatype constraint,
    column2 datatype constraint,
    column3 datatype constraint,
    ....
);
  • NOT NULL- 컬럼이 NULL 값을 가질 수 없도록 보장
  • UNIQUE- 열의 모든 값이 서로 다른지 확인
  • PRIMARY KEY- NOT NULL와 의 조합 UNIQUE. 테이블의 각 행을 고유하게 식별
  • FOREIGN KEY - 테이블 간의 링크를 파괴하는 작업 방지
  • CHECK- 컬럼의 값이 특정 조건을 만족하는지 확인
  • DEFAULT- 값이 지정되지 않은 경우 열의 기본값을 설정합니다.
  • CREATE INDEX- 데이터베이스에서 데이터를 매우 빠르게 생성하고 검색하는 데 사용

 

 

 

 

 

참고링크 : https://www.w3schools.com/sql/

반응형

'STUDY > DataBase' 카테고리의 다른 글

SQL 제약조건 | Constraints  (0) 2022.11.21
SQL | (show | create | drop | alter | backup) DATABASE  (0) 2022.11.11
SQL | DELETE  (0) 2022.11.11
SQL | UPDATE  (0) 2022.11.11
SQL | INSERT INTO | NULL  (0) 2022.11.11