MySQL은 세계에서 가장 인기 있는 오픈 소스 데이터베이스 관리 시스템(DBMS) 중 하나입니다. 이 글에서는 MySQL을 효과적으로 사용하기 위해 알아야 할 주요 명령어들을 상세히 소개하겠습니다. 또한 제약 조건과 데이터 타입에 대해서도 설명합니다.
1. MySQL 접속 및 종료
- MySQL 서버에 접속: MySQL 서버에 접속하기 위해서는 터미널에 다음 명령어를 입력합니다.
이 명령어를 입력하면 비밀번호를 묻는 프롬프트가 나타납니다. 비밀번호를 입력하고 Enter 키를 누르면 MySQL 서버에 접속됩니다.
Code: Select all
mysql -u 사용자_이름 -p
- MySQL 서버에서 종료: MySQL 세션을 종료하려면 다음 명령어를 입력합니다.
또는
Code: Select all
exit
Code: Select all
quit
- 데이터베이스 생성: 새로운 데이터베이스를 생성하려면 다음 명령어를 사용합니다.
Code: Select all
CREATE DATABASE 데이터베이스_이름;
- 데이터베이스 목록 보기: 서버에 존재하는 모든 데이터베이스 목록을 보려면 다음 명령어를 사용합니다.
Code: Select all
SHOW DATABASES;
- 데이터베이스 선택: 작업할 데이터베이스를 선택하려면 다음 명령어를 사용합니다.
Code: Select all
USE 데이터베이스_이름;
- 데이터베이스 삭제: 데이터베이스를 삭제하려면 다음 명령어를 사용합니다.
Code: Select all
DROP DATABASE 데이터베이스_이름;
- 테이블 생성: 새로운 테이블을 생성하려면 다음 명령어를 사용합니다.
Code: Select all
CREATE TABLE 테이블_이름 ( 열1 데이터_타입 제약조건, 열2 데이터_타입 제약조건, ... );
예시:Code: Select all
CREATE TABLE users ( id INT AUTO_INCREMENT PRIMARY KEY, username VARCHAR(50) NOT NULL, email VARCHAR(100) UNIQUE, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP );
- 테이블 목록 보기: 데이터베이스에 존재하는 모든 테이블 목록을 보려면 다음 명령어를 사용합니다.
Code: Select all
SHOW TABLES;
- 테이블 구조 보기: 특정 테이블의 구조를 보려면 다음 명령어를 사용합니다.
Code: Select all
DESCRIBE 테이블_이름;
- 테이블 삭제: 테이블을 삭제하려면 다음 명령어를 사용합니다.
Code: Select all
DROP TABLE 테이블_이름;
- 테이블 이름 변경: 테이블의 이름을 변경하려면 다음 명령어를 사용합니다.
Code: Select all
RENAME TABLE 기존_테이블_이름 TO 새로운_테이블_이름;
- 데이터 삽입: 테이블에 새로운 데이터를 삽입하려면 다음 명령어를 사용합니다.
Code: Select all
INSERT INTO 테이블_이름 (열1, 열2, ...) VALUES (값1, 값2, ...);
- 데이터 조회: 테이블에서 데이터를 조회하려면 다음 명령어를 사용합니다.
Code: Select all
SELECT 열1, 열2, ... FROM 테이블_이름 [WHERE 조건];
- 데이터 업데이트: 테이블의 데이터를 수정하려면 다음 명령어를 사용합니다.
Code: Select all
UPDATE 테이블_이름 SET 열1 = 새로운_값1, 열2 = 새로운_값2, ... WHERE 조건;
- 데이터 삭제: 테이블에서 데이터를 삭제하려면 다음 명령어를 사용합니다.
Code: Select all
DELETE FROM 테이블_이름 WHERE 조건;
- 새로운 사용자 생성: 새로운 사용자를 생성하려면 다음 명령어를 사용합니다.
Code: Select all
CREATE USER '사용자_이름'@'호스트' IDENTIFIED BY '비밀번호';
- 사용자 권한 부여: 특정 사용자에게 권한을 부여하려면 다음 명령어를 사용합니다.
Code: Select all
GRANT 권한1, 권한2 ON 데이터베이스_이름.* TO '사용자_이름'@'호스트';
- 권한 적용: 변경된 권한을 적용하려면 다음 명령어를 사용합니다.
Code: Select all
FLUSH PRIVILEGES;
- 사용자 삭제: 사용자를 삭제하려면 다음 명령어를 사용합니다.
Code: Select all
DROP USER '사용자_이름'@'호스트';
- 사용자 권한 확인: 특정 사용자의 권한을 확인하려면 다음 명령어를 사용합니다.
Code: Select all
SHOW GRANTS FOR '사용자_이름'@'호스트';
- PRIMARY KEY: 각 행을 고유하게 식별하는 열 또는 열 집합입니다. 기본 키는 null 값을 가질 수 없습니다.
Code: Select all
id INT AUTO_INCREMENT PRIMARY KEY
- FOREIGN KEY: 다른 테이블의 기본 키를 참조하는 열입니다. 외래 키는 두 테이블 간의 관계를 정의합니다.
Code: Select all
FOREIGN KEY (외래키_열) REFERENCES 참조_테이블(기본키_열)
- UNIQUE: 열의 모든 값이 고유하도록 보장합니다.
Code: Select all
email VARCHAR(100) UNIQUE
- NOT NULL: 열이 null 값을 가질 수 없도록 합니다.
Code: Select all
username VARCHAR(50) NOT NULL
- DEFAULT: 열에 기본값을 설정합니다.
Code: Select all
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
- INT: 정수형 데이터 타입입니다.
- VARCHAR(n): 최대 n 길이의 가변 길이 문자열입니다.
- TEXT: 긴 문자열 데이터를 저장하는 데 사용됩니다.
- DATE: 날짜를 저장하는 데 사용됩니다 (YYYY-MM-DD 형식).
- TIMESTAMP: 날짜와 시간을 저장하는 데 사용됩니다.
- FLOAT, DOUBLE: 부동 소수점 숫자를 저장하는 데 사용됩니다.
- DECIMAL(m, d): 고정 소수점 숫자를 저장하는 데 사용됩니다. m은 전체 자릿수, d는 소수 자릿수를 의미합니다.
- 데이터베이스 백업: 데이터베이스를 백업하려면 터미널에서 다음 명령어를 사용합니다.
Code: Select all
mysqldump -u 사용자_이름 -p 데이터베이스_이름 > 백업파일.sql
- 데이터베이스 복구: 백업 파일을 이용해 데이터베이스를 복구하려면 터미널에서 다음 명령어를 사용합니다.
Code: Select all
mysql -u 사용자_이름 -p 데이터베이스_이름 < 백업파일.sql
- 명령어 자동 완성: MySQL 명령어를 입력할 때 키를 눌러 자동 완성 기능을 사용할 수 있습니다.
Code: Select all
Tab
- SQL 쿼리 히스토리: 화살표 키 ,
Code: Select all
↑
를 사용하여 이전에 입력한 SQL 명령어를 다시 확인하고 실행할 수 있습니다.Code: Select all
↓
- MySQL 헬프 명령어: MySQL에서 사용할 수 있는 명령어와 옵션을 확인하려면 다음 명령어를 사용합니다.
또는
Code: Select all
help
Code: Select all
\h
- 쿼리 실행 시간 확인: 쿼리 실행 시간을 확인하려면 쿼리 앞에 을 입력하고, 쿼리 실행 후
Code: Select all
SET profiling = 1;
을 사용합니다.Code: Select all
SHOW PROFILES;
이 글에서는 MySQL을 효과적으로 사용하기 위해 알아야 할 주요 명령어들과 제약 조건, 데이터 타입, 유용한 팁들을 소개했습니다. 이 명령어들을 익히고 실습하면서 MySQL 데이터베이스 관리 능력을 향상시켜 보세요. 데이터베이스 관리에 성공하시길 바랍니다!