✅ 1. MySQL 접속
mysql -u 사용자이름 -p
→ 비밀번호 입력 후 접속
OS 인증 방식(auth_socket)
→ sudo mysql 로 접속하며, 비밀번호 없이 인증됨.
✅ 2. 데이터베이스 관련 명령어
명령어설명
| SHOW DATABASES; | 모든 데이터베이스 목록 보기 |
| CREATE DATABASE db이름; | 새 데이터베이스 생성 |
| DROP DATABASE db이름; | 데이터베이스 삭제 (주의!) |
| USE db이름; | 사용할 데이터베이스 선택 |
✅ 3. 테이블 관련 명령어
명령어설명
| SHOW TABLES; | 현재 DB의 테이블 목록 보기 |
| DESCRIBE 테이블명; | 테이블 구조 확인 (컬럼, 타입 등) |
| DROP TABLE 테이블명; | 테이블 삭제 (주의!) |
📋 테이블 만드는 법 (CREATE TABLE)
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(50) NOT NULL,
email VARCHAR(100),
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
💡 설명
컬럼명타입설명
| id | INT | 자동 증가하는 기본키 |
| username | VARCHAR(50) | 최대 50자, NULL 불가 |
| VARCHAR(100) | 이메일 주소 | |
| created_at | TIMESTAMP | 기본값으로 현재 시간 저장 |
🧪 데이터 삽입 / 조회 예제
-- 데이터 삽입
INSERT INTO users (username, email) VALUES ('alice', 'alice@example.com');
-- 데이터 조회
SELECT * FROM users;
-- 조건부 조회
SELECT * FROM users WHERE username = 'alice';
INSERT INTO users (username, email) VALUES ('alice', 'alice@example.com');
-- 데이터 조회
SELECT * FROM users;
-- 조건부 조회
SELECT * FROM users WHERE username = 'alice';
함수설명 : 날자를 함수로 입력할 때 다음처럼 사용하세요 대소문자 안가립니다
| CURDATE() | 현재 날짜 (형식: 'YYYY-MM-DD') |
| CURRENT_DATE | CURDATE()의 또 다른 이름 |
| NOW() | 현재 날짜와 시간 ('YYYY-MM-DD HH:MM:SS') |
| CURRENT_TIMESTAMP | NOW()과 동일 |
🛠️ ALTER TABLE 기본 구조
ALTER TABLE 테이블명 수정작업;
🔧 컬럼 추가 (ADD COLUMN)
ALTER TABLE users ADD COLUMN age INT;
👉 users 테이블에 age라는 정수형 컬럼을 추가
✏️ 컬럼 이름/타입 변경 (CHANGE COLUMN 또는 MODIFY COLUMN)
✅ 이름 + 타입 둘 다 바꾸기 (CHANGE)
ALTER TABLE users CHANGE COLUMN age user_age INT;
👉 age를 user_age로 이름 변경하면서, 타입도 변경 가능
⚠ CHANGE COLUMN은 기존 컬럼 이름과 새 컬럼 이름 모두 명시해야 함
✅ 타입만 바꾸기 (MODIFY)
ALTER TABLE users MODIFY COLUMN user_age VARCHAR(3);
👉 user_age 컬럼을 문자열로 변경
❌ 컬럼 삭제 (DROP COLUMN)
ALTER TABLE users DROP COLUMN user_age;
👉 user_age 컬럼을 완전히 삭제 (되돌릴 수 없음!!)
🧱 기본키 또는 제약 조건 추가/삭제
기본키 추가
ALTER TABLE users ADD PRIMARY KEY (id);
UNIQUE 제약 조건 추가
ALTER TABLE users ADD UNIQUE (email);
NOT NULL 추가
ALTER TABLE users MODIFY COLUMN email VARCHAR(100) NOT NULL;
📋 전체 예제 모음
-- 1. 컬럼 추가
ALTER TABLE users ADD COLUMN phone VARCHAR(20);
-- 2. 컬럼 이름과 타입 변경
ALTER TABLE users CHANGE COLUMN phone contact_number VARCHAR(30);
-- 3. 타입만 변경
ALTER TABLE users MODIFY COLUMN contact_number TEXT;
-- 4. 컬럼 삭제
ALTER TABLE users DROP COLUMN contact_number;
ALTER TABLE users ADD COLUMN phone VARCHAR(20);
-- 2. 컬럼 이름과 타입 변경
ALTER TABLE users CHANGE COLUMN phone contact_number VARCHAR(30);
-- 3. 타입만 변경
ALTER TABLE users MODIFY COLUMN contact_number TEXT;
-- 4. 컬럼 삭제
ALTER TABLE users DROP COLUMN contact_number;
🎯 마무리 팁
- 세미콜론 ; 빼먹으면 명령이 끝나지 않음
- NULL 허용 여부, DEFAULT 값 설정 → 나중에 에러 피하기 위해 중요
- MySQL 워크벤치나 DBeaver 같이 시각적 도구도 병행하면 편리함
'mysql' 카테고리의 다른 글
| MySQL에서 사용할 수 있는 주요 데이터 타입 (1) | 2025.04.22 |
|---|---|
| MYSQL 비밀번호 설정과 ROOT 로그인 설정 (0) | 2025.04.22 |
| MySQL 사용자 계정 관리 사용자 조회 / 추가 / 권한 설정 / 삭제 (0) | 2025.04.21 |
| 파이썬으로 mysql 연동 예제 (0) | 2025.04.21 |
| MYSQL 설치 (0) | 2025.04.19 |