본문 바로가기
프로그래밍/개발 이야기

[MySql] 사용법 및 명령어 총정리

by JR2 2021. 12. 14.

MySql 관련 모든 정보들을 이 포스팅에 총정리 할 것이다.

한국판 Cheat Sheet를 만들어 봐야겠다.

 


 

Database의 구조

출처 : 생활코딩

 


 

다운로드 for Windows

다운로드 for Mac

  1. https://dev.mysql.com/downloads/mysql/ 링크 접속 후 본인의 OS에 맞게 다운로드.
  2. Command + Space를 눌러서 시스템 환경설정에 진입. MySQL이 생겼다면 설치완료.
    MySQL이 생긴 모습
  3. MySQL 아이콘을 선택해서 서버를 실행시킨다.
  4. Terminal을 키고, MySql이 설치된 디렉토리로 이동.
    cd /usr/local/mysql-8.0.27-macos11-arm64/bin
    내 PC는 위와 같은 경로로 접근하면 된다. 버전별안의 bin 폴더에 잘 찾아가도록 하자.
  5. MySQL 실행 및 로그인
    ./mysql -uroot -p​
    위의 명령어를 입력하면, Enter Password : 🔑 라고 뜰 것이다. 그때 password를 살짝쿵 입력해주면 된다.(에러는 여기참고)
  6.  mysql> 라고 나오면 환경세팅이 완료된 것이다.

 


 

Database

1. Database 생성

CREATE DATABASE test_db default CHARACTER SET UTF8;

위와 같이 입력을 하면, test_db라는 Database가 생긴다.

그리고 test_db는 Character Set(문자 셋)이 UTF8로 설정되었다. (생략가능)

Collate(정렬 방식)도 설정해줄 수 있다.(생략가능)

 

2. Database 목록 보기

SHOW DATABASES;

만들어진 Database의 목록을 보기 위해서 입력하는 명령어이다.

입력하게 되면, 우리가 아까 추가한 test_db라는 database가 있을 것이다.

 

3. Database 선택

USE test_db;

이미 만들어져 있는 test_db라는 Database를 선택하는 명령어이다.

이 명령어를 통해 test_db Database로 접근할 수 있고, 내부에 Table을 생성할 수 있게 된다.

 

4. Database 이름 변경하기

이미 만들어진 Database의 이름을 수정하기 위해선, 새로운 Database를 만들고 기존의 데이터를 옮겨야 한다. 

아래의 플로우와 같다.

CREATE DATABASE changeTest_db default CHARACTER SET UTF8;
#새로운 Database를 생성한다. 이름은 changeTest_db이다.

USE test_db;
#기존의 Database를 선택한다.

SHOW TABLES;
#test_db의 안에 있는 모든 Table을 출력한다.
#테스트를 위해 만들어놓은 testTable이 존재할 것이다.

RENAME TABLE test_db.testTable TO changeTest_db.testTable;
#test_db의 안에 있는 모든 Table을, changeTest_db에 testTable로 재정의한다.
#이 때 test_db는 생략해도 된다.
# .을 이용하여 Database와 Table을 구분한다.

SHOW TABLES;
#test_db의 안에 있는 모든 Table을 출력한다.
#Empty set 이라고 출력되면, 이동이 잘된 것이다.

USE changeTest_db;
#새로 만든 Database를 선택한다.

SHOW TABLES;
#changeTest_db의 안에 있는 모든 Table을 출력한다.
#testTable이 생겨났을 것이다.

DROP DATABASE test_db;
#기존의 Database는 삭제한다.

 

5. Database 삭제하기

DROP DATABASES test_db;

위와 같이 입력을 하면, test_db라는 Database가 삭제된다.

 


 

TABLE

1. Table 생성

CREATE TABLE testTable(
	id tinyint NOT NULL,
    name char(10) NOT NULL,
    score INT NOT NULL,
    PRIMARY KEY(id)
);

 

2. Table 보기

 

3. Table 수정하기

3-1. Table에 데이터 삽입하기

 

3-2. Table의 데이터 읽기

3-3. Table에 데이터 수정하기

3-4. Table에 데이터 삭제하기

 

4. Table 삭제하기

 


 

MySQL 알아두면 좋을 상식

  • 주석은 #을 이용한다.
    SELECT * FROM TEST1;
    #이 줄은 주석입니다.
    SELECT * FROM TEST2;
    #이 줄은 주석입니다.​
  • MySQL은 기본적으로 대소문자를 구별하지 않는다.
  • MySQL에서는 Schema가 Database라고 완전히 일치한다고 생각하면 된다.

댓글