- 관계형 데이터베이스는 현재 가장 많이 사용되고 있는 데이터베이스의 한 종류이다. 관계형 데이터 베이스는 엑셀 시트처럼 행과 열이 있는 표 그래프 형태를 가지고 있다. 하나의 데이터베이스 안에 테이블(table)로 이루어져 있으며, 이 테이블은 키(key)와 값(value)의 관계를 나타낸다. mySQL은 관계형 데이터베이스 중 하나이다. 관계형 데이터베이스의 테이블(table)은 다음 그림처럼 구성된다.
mysql 설치
local
아래 폴더로 이동한다.
1 2
cd /usr/local/mysql/bin
루트 유저로 사용하겠다는 명령어를 입력한 후 패스워드를 입력한다.
1 2
./mysql -uroot -p
RDS
mysql install
1
brew install mysql
데이터베이스 연결
1 2 3
mysql -u <MASTERUSER> --host 엔드포인트 -P <DBPORT> -p 패스워드 입력
데이터베이스 리스트 보기
1
show databases;
데이터베이스 생성하기
1
CREATE DATABASE <YOUR DATABASE> default CHARACTER SET UTF8;
데이터베이스 사용하기
1
use <DATABASE NAME>
테이블 리스트 확인
1
show tables;
datebase 생성
- 데이터를 생성한다.
1
CREATE DATABASE <data name>;
SHOW DATABASES;
로 데이터베이스가 생성되었는지 확인할 수 있다.
1
SHOW DATABASES;
- 해당 데이터를 사용하겠다는 명령어를 입력한다.
1
USE <data name>;
CRUD
table 생성
NOT NULL
(정보가 없으면 안 된다.)AUTO_INCREMENT
(id 값은 자동으로 증가한다.)VARCHAR(사이즈 값)
- 사이즈 값만큼의 문자가 저장된다.아래와 같이 여러 종류의 Data Type이 있다.
PRIMARY KEY(id)
는 중복을 방지한다.
1
2
3
4
5
6
7
8
CREATE TABLE topic(
-> id INT(11) NOT NULL AUTO_INCREMENT,
-> title VARCHAR(100) NOT NULL,
-> description TEXT NULL,
-> created DATETIME NOT NULL,
-> author VARCHAR(15) NULL,
-> profile VARCHAR(200) NULL
-> PRIMARY KEY(id));
- 테이블 삭제
1
DROP TABLE <table name>;
생성한 테이블을 확인할 수 있다.
1
SHOW TABLES;
table 이름을 바꾸는 방법은 아래와 같다.
1
2
RENAME TABLE <databaseName> TO <renameDatabaseName>;
table 구조 확인하기
1
DESC <table name>;
you must reset your password
비밀번호 바꾸는 방법
1
SET PASSWORD = PASSWORD('your password');
Create
insert
- 칼럼 만들기
INSERT INTO 뒤에
<해당 테이블 네임>
과 (괄호 안에 칼럼들을 넣어주고) VALUE (칼럼 순서에 맞는 값들을 넣어준다.)1 2
INSERT INTO <table name> (title, description, created, author, profile) VALUES('mysql', 'my sql is ....', NOW(), 'raeyoung', 'developer');
Read
Select
테이블 전체 확인하기
1
SELECT * FROM < tableName >;
원하는 부분만 데이터 확인하기
1
SELECT <칼럼(id)>, <칼럼(title)> FROM <tableName(topic)> WHERE <칼럼(author)>=<값('raeyoung')>;
- 원하는 부분 정렬한 데이터 확인하기
- id 큰 숫자 순으로 정렬
1
SELECT <컬럼(id)>, <컬럼(title)> FROM <tableName(topic)> WHERE <칼럼(author)>=<값('raeyoung')> ORDER BY id DESC;
limit 부분만큼 데이터 확인하기
1
SELECT <칼럼(id)>, <칼럼(title)> FROM <tableName(topic)> WHERE <칼럼(author)>=<값('raeyoung')> ORDER BY id DESC LIMIT <limit값(2)>;
테이블 구조 확인하기
1
DESC <table name>;
Update
- WHERE 문을 꼭 사용해야 한다.
1
UPDATE <tableName> SET <칼럼이름>=<수정할 값>, <칼럼이름>=<수정할 값> WHERE id=2;
Delete
- WHERE 문을 꼭 사용해야 한다.
1
DELETE FORM topic WHERE id=2;
join
- 각 테이블마다 중복되는 데이터들의 관계를 이어준다.
1
SELECT * FROM <table1 name> LEFT JOIN <table2 name> ON <table1.id> = <table.exmpleId>;