Page 1 of 1

mysql 명령어 끝판왕

Posted: Thu May 30, 2024 10:51 am
by nextagora
MySQL 명령어 가이드

MySQL은 세계에서 가장 인기 있는 오픈 소스 데이터베이스 관리 시스템(DBMS) 중 하나입니다. 이 글에서는 MySQL을 효과적으로 사용하기 위해 알아야 할 주요 명령어들을 상세히 소개하겠습니다. 또한 제약 조건과 데이터 타입에 대해서도 설명합니다.

1. MySQL 접속 및 종료
  • MySQL 서버에 접속: MySQL 서버에 접속하기 위해서는 터미널에 다음 명령어를 입력합니다.

    Code: Select all

    mysql -u 사용자_이름 -p
    이 명령어를 입력하면 비밀번호를 묻는 프롬프트가 나타납니다. 비밀번호를 입력하고 Enter 키를 누르면 MySQL 서버에 접속됩니다.
  • MySQL 서버에서 종료: MySQL 세션을 종료하려면 다음 명령어를 입력합니다.

    Code: Select all

    exit
    또는

    Code: Select all

    quit
2. 데이터베이스 관리 명령어
  • 데이터베이스 생성: 새로운 데이터베이스를 생성하려면 다음 명령어를 사용합니다.

    Code: Select all

    CREATE DATABASE 데이터베이스_이름;
  • 데이터베이스 목록 보기: 서버에 존재하는 모든 데이터베이스 목록을 보려면 다음 명령어를 사용합니다.

    Code: Select all

    SHOW DATABASES;
  • 데이터베이스 선택: 작업할 데이터베이스를 선택하려면 다음 명령어를 사용합니다.

    Code: Select all

    USE 데이터베이스_이름;
  • 데이터베이스 삭제: 데이터베이스를 삭제하려면 다음 명령어를 사용합니다.

    Code: Select all

    DROP DATABASE 데이터베이스_이름;
3. 테이블 관리 명령어
  • 테이블 생성: 새로운 테이블을 생성하려면 다음 명령어를 사용합니다.

    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 새로운_테이블_이름;
4. 데이터 조작 명령어
  • 데이터 삽입: 테이블에 새로운 데이터를 삽입하려면 다음 명령어를 사용합니다.

    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 조건;
5. 사용자 관리 명령어
  • 새로운 사용자 생성: 새로운 사용자를 생성하려면 다음 명령어를 사용합니다.

    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 '사용자_이름'@'호스트';
6. 제약 조건(Constraints) 설명
  • 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
7. 데이터 타입(Data Types) 설명
  • INT: 정수형 데이터 타입입니다.
  • VARCHAR(n): 최대 n 길이의 가변 길이 문자열입니다.
  • TEXT: 긴 문자열 데이터를 저장하는 데 사용됩니다.
  • DATE: 날짜를 저장하는 데 사용됩니다 (YYYY-MM-DD 형식).
  • TIMESTAMP: 날짜와 시간을 저장하는 데 사용됩니다.
  • FLOAT, DOUBLE: 부동 소수점 숫자를 저장하는 데 사용됩니다.
  • DECIMAL(m, d): 고정 소수점 숫자를 저장하는 데 사용됩니다. m은 전체 자릿수, d는 소수 자릿수를 의미합니다.
8. 백업 및 복구 명령어
  • 데이터베이스 백업: 데이터베이스를 백업하려면 터미널에서 다음 명령어를 사용합니다.

    Code: Select all

    mysqldump -u 사용자_이름 -p 데이터베이스_이름 > 백업파일.sql
  • 데이터베이스 복구: 백업 파일을 이용해 데이터베이스를 복구하려면 터미널에서 다음 명령어를 사용합니다.

    Code: Select all

    mysql -u 사용자_이름 -p 데이터베이스_이름 < 백업파일.sql
기타 유용한 팁
  • 명령어 자동 완성: MySQL 명령어를 입력할 때

    Code: Select all

    Tab
    키를 눌러 자동 완성 기능을 사용할 수 있습니다.
  • SQL 쿼리 히스토리: 화살표 키

    Code: Select all

    ,

    Code: Select all

    를 사용하여 이전에 입력한 SQL 명령어를 다시 확인하고 실행할 수 있습니다.
  • MySQL 헬프 명령어: MySQL에서 사용할 수 있는 명령어와 옵션을 확인하려면 다음 명령어를 사용합니다.

    Code: Select all

    help
    또는

    Code: Select all

    \h
  • 쿼리 실행 시간 확인: 쿼리 실행 시간을 확인하려면 쿼리 앞에

    Code: Select all

    SET profiling = 1;
    을 입력하고, 쿼리 실행 후

    Code: Select all

    SHOW PROFILES;
    을 사용합니다.
결론

이 글에서는 MySQL을 효과적으로 사용하기 위해 알아야 할 주요 명령어들과 제약 조건, 데이터 타입, 유용한 팁들을 소개했습니다. 이 명령어들을 익히고 실습하면서 MySQL 데이터베이스 관리 능력을 향상시켜 보세요. 데이터베이스 관리에 성공하시길 바랍니다!