SQL CREATE DATABASE
CREATE DATABASE문은 새 SQL 데이터베이스를 작성하는데 사용된다.
CREATE DATABASE database_name;
SQL DROP DATABASE
DROP DATABASE문은 기존 SQL 데이터베이스를 삭제하는데 사용된다.
DROP DATABASE database_name
SQL Server용 SQL 백업 데이터베이스
BACKUP DATABASE문은 SQL Server에서 기존 SQL 데이터베이스의 전체 백업을 만드는데 사용된다.
BACKUP DATABASE database_name TO DISK = 'filepath';
SQL BACKUP WITH DIFFERENTIAL : 차등 백업은 마지막 전체 데이터베이스 백업 이후 변경된 데이터베이스 부분만 백업한다.
BACKUP DATABASE database_name TO DISK = 'filepath' WITH DIFFERENTIAL;
SQL CREATE TABLE
CREATE TABLE 문은 데이터베이스에서 새 테이블을 작성하는데 사용된다.
CREATE TABLE table_name{
column1 datatype,
column2 datatype,
column3 datatype,
....
};
SQL DROP TABLE
DROP TABLE 문은 데이터베이스에서 기존 테이블을 삭제하는데 사용된다.
DROP TABLE table_name;
SQL ALTER TABLE
ALTER TABLE 문은 기존 테이블의 열을 추가, 삭제 또는 수정하는데 사용된다.
* ALTER TABLE-ADD : 테이블에 열 추가
ALTER TABLE table_name ADD column_name datatype;
* ALTER TABLE-DROP COLUMN : 테이블에서 열 삭제
ALTER TABLE Customers DROP COLUMN Email;
* ALTER TABLE-ALTER/MODIFY COLUMN : 테이블에서 열의 데이터 유형 변경
ALTER TABLE table_name ALTER COLUMN column_name datatype;
ALTER TABLE table_name MODIFY COLUMN column_name datatype;
ALTER TABLE table_name MODIFY column_name datatype;
CSS Constraints
SQL 제한 조건은 테이블의 데이터에 대한 규칙을 지정하는데 사용된다.
CREATE TABLE 문으로 테이블을 작성할 때 또는 ALTER TABLE 문으로 테이블을 작성한 후에 제한 조건을 지정할 수 있다.
CREATE TABLE table_name{
column1 datatype constraints,
column2 datatype constraints,
column3 datatype constraints,
....
};
ex) CHECK 제약 조건은 18세 미만인 사람을 가질 수 없도록 함.
CREATE TABLE Persons{
ID int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int,
CHECK (Age >= 18)
);
Unique Index Syntax:
CREATE UNIQUE INDEX index_name ON table_name (column1, ,,,);
Drop Index :
DROP INDEX index_name ON table_name;
SQL Auto Increment field
Auto Increment Field는 새 레코드가 테이블에 삽입될 때 고유 번호가 자동으로 생성되도록 한다. 기본적으로 시작 값은 1이며 새 레코드가 삽입 될 때 마다 1씩 증가한다.
다른 값으로 시작되게 하려면 -> ALTER TABLE table_name AUTO_INCREMENT=100;
SQL Server는 IDENTITY(1,1) -> 1에서 시작하여 1씩 증가.
* MYSQL
- DATE : YYYY-MM-DD
- DATETIME : YYYY-MM-DD HH:MI:SS
- TIMESTAMP : YYYY-MM-DD HH:MI:SS
- Year : YYYY or YY
* SQL Server
- DATE : YYYY-MM-DD
- DATETIME : YYYY-MM-DD HH:MI:SS
- SMALLDATETIME : YYYY-MM-DD HH:MI:SS
- TIMESTAMP : a unique number
Syntax:
CREATES VIEW view_name AS SELECT column1, column2,... FROM table_name WHERE condition;
view UPDATE:
CREATES OR REPLACE VIEW view_name AS SELECT column1, column2,... FROM table_name WHERE condition;
view 삭제:
DROP VIEW view_name;
- 인증 우회 (AB: Auth Bypass)
보통 아이디와 패스워드를 입력하는데 로그인 페이지를 타깃으로, SQL Query의 true/fals의 논리적 연산 오류를 이용하여 로그인 인증 쿼리문이 무조건 true가 나오게 하여 인증을 무력화 시킨다.
- 데이터 노출 (DD: Data Disclosure)- 원격명령 실행 (RCE: Remote Command Execute)