생성, 수정, 삭제를 통하여 항상 최신의 데이터를 유지한다.
사용자들이 원하는 데이터를 동시에 공유할 수 있다.
사용자가 원하는 데이터를 주소가 아닌 내용에 따라 참조 할 수 있다.
응용프로그램과 데이터베이스는 독립되어 있으므로, 데이터의 논리적 구조와 응용프로그램은 별개로 동작된다.
종류 | 명령어 |
---|---|
DDL | CREATE, ALTER, DROP, TRUNCATE, COMMENT, RENAME |
DML | SELECT, INSERT, UPDATE, DELETE, MERGE, CALL, EXPLAIN PLAN, LOCK TABLE |
DCL | GRANT, REVOKE |
TCL | COMMIT, ROLLBACK, SAVEPOINT, SET TRANSACTION |
데이터 타입
SQL에서 사용할 수 있는 데이터 타입의 종류는 많지만, 그 중에 자주 쓰일 법한 데이터 타입을 정리해보았다. - Data Type 참고
문법 | 최대 크기 | 설명 |
---|---|---|
VARCHAR(size) | 255자 | 255자의 문자를 저장한다. 문자열의 길이는 가변적이다. |
INT(m) | 표준 integer 값. -2147483648 ~ 2147483647. | m은 정수의 크기가 아닌 자릿수 개수이다. |
BIGINT(m) | 큰 integer 값. -9223372036854775808 ~ 9223372036854775807 | m은 정수의 크기가 아닌 자릿수 개수이다. |
FLOAT(m,d) | 단일 정밀 부동 소수점 숫자 | m은 정수 자릿수, d는 소수점 아래 자릿수 개수이다. |
DATE | ‘1000-01-01’ ~ ‘9999-12-31’ | ‘YYYY-MM-DD’로 표기된다. |
TIME | ‘-838:59:59’ ~ ‘838:59:59’ | ‘HH:MM:SS’로 표기된다. |
DDL - Data Definition Language (데이터 정의 언어)
DML - Data Manipulation Language (데이터 조작 언어)
DCL - Data Control Language (데이터 제어 언어)
CREATE | 데이터베이스 내 개체 (테이블, 인덱스 제약조건, 프로시저, 펑션 등)을 생성 할 때 |
---|---|
DROP | 데이터베이스내 개체를 삭제할 때 |
ALTER | 데이터베이스 내 개체의 속성 및 정의를 변경할 때 |
RENAME | 데이터베이스내 개체의 이름을 변경 할 때 |
TRUNCATE | 테이블 내 모든 데이터를 빠르게 삭제할 때 |
DLL 명령문의 예문들
#CREATE 예문
CREATE TABLE My_table(
my_field1 INT,
my_field2 VARCHAR(50),
my_field3 DATE NOT NULL,
PRIMARY KEY (my_field1, my_field2)
);
#ALTER 예문
ALTER TABLE My_table ADD my_field4 NUMBER(3) NOT NULL;
#DROP 예문
DROP TABLE My_table;
#TRUNCATE 예문
TRUNCATE TABLE My_table;
#RENAME 예문
ALTER TABLE WEX001H RENAME TO TMP_WEX001H_20171029175532;
INSERT | 특정 테이블에 데이터를 신규로 삽입할 때 |
---|---|
UPDATE | 특정 테이블 내 데이터의 전체, 또는 일부를 새로운 값으로 갱신 할 때 |
DELETE | 특정 테이블 내 데이터의 전체, 또는 일부를 삭제할 때 |
SELECT | 특정 테이블 내 데이터의 전체 또는 일부를 획득할 때 |
DML 명령문의 예문
#INSERT 예문1 (특정 컬럼을 선택하여 입력시)
INSERT INTO 테이블명(COLUMN_LIST) VALUES (COLUMN_LIST에 넣을 VALUE_LIST);
#INSERT 예문2(테이블내 모든 컬럼에 값을 입력)
INSERT INTO 테이블명 VALUES (COLUMN에 넣을 VALUE_LIST);
#UPDATE 예문
UPDATE 테이블명 SET 컬럼명 = '갱신할 값' WHERE... ;
#DELETE 예문
DELETE FROM 테이블명 WHERE... ;
#SELECT 예문
SELECT 컬럼리스트 FROM 테이블명 WHERE... ;
GRANT | 데이터베이스 사용자에게 특정 작업의 수행 권한을 부여할 때 |
---|---|
REVOKE | 데티어베이스 사용자에게 부여권 수행 권한을 박탈할 때 |
SET TRANSACTION | 트랜잭션 모드로 설정 할 때 |
BEGIN | 트랜잭션의 시작을 의미 |
COMMIT | 트랜잭션을 실행 할 때 |
ROLLBACK | 트랜잭션을 취소 할 때 |
SAVEPOINT | 롤백 지점을 설정 할 때 |
LOCK | 테이블 자원을 점유 할 때 |
DCL명령문의 예문
#GRANT 예문
GRANT SELECT ON SCOTT.EMP TO EXPERT
#REVOKE 예문
REVOKE 뻇을권한 ON 객체이름 FROM 누구
출처: https://stricky.tistory.com/202 [The DataBase that i am good at]
https://opentutorials.org/course/3161