특정 기업이나 조직 또는 개인이 필요에 의해 데이터를 일정한 형태로 저장해 놓은 것
1) 정규화를 통해 이상현상 및 중복 데이터 제거
2) 동시성 관리와 병행 제어를 통해 데이터 동시 조작 가능
효율적인 데이터 관리 뿐만 아니라 예기치 못한 사건으로 인한 데이터의 손상을 피하고, 필요시 필요한 데이터를 복구하기 위한 강력한 기능의 시스템
관계형 데이터베이스에서 데이터 정의, 조작, 제어를 위해 사용하는 언어
종류 | 설명 | 명령어 |
---|---|---|
DML (Data Manipulation Language) | 데이터 조작어 | SELECT, INSERT, UPDATE, DELETE |
DDL (Data Definition Language) | 데이터 정의어 | CREATE, ALTER, DROP, RENAME |
DCL (Data Control Language) | 데이터 제어어 | GRANT, REVOKE |
TCL (Transaction Control Language) | 트랜잭션 제어어 | COMMIT, ROLLBACK |
데이터 유형 | 설명 | 기타 |
---|---|---|
CHAR(s) | 고정 길이 문자열 정보 | ‘AA’ = ‘AA ’ |
VARCHAR(s) | 가변 길이 문자열 정보 | ‘AA’ != ‘AA ’ |
NUMERIC | 정수, 실수 등 숫자 정보 | |
DATETIME | 날짜와 시각 정보 |
CREATE TABLE 테이블이름 (
칼럼명1 DATATYPE [DEFAULT 형식],
칼럼명2 DATATYPE [DEFAULT 형식],
칼럼명2 DATATYPE [DEFAULT 형식]
) ;
구분 | 설명 |
---|---|
PRIMARY KEY | - 기본키 - 하나의 테이블에 한 개만 지정 가능. 자동으로 UNIQUE 인덱스 생성 - NULL값 입력 불가 ( 기본키 제약 = 고유키 & NOT NULL 제약 ) |
UNIQUE KEY | - 행을 고유하게 식별하기 위한 고유키 - NULL 가능 |
NOT NULL | NULL 값 입력 금지. |
CHECK | - 입력할 수 있는 값의 범위 등을 제한 - TRUE or FALSE 논리식을 지정 |
FOREIGN KEY | - 외래키 - 참조 무결성 옵션 선택 가능 |
ALTER TABLE 테이블명
ADD 추가할 칼럼명 데이터 유형;
ALTER TABLE 테이블명
DROP COLUMN 삭제할 칼럼명;
ALTER TABLE 테이블명
MODIFY (칼럼명1 데이터 유형 [DEFAULT 식] [NOT NULL],
칼럼명2 데이터 유형 …);
ALTER TABLE 테이블명
ADD CONSTRAINT 제약조건명 제약조건 (칼럼명);
ALTER TABLE 테이블명
RENAME COLUMN 변경해야할 컬럼명 TO 새로운 컬럼명;
테이블의 모든 데이터 및 구조 삭제. CASCADE CONSTRAIN 옵션은 해당 테이블과 관계가 있었던 참조되는 제약조건에 대해서도 삭제한다는 뜻, 복구X
ALTER TABLE 테이블명 DROP COLUMN 삭제할 컬럼명;
테이블 자체가 삭제되는 것이 아니고, 해당테이블에 들어있던 모든 행들이 제거되는 것(데이터만 제거). 기존에 사용하던 테이블의 모든 로우를 제거하기 위한 명령어
TRUNCATE TABLE 테이블명 DROP COLUMN 삭제할 컬럼명;
DDL 명령어의 경우 실행시 AUTO COMMIT 하지만 DML의 경우 COMMIT을 입력해야 한다. 단, SQL Server의 경우 DML도 AUTO COMMIT
INSERT INTO 테이블명 (COLUMN_LIST)
VALUES (COLUMN_LIST에 넣을 VALUE_LIST);
INSERT INTO 테이블명
VALUES (전체 COLUMN에 넣을 VALUE_LIST);
UPDATE 테이블명
SET 수정되어야 할 칼럼명 = 수정되기를 원하는 새로운 값;
WHERE 절을 사용하지 않는다면 테이블의 전체 데이터가 삭제
DELETE [FROM] 삭제를 원하는 정보가 들어있는 테이블명;
SELECT [ALL/DISTINCT] 보고 싶은 칼럼명, 보고 싶은 칼럼명, ...
FROM 해당 칼럼들이 있는 테이블명;
- ALL : Default 옵션이므로 별도로 표시하지 않아도 된다. 중복된 데이터가 있어도 모두
출력한다.
- DISTINCT : 중복된 데이터가 있는 경우 1건으로 처리해서 출력한다.
- ALIAS 부여 : 조회된 결과에 별명(ALIAS, ALIASES)을 부여하여 칼럼 레이블은 변경 가능. 칼럼명 바로 뒤에 온다. 칼럼명과 ALIAS 사이에 AS 키워드 사용 가능 (선택)
DB의 논리적 연산 단위, 하나 이상의 SQL문을 포함
올바르게 반영된 데이터를 데이터베이스에 반영시키는 것
트랜잭션 시작 이전의 상태로 되돌리는 것
저장점(SAVEPOINT)을 정의하면 롤백(ROLLBACK)할 때 트랜잭션에 포함된 전체 작업을 롤백하는 것이 아니라 현 시점에서 SAVEPOINT까지 트랜잭션의 일부만 롤백
SAVEPOINT SVPT1;
저장점이 생성되었다.
INSERT INTO PLAYER
(PLAYER_ID, TEAM_ID, PLAYER_NAME, POSITION, HEIGHT, WEIGHT, BACK_NO)
VALUES ('1999035', 'K02', '이운재', 'GK', 182, 82, 1);
1개의 행이 만들어졌다.
ROLLBACK TO SVPT1;
롤백이 완료되었다.
데이터 전문가 지식포털 참고