8. 데이터베이스 MySQL 사용법

2024-06-15
Author: 포리

MySQL 서버에 루트 사용자로 접속합니다.

sudo mysql -u root -p

sudo: 관리자 권한으로 명령어를 실행합니다.

mysql: MySQL 셸을 시작하는 명령어입니다.

-u root: root 사용자로 MySQL에 접속합니다.

-p: MySQL 서버에 접속할 때 비밀번호를 묻도록 합니다. 이 명령어를 입력한 후 비밀번호를 입력하라는 프롬프트가 나타납니다.

MySQL 셸에 접속한 후, 다음 명령어를 사용하여 데이터베이스 목록을 확인할 수 있습니다:

SHOW DATABASES;

이 명령어를 실행하면 MySQL 서버에 존재하는 모든 데이터베이스의 목록이 표시됩니다.

예시:

mysql> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mydatabase         |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
5 rows in set (0.00 sec)

이 예제에서는 mydatabase라는 이름의 데이터베이스를 생성합니다.

CREATE DATABASE mydatabase;

생성한 데이터베이스를 사용하도록 선택합니다.

USE mydatabase;

users 테이블을 생성합니다. 이 테이블에는 사용자 이메일, 비밀번호, 생성 날짜를 저장합니다.

CREATE TABLE users (
  id INT AUTO_INCREMENT PRIMARY KEY,
  email VARCHAR(255) NOT NULL UNIQUE,
  password VARCHAR(255) NOT NULL,
  created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

id: 각 사용자를 고유하게 식별하는 자동 증가 정수형 기본 키입니다.

email: 사용자의 이메일 주소로, 255자 이하의 문자열이며 고유합니다. NOT NULL 제약 조건이 적용되어 있어 비어 있을 수 없습니다.

password: 사용자의 비밀번호로, 255자 이하의 문자열입니다. NOT NULL 제약 조건이 적용되어 있어 비어 있을 수 없습니다.

created_at: 사용자가 생성된 시간을 나타내는 타임스탬프입니다. 기본값으로 현재 시간이 설정됩니다.

현재 데이터베이스(mydatabase) 내의 모든 테이블을 확인하려면 다음 명령어를 사용합니다:

SHOW TABLES;

특정 테이블의 구조를 확인하려면 다음 명령어를 사용합니다. 예를 들어, users 테이블의 구조를 확인하려면:

DESCRIBE users;

테이블의 데이터를 조회하려면 다음 명령어를 사용합니다. 예를 들어, users 테이블의 모든 데이터를 조회하려면:

SELECT * FROM users;

MySQL 서버 시작:

sudo service mysql start

MySQL 서버 상태 확인:

sudo service mysql status

MySQL 서버 재시작:

sudo service mysql restart

데이터베이스 포트(기본적으로 3306)를 방화벽에서 허용합니다:

sudo ufw allow 3306/tcp