Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- national instruments
- 해시
- 블록체인강의
- 2차원배열정렬
- 우선순위큐
- javascript
- 자바스크립트
- 단국대학교 k-mooc
- html 태그
- attribute
- Entity
- StringTokenizer
- StringBuilder
- html기초
- 자바입력받기
- Node
- 자바문자열구분
- 시스템프로그래밍
- biginteger사용법
- CSS 기초
- 블록체인
- stringreader
- 힙
- 컴파일시스템
- 자료구조
- 혁신의기술2:신뢰의미래 블록체인을 만나다
- K-MOOC
- 블록체인 강의
- 자바
- K-MOOC 단국대학교 홍보단
Archives
- Today
- Total
열정 실천
003. SQL - DDL 데이터 정의어 CREATE, ALTER, DROP 본문
728x90
DDL (Data Define Language)
DB구조, 데이터 형식, 접근 방식 등 DB를 구축하거나 수정하는데 사용하는 언어
DML (Data Manipulation Language)
저장된 데이터를 실직적으로 관리하는데 사용하는 언어
DCL (Data Control Language)
데이터의 보안, 무결성, 회복, 병행 제어 등을 정의하는데 사용하는 언어
CREATE | SCHEMA, DOMAIN, TABLE, VIEW, INDEX 정의 |
ALTER | TABLE에 대한 정의 변경 |
DROP | SCHEMA, DOMAIN, TABLE, VIEW, INDEX 삭제 |
CREATE 문
Syntax
CREATE TABLE 테이블명
( 속성 명 데이터 타입 | 제약조건
속성 명 데이터 타입 | 제약조건
....
[PRIMARY KEY (기본키인 속성명)]
[FOREIGN KRY (외래키인 속성명) REFERENCE 테이블명(속성명)
) ;
▶ 데이터 타입
문자형 | CHAR, VARCHAR, TEXT, MEDIUMTEXT, LONGTEXT, JASON |
숫자형 | TINYINT, SMALLINT, MEDIUMINT, INT, BIGINT, FLOAT, DECIMAL, DOUBLE |
날짜형 | DATE, TIME, DATETIME, TIMESTAMP, YEAR |
이진 데이터형 | BINARY, VARBINARY, TINYBLOB, BLOB |
▶ 제약조건
NOT NULL | NULL값을 허용하지 않고, 반드시 데이터를 입력. 제약조건이 NULL이면 해당 컬 럼은 NULL값을 허용. |
UNIQUE | 해당 칼럼이 중복되는 데이터가 존재할 수 없는 유일성을 보장하는 제약조건 |
PRIMARY KEY | NOT NULL, UNIQUE 제약 조건의 결합과 같다. 테이블 또는 뷰는 단 한 개의 PRIMARY KEY 제약조건을 가짐 |
FORIEGN KEY | 같은 테이블 또는 서로 다른 두 개 테이블의 키 컬럼 사이의 관계 |
CREATE TABLE EMPLOYEE
( Fname VARCHAR(10) NOT NULL,
Minit CHAR,
Lname VARCHAR(20) NOT NULL,
Ssn CHAR(9) NOT NULL,
Bdate DATE,
Address VARCHAR(30),
Sex CHAR(1),
Salary DECIMAL(5),
Super_ssn CHAR(9),
Dno INT NOT NULL,
PRIMARY KEY (Ssn),
FOREIGN KEY (Super_ssn) REFERENCES EMPLOYEE (ssn));
테이블 생성 후 DESCRIBE 명령어로 확인 가능 DESC EMPLOYEE;
▶ CREATE INDEX 인덱스 생성하기
CREATE [UNIQUE] INDEX 인덱스명
ON 테이블명
( 속성 명 [ASC | DESC] [,속성명 [ASC | DESC]])
[CLUSTER];
- UNIQUE : 중복 값이 없는 속성으로 인덱스 생성
- CLUSTER : 사용하면 인덱스가 클러스터드 인덱스로 설정
ALTER 문
Syntax
속성 추가
ALTER TABLE 테이블명
ADD(추가할컬럼명, 데이터타입);
속성 수정
ALTER TABLE 테이블명
MODIFY (컬럼명 데이터 타입
컬럼명 데이터 타입
... );
속성 삭제
ALTER TABLE 테이블명
DROP COLUMN 컬럼명
ALTER TABLE EMPLOYEE
MODIFY Fname varchar(20);
EMPLOYEE테이블의 Fname 속성의 데이터 타입이 VARCHAR(10)으로 변경
DROP 문
Syntax
DROP SCHEMA 스키마명 [CASCADE | RESTRICT]
DROP TABLE 테이블명 [CASCADE | RESTRICT]
DROP VIEW 뷰명 [CASCADE | RESTRICT]
DROP INDEX 인덱스명 [CASCADE | RESTRICT]
DROP DOMAIN 도메인명 [CASCADE | RESTRICT]
DROP CONSTRAINT 제약조건명 [CASCADE | RESTRICT]
- CASCADE : 제거할 요소를 참조하는 다른 모든 개체를 함께 제거
- RESTRICT : 다른 개체가 제거할 요소를 참조중일 때는 제거를 취소
VIEW 만들어보기
VIEW : 원하는 데이터만 볼 수 있게 만든 데이터 조합
장점
- 접근 제어로 보안 제공
- 데이터 관리 용이
단점
- 삽입, 삭제, 갱신, 연산에 제약
부서번호가 5인 사원의 SSN, 이름이 포함된 뷰를 생성
CREATE VIEW EMP5
AS SELECT Ssn, Fname, Lname
FROM EMPLOYEE
WHERE Dno = 5;
현재 생성된 database나 table 목록을 보려면?!
SHOW DATABASES;
SHOW TABLES;
table의 속성값들을 보려면?!
DESC 테이블명;
728x90
'CS > DATABASE' 카테고리의 다른 글
006. SQL - DCL 데이터 조작어 COMMIT, ROLLBACK, GRANT, REVOKE + SAVEPOINT, ROLE (1) | 2024.09.24 |
---|---|
005. SQL - DML 데이터 조작어 _ 연산 및 SQL함수(산술,문자,집계), GROUP BY (0) | 2024.09.24 |
004. SQL - DML 데이터 조작어 SELECT, INSERT, DELETE, UPDATE (0) | 2024.09.24 |
002. 데이터 베이스 설계 - 개념적 설계 _ E-R 다이어그램 (ERD, EERD) (2) | 2024.09.21 |
001. 데이터베이스 개요 (1) | 2024.09.21 |