DDL 종류
CREATE, ALTER, DROP, RENAME, TRUNCATE
1. users 테이블에 phone 컬럼 추가 (가변길이 15)
ALTER TABLE users
ADD COLUMN phone VARCHAR(15)
2. products 테이블의 price 컬럼의 데이터 타입 변경 (전체 자릿수가 12자리이고 소수점 이하가 2자리인 소수형 데이터)
ALTER TABLE products
MODIFY COLUMN price DECIMAL(12, 2)
3. users 테이블의 phone 컬럼의 이름을 phone_number 로 변경 (가변길이 20)
ALTER TABLE users
CHANGE COLUMN phone phone_number VARCHAR(20)
4. products 테이블의 stock 컬럼의 기본값을 100으로 변경
ALTER TABLE products
ALTER COLUMN stock SET DEFAULT 100
5. products 테이블의 price 컬럼의 타입을 DECIMAL(10, 2)로 변경
ALTER TABLE products
ALTER COLUMN price SET DATA TYPE DECIMAL(10, 2)
6. products 테이블의 price 컬럼의 기본값을 제거
ALTER TABLE products
ALTER COLUMN price DROP DEFAULT
7. products 테이블의 price 컬럼을 NOT NULL 로 설정
ALTER TABLE products
ALTER COLUMN price SET NOT NULL
8. products 테이블의 price 컬럼의 NOT NULL 제약조건을 제거
ALTER TABLE products
ALTER COLUMN price DROP NOT NULL
9. orders 테이블 삭제
DROP TABLE orders
10. shop_db 데이터베이스 삭제
DROP DATABASE shop_db
11. users 의 테이블 데이터 초기화
TRUNCATE TABLE users
12. products 테이블 이름을 product_list로 변경
ALTER TABLE products
RENAME TO product_list
13. users 테이블의 user_id 에 기본키 설정
ALTER TABLE users
ADD PRIMARY KEY (user_id)
14. users 테이블의 user_id 기본키 해제
ALTER TABLE users
DROP PRIMARY KEY
15. orders 테이블에 users 테이블의 user_id를 외래키로 설정(외래키 제약 조건 이름 : fk_user)
ALTER TABLE orders
ADD CONSTRAINT fk_user
FOREIGN KEY (user_id) REFERENCES users(user_id)
16. 테이블 만들기
회원 테이블
CREATE TABLE users (
user_id INT AUTO_INCREMENT PRIMARY KEY,
nickname VARCHAR(50) NOT NULL,
email VARCHAR(100) UNIQUE NOT NULL,
password VARCHAR(255) NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
상품 테이블
CREATE TABLE products (
product_id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100) NOT NULL,
price DECIMAL(10, 2) NOT NULL,
stock INT NOT NULL DEFAULT 0,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
주문 테이블
CREATE TABLE orders (
order_id INT AUTO_INCREMENT PRIMARY KEY,
user_id INT,
product_id INT,
quantity INT NOT NULL,
order_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (user_id) REFERENCES users(user_id),
FOREIGN KEY (product_id) REFERENCES products(product_id)
);
'MySql' 카테고리의 다른 글
DML 연습 (select 제외) (0) | 2025.05.13 |
---|---|
DCL 문제 (0) | 2025.05.13 |
기존에 있던 테이블을 사용하여 ER 다이어그램 만드는 법 (0) | 2024.11.02 |