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 | 31 |
Tags
- oauth2
- 알고리즘 #백준 #1717
- MariaDB
- docker
- 백준
- interrupt
- dml
- greedy
- DDL
- constraints
- DBCP
- aws
- Operating System
- Git
- 알고리즘
- hikaricp
- error
- Spring
- database
- 협업
- springboot
- DataSource
- GPG
- ConnectionPool
- MySQL
- JDBC
- where
- Transaction
- OS
- select
Archives
- Today
- Total
did_story
[MySQL / DDL] CREAET 부터 MODIFY 까지! (제약 조건 x) 본문
데이타베이스 기초부터 저자가 보고 정리하기 위해 쓴 글임을 밝힙니다.
CREATE
새로운 데이타 베이스나 테이블을 만드는데 사용한다.
CREATE DATABASE newDatabase;
❓: newDatabase란 이름의 데이타 베이스를 만들겠다.
CREATE TABLE newDatabase.Products (
id INT PRIMARY KEY,
name VARCHAR(255),
price DECIMAL(10, 2)
);
❓: newDatabase의 Products라는 table 생성.
CREATE TABLE newDatabase.Products AS
SELECT * FROM oldDatabase.Products;
❓: oldDatabase.Products 테이블의 데이터를 가져와 newDatabase.Products 에 새 테이블로 복사합니다.
- 이는 특정 column만 불러올 수 도 있다
( '*' → 다른 column // 으로 대체한다면!)
CREATE TABLE newDatabase.Product
LIKE oldDatabase.Product;
❓: 이 명령은 oldDatabase.Products의 스키마만 복사합니다. 데이터는 포함되지 않습니다! 신기하죠?!
DROP
이미 존재하는 데이타 베이스나 테이블을 삭제하는데 사용한다.
DROP DATABASE oldDatabase;
❓: oldDatabase를 삭제하겠다!
DROP TABLE oldDatabase.Products;
❓: oldDatabase의 Products table을 삭제하겠다!.
✨ 주의할 점:
- 만약 Product 테이블이 다른 테이블과 Foreign Key 관계를 가지고 있다면, 삭제 시 오류가 발생할 수 있습니다.
- Foreign Key 제약 조건이 있을 경우, 먼저 Foreign Key를 제거해야 합니다:
→ 즉 다른 테이블과의 관계를 끊어 내고 삭제해야한다.
✨ 스키마만 다 삭제하는 방법!
TRUNCATE TABLE Product;
❓: Product table의 모든 스키마를 삭제하겠다. (데이타 유실 가능성이 있다는 것에 생각하니 쓰기 무서워서 안써봤어요.)
ALTER TABLE
- 이미 기존에 있는 테이블에서 열(column)을 추가, 수정, 삭제의 활동을 하는데 사용합니다.
- 기존 테이블에 다양한 제약 조건을 추가하고 삭제하는 데도 사용됩니다.
1. ADD COLUMN
ALTER TABLE Product
ADD Name varchar(255);
❓: Product table에 Name column을 추가하겠다.
2. MODIFY COLUMN
ALTER TABLE Product
MODIFY COLUMN Name varchar(50);
❓: Product table에서 Name의 데이타 타입을 varchar(50)으로 바꾸겠다..!
✨ 데이터가 기존 VARCHAR(50) 길이를 초과하는 경우, 변경 중 오류가 발생할 수 있다는 것을 생각해보아야 합니다!
2. DROP COLUMN
ALTER TABLE Product
DROP COLUMN Name;
❓: Product table에서 Name column을 삭제하겠다.
✨ 일부 데이타 베이스에서는 삭제가 안될 수도 있습니다.
'BackEnd🍃 > DB & SQL' 카테고리의 다른 글
[MySQL / DDL] 제약조건(Constraints)에 관하여 ! (1) | 2025.01.17 |
---|---|
[MySQL / DML] SELECT, 데이터 조회 방법 (2) | 2025.01.07 |
[MariaDB] Docker로 MariaDB 실행 및 접속하기 (3) | 2025.01.03 |