티스토리 뷰
[한빛아카데미] 오라클로 배우는 데이터베이스 개론과 실습 책으로 학습한 내용을 정리한 것입니다.
* SQL(Structured Query Language)
- 데이터 부속어(Data Sublanguage)라고 있는데, 데이터베이스의 데이터와 메타 데이터를 생성하고 처리하는 문법만 가짐
구분 | SQL | 일반 프로그래밍 언어 |
용도 | 데이터베이스에서 데이터를 추출하여 문제 해결 | 모든 문제 해결 |
입출력 | 입력은 테이블, 출력도 테이블 | 모든 형태의 입출력 가능 |
번역 | DBMS | 컴파일러 |
문법 | SELECT * FROM Book; |
int main() { . . . } |
* 데이터 조작어(DML, Data Manipulation Language)
- 테이블에 데이터를 검색, 삽입, 수정, 삭제하는데 사용하며 SELECT, INSERT, DELETE, UPDATE문 등이 있음
[SELECT 문]
SELECT
[ALL | DISTINCT]
[테이블이름.]{*|속성이름 [[AS] 속성이름별칭]}
[FROM
{테이블이름 [AS 테이블이름별칭]}
[INNER JOIN | LEFT [OUTER] JOIN | RIGHT [OUTER] JOIN
{테이블이름 [ON 검색조건]}
| FULL [OUTER] JOIN {테이블이름}]]
[WHERE 검색조건(들)]
[GROUP BY {속성이름, [..., n]}]
[HAVING 검색조건(들)]
[질의 UNION 질의 | 질의 UNION ALL 질의]
[ORDER BY {속성이름 [ASC | DESC],[..., n]}]
---------------------------------------------------------------------
[] : 대괄호 안의 SQL 예약어들은 선택적으로 사용함
{} : 중괄호 안의 SQL 예약어들은 필수적으로 사용함
| : 선택 가능한 문법들 중 한 개를 사용할 수 있음
[WHERE 조건]
[집계 함수의 종류]
[INSERT 문]
INSERT INTO 테이블이름[(속성리스트)]
VALUES (값리스트);
[UPDATE 문]
UPDATE 테이블이름
SET 속성이름1=값1[, 속성이름2=값2, ...]
[WHERE <검색조간>];
[DELETE 문]
DELETE FROM 테이블이름
[WHERE 검색조건];
* 데이터 정의어(DDL, Data Definition Language)
- 데이터를 저장할 테이블의 구조를 만들 때 사용하는 명령어
[CREATE 문]
CREATE TABLE 테이블이름
( {속성이름 데이터타입
[NULL | NOT NULL | UNIQUE | DEFAULT 기본값 | CHECK 체크조건]
}
[PRIMARY KEY 속성이름(들)]
{FOREIGN KEY 속성이름 REFERENCES 테이블이름(속성이름)]
[ON DELETE {CASCADE | SET NULL}]
}
)
* 속성의 데이터 타입 종류
데이터 타입 | 설명 | ANSI SQL 표전 타입 |
NUMBER(p,s) | 실수형 p자리 정수 부분/s자리 소수 부분, p와 s를 생략하여 NUMBER라고 쓰면 NUMBER(8, 2)로 저장됨 | DECIMAL(p,s) NUMBER[(p,s)] INTEGER, INT SMALLINT |
CHAR(n) | 문자형 고정 길이, 문자를 저장하고 남은 공간은 공백으로 채움 | CHARACTER(n) CHAR(n) |
VARCHAR2(n) | 문자형 가변 길이, 4000Byte까지 저장됨 | CHARACTER VARYING(n) CHAR VARYING(n) |
DATE | 날짜형 연도/월/날/시간을 저장함 |
[ALTER 문]
ALTER TABLE 테이블이름
[ADD 속성이르 데이터타입]
[DROP COLUMN 속성이름]
[MODIFY 속성이름 데이터타입]
[MODIFY 속성이름 데이터타입 [NULL | NOT NULL]]
[ADD PRIMARY KEY(속성이름)]
[[ADD | DROP] 제약이름]
[DROP 문]
DROP TABLE 테이블이름
'개인공부 > 데이터베이스' 카테고리의 다른 글
[데이터베이스] 데이터베이스 프로그래밍 (0) | 2023.12.04 |
---|---|
[데이터베이스] SQL 고급 (0) | 2023.12.04 |
[데이터베이스] 관계대수(Relational Algebra) (0) | 2023.12.04 |
[데이터베이스] 관계 데이터 모델(Relational Data Model) (0) | 2023.12.04 |
[데이터베이스] 데이터베이스 시스템(Database System) (0) | 2023.12.04 |