mySQL

김래영·2020년 6월 23일
0

Backend

목록 보기
7/7
  • 관계형 데이터베이스는 현재 가장 많이 사용되고 있는 데이터베이스의 한 종류이다.
    관계형 데이터 베이스는 엑셀 시트처럼 행과 열이 있는 표 그래프 형태를 가지고 있다.
    하나의 데이터베이스 안에 테이블(table)로 이루어져 있으며, 이 테이블은 키(key)와 값(value)의 관계를 나타낸다. mySQL은 관계형 데이터베이스 중 하나이다. 관계형 데이터베이스의 테이블(table)은 다음 그림처럼 구성된다.

mysql 설치


local

  • 아래 폴더로 이동한다.

    cd /usr/local/mysql/bin
    
  • 루트 유저로 사용하겠다는 명령어를 입력한 후 패스워드를 입력한다.

    ./mysql -uroot -p
    

RDS

  • mysql install

    brew install mysql
  • 데이터베이스 연결

    mysql -u <MASTERUSER> --host 엔드포인트 -P <DBPORT> -p
    
    패스워드 입력
  • 데이터베이스 리스트 보기

    show databases;
  • 데이터베이스 생성하기

    CREATE DATABASE <YOUR DATABASE> default CHARACTER SET UTF8;
  • 데이터베이스 사용하기

    use <DATABASE NAME>
  • 테이블 리스트 확인

    show tables;

datebase 생성


  • 데이터를 생성한다.
CREATE DATABASE <data name>;
  • SHOW DATABASES; 로 데이터베이스가 생성되었는지 확인할 수 있다.
SHOW DATABASES;

![https://velog.velcdn.com/images%2F760kry%2Fpost%2F29013552-9c27-4634-8549-5a58fe3a63fd%2FScreen%20Shot%202020-06-16%20at%202.52.08%20PM.png%5D(https%3A%2F%2Fimages.velog.io%2Fimages%2F760kry%2Fpost%2F29013552-9c27-4634-8549-5a58fe3a63fd%2FScreen%20Shot%202020-06-16%20at%202.52.08%20PM.png)

  • 해당 데이터를 사용하겠다는 명령어를 입력한다.
USE <data name>;

CRUD


table 생성

  • NOT NULL (정보가 없으면 안 된다.)

  • AUTO_INCREMENT (id 값은 자동으로 증가한다.)

  • VARCHAR(사이즈 값) - 사이즈 값만큼의 문자가 저장된다.

  • 아래와 같이 여러 종류의 Data Type이 있다.

  • PRIMARY KEY(id)는 중복을 방지한다.

 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));
  • 테이블 삭제
DROP TABLE <table name>;
RENAME TABLE <databaseName> TO <renameDatabaseName>;

Create


insert

  • 칼럼 만들기

    • INSERT INTO 뒤에 <해당 테이블 네임>과 (괄호 안에 칼럼들을 넣어주고) VALUE (칼럼 순서에 맞는 값들을 넣어준다.)

      INSERT INTO <table name> (title, description, created, author, profile) VALUES('mysql', 'my sql is ....', NOW(), 'raeyoung', 'developer');
      

Read


Select

Update


  • WHERE 문을 꼭 사용해야 한다.
UPDATE <tableName> SET <칼럼이름>=<수정할 값>, <칼럼이름>=<수정할 값> WHERE id=2;

Delete


  • WHERE 문을 꼭 사용해야 한다.

![https://velog.velcdn.com/images%2F760kry%2Fpost%2F004b616f-26c0-4b72-83fb-1acb7d759d84%2FScreen%20Shot%202020-06-16%20at%203.27.10%20PM.png%5D(https%3A%2F%2Fimages.velog.io%2Fimages%2F760kry%2Fpost%2F004b616f-26c0-4b72-83fb-1acb7d759d84%2FScreen%20Shot%202020-06-16%20at%203.27.10%20PM.png)

DELETE FORM topic WHERE id=2;

![https://velog.velcdn.com/images%2F760kry%2Fpost%2Fe03343d0-3897-43da-a721-d25facc8b51b%2FScreen%20Shot%202020-06-16%20at%203.29.01%20PM.png%5D(https%3A%2F%2Fimages.velog.io%2Fimages%2F760kry%2Fpost%2Fe03343d0-3897-43da-a721-d25facc8b51b%2FScreen%20Shot%202020-06-16%20at%203.29.01%20PM.png)

join


  • 각 테이블마다 중복되는 데이터들의 관계를 이어준다.
SELECT * FROM <table1 name> LEFT JOIN <table2 name> ON <table1.id> = <table.exmpleId>;
profile
개발 노트

0개의 댓글