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 |
Tags
- 머신러닝
- SQLD
- 케이티 에이블스쿨 6기 후기
- kt aivle school
- 알고리즘
- 앙상블
- kt 에이블스쿨 기자단
- kt 에이블스쿨 6기 미니 프로젝트
- KT 에이블스쿨
- 프로그래머스
- 케이티 에이블스쿨 6기 ai
- ElasticSearch
- 케이티 에이블스쿨 6기 java
- 엘라스틱서치
- 에이블 기자단
- 데이터 프레임
- 판다스
- 케이티 에이블스쿨 6기
- kt 에이블스쿨 6기 빅프로젝트
- 네트워크
- 케이티 에이블스쿨 기자단
- kt 에이블스쿨 6기
- 구현
- kt 에이블스쿨 6기 ai
- 케이티 에이블스쿨
- KT AIVLE
- 티스토리챌린지
- 파이썬
- 백준
- 오블완
Archives
- Today
- Total
미식가의 개발 일기
[SQLD] 데이터 정의어(DDL) - CREATE, ALTER, DROP, TRUNCATE, RENAME 본문
데이터 정의어(DDL: Data Definition Language):
데이터베이스의 구조(스키마)를 정의하는 언어
💡 CREATE
새로운 데이터베이스, 테이블, 인덱스, 뷰 등을 생성
CREATE TABLE 테이블 이름 (
컬럼명1 데이터타입 [제약조건],
컬럼명2 데이터타입 [제약조건],
컬럼명3 데이터타입 [제약조건]
);
CREATE TABLE users(
id INT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
order_date DATETIME
);
- 테이블 이름, 컬럼명 → 반드시 문자로 시작, 중복 X
- 컬럼 뒤에 데이터 타입은 꼭 지정
- A-Z, a-z, 0-9, _, $, #만 사용 가능
제약조건
- `PRIMARY KEY`: 기본키
- `UNIQUE KEY`: 고유키
- `NOT NULL`: NULL 값 금지
- `CHECK`: 입력 값 범위 제한
- `FOREIGN KEY`: 외래키
테이블명 확인
// Oracle
DESC 테이블명;
// SQL Server
exec sp_help ‘db0.테이블명’
go
💡 ALTER
기존 객체(테이블, 컬럼 등)의 구조를 변경
// 추가
ALTER TABLE 테이블명 ADD 컬럼명 데이터타입;
// 삭제
ALTER TABLE 테이블명 DROP COLUMN 컬럼명;
// 데이터 타입, 제약 조건 변경(Oracle)
ALTER TABLE 테이블명 MODIFY (컬럼명 데이터타입 [DEFAULT] [NOTNULL])
// 데이터 타입, 제약 조건 변경(SQL Server)
ALTER TABLE 테이블명 ALTER COLUMN 컬럼명 데이터타입 [DEFAULT] [NOTNULL]
💡 DROP
데이터베이스, 테이블, 뷰 등을 삭제
// 테이블 삭제
DROP TABLE 테이블명;
- `CASCADE CONSTRAINT`: 참조되는 제약조건도 삭제
💡 TRUNCATE
테이블의 모든 데이터 초기화(구조는 유지)
TRUNCATE TABLE 테이블명;
💡 RENAME
테이블 이름 변경
// Oracle
RENAME 변경 전 테이블명 TO 변경 후 테이블명;
// SQL Server
sp_rename 변경 전 테이블명, 변경 후 테이블명반응형
'SQL' 카테고리의 다른 글
| [SQLD] 조인 (0) | 2025.03.02 |
|---|---|
| [SQLD] GROUP BY, HAVING, ORDER BY 절 (0) | 2025.03.01 |
| [SQLD] SQL 내장 함수 (0) | 2025.03.01 |
| [SQLD] WHERE 절 (0) | 2025.03.01 |
| [SQLD] 데이터 조작어(DML) - INSERT, UPDATE, DELETE, SELECT (0) | 2025.03.01 |