반응형

CHECK


https://www.w3schools.com/sql/sql_check.asp


CHECK Constraint는 값의 범위를 지정해 줄 수 있다.


MySQL:

CREATE TABLE Persons (
ID int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int,
CHECK (Age>=18)
);



SQL Server / Oracle / MS Access:

CREATE TABLE Persons (
ID int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int CHECK (Age>=18)
);


위와같이 쿼리문을 작성하면 Age가 18이상인 값만 항상 DB에 저장됨이 보장된다.



MySQL / SQL Server / Oracle / MS Access:

CREATE TABLE Persons (
ID int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int,
City varchar(255),
CONSTRAINT CHK_Person CHECK (Age>=18 AND City='Sandnes')
);


여러 CHECK 조건을 함께 넣기 위해서는 위와같이 설정한다.



MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE Persons
ADD CHECK (Age >= 18);



MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE Persons
ADD CONSTRAINT CHK_PersonAge CHECK (Age >= 18 AND City='Sandnes');


를 하면 테이블 수정시 CHECK를 넣을 수 있고


SQL Server / Oracle / MS Access:

ALTER TABLE Persons
DROP CONSTRAINT CHK_PersonAge;



MySQL:

ALTER TABLE Persons
DROP CHECK CHK_PersonAge;


를 하면 테이블에서 CHECK 부분을 DROP 할 수 있다.





DEFAULT


https://www.w3schools.com/sql/sql_default.asp


DEFAULT Constraint를 설정하면 각 열에 default 값을 설정 할 수 있다.


CREATE TABLE Persons (
ID int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int,
City varchar(255) DEFAULT 'Sandnes'
);


를 한 후


INSERT INTO Persons (ID, LastName, FirstName, Age)
VALUES (1, 'A', 'B', 4);


를 작성해보면 City에 아무값도 넣지 않았지만 Sandnes가 들어가있음을 볼 수 있다.



CREATE TABLE Orders (
ID int NOT NULL,
OrderNumber int NOT NULL,
OrderDate date DEFAULT GETDATE()
);


GETDATE 함수를 이용하여 현재 생성 날자도 표현이 가능하다.



MySQL:

ALTER TABLE Persons
ALTER City SET DEFAULT 'Sandnes';


SQL Server / MS Access:

ALTER TABLE Persons
ALTER COLUMN City SET DEFAULT 'Sandnes';


Oracle:

ALTER TABLE Persons
MODIFY City DEFAULT 'Sandnes';


를 이용하여 필드의 DEFAULT 값을 설정 할 수 있고



MySQL:

ALTER TABLE Persons
ALTER City DROP DEFAULT;


SQL Server / Oracle / MS Access:

ALTER TABLE Persons
ALTER COLUMN City DROP DEFAULT;



를 이용하여 필드의 DEFAULT 값을 DROP 할 수 있다






반응형