기능: 데이터베이스 객체를 생성(테이블, 데이터베이스, 뷰 등).
-- 데이터베이스 생성
CREATE DATABASE my_database;
-- 테이블 생성
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
email VARCHAR(100) UNIQUE,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
기능: 기존의 데이터베이스 객체를 수정(컬럼 추가, 삭제, 변경 등).
-- 테이블에 새로운 컬럼 추가
ALTER TABLE users ADD age INT;
-- 기존 컬럼 이름 변경
ALTER TABLE users CHANGE age user_age INT;
-- 컬럼 삭제
ALTER TABLE users DROP COLUMN user_age;
기능: 데이터베이스 객체를 삭제.
주의: 삭제된 객체는 복구가 불가능하니 신중히 사용!
-- 데이터베이스 삭제
DROP DATABASE my_database;
-- 테이블 삭제
DROP TABLE users;
기능: 테이블의 데이터를 모두 삭제하면서 구조는 유지. (더 빠르고, 롤백 불가)
TRUNCATE TABLE users;
기능: 데이터베이스 객체의 이름을 변경.
-- 테이블 이름 변경
RENAME TABLE users TO members;
기능: 특정 데이터베이스를 사용하도록 지정.
USE my_database;
기능: 데이터베이스나 테이블의 구조를 확인.
-- 데이터베이스 목록 보기
SHOW DATABASES;
-- 테이블 목록 보기
SHOW TABLES;
-- 테이블 구조 보기
SHOW COLUMNS FROM users;
-- 특정 설정 확인
SHOW VARIABLES LIKE 'autocommit';
기능: 테이블의 구조를 확인.
DESCRIBE users;
기능: 특정 컬럼에 인덱스를 생성하여 검색 성능 향상.
CREATE INDEX idx_name ON users (name);
기능: 생성한 인덱스를 삭제.
DROP INDEX idx_name ON users;