IT's Jenna

Mysql 기본 본문

Mysql

Mysql 기본

developer Jenna 2021. 1. 21. 11:54

Mysql이란?

 

  • 가장 널리 사용되고 있는 관계형 데이터 베이스 관리 시스템 (RDBMS)
  • 데이터 베이스 관리 시스템은 모든 응용프로그램이 데이터 베이스를 공유할 수 있도록 하는 소프트웨어이다.
  • 해당 소프트웨어는 서버로부터 데이터가 독립될 수 있도록 만들어 준다.
  • Mysql은 공개형 소프트웨어로서 무료로 사용할 수 있다.

Mysql 기본 명령어

 

  1. SELECT
  • SELECT * FROM goods : goods 테이블에서 모든 데이터를 불러온다.
  • SELECT idx, name FROM goods : goods 테이블에서 원하는 항목만 불러온다. 테이블에 노출되면 안 되는 정보가 있을 시에 사용한다.
  • SELECT * FROM goods WHERE idx = 1 : goods 테이블의 index 1번만 불러온다. 특정 조건의 정보만 가져오고 싶을 때 WHERE을 사용한다.
  • SELECT * FROM goods WHERE LIMIT 10 : 첫번째 Index부터 10개의 데이터를 불러온다. 데이터 양이 방대할 때 제한적인 데이터만 가져올 때 사용한다.
  • SELECT * FROM goods WHERE LIMIT 9, 10 : 10번째 줄부터 10개의 데이터를 불러온다. 첫 번째 줄은 0부터 시작한다는 것에 유의해야 한다.
  1. SELECT JOIN

데이터베이스 관리할 때, row값이 필수적으로 있는 column들 끼리 한 테이블을 만들고, row값에 null값이 들어있을 수도 있는 column값들끼리 따로 테이블을 만들어주는 것을 권장한다. 하지만 이런 식으로 column들을 나누다 보면 다른 테이블에 있는 column을 가져와서 사용해야 하는 경우가 생긴다. 이럴 때 SLECT JOIN을 사용해서 원하는 값들로 테이블을 합쳐줄 수 있다.

 

아래와 같이 school과 student 두 개의 테이블이 있다.

 

<school>
<student>

  • INNER JOIN

두 테이블이 공통으로 갖고 있는 값들을 반환한다.

SELECT student.name, school.name, school.address 
FROM student JOIN school ON student.school = school.name;

<INNER JOIN>

 

  • LEFT JOIN
SELECT school.idx, school.name, school.address, student.name 
FROM school LEFT JOIN student ON student.school = school.name;

<LEFT JOIN>

 

  • RIGHT JOIN
SELECT student.idx, student.name, school.name, school.address 
FROM school RIGHT JOIN student ON student.school = school.name;

<RIGHT JOIN>

 

  1. CRUD
  • INSERT INTO goods (name, price) VALUES ('test', 2000) : 새로운 값을 입력한다.
  • UPDATE goods SET name = 'change' WHERE idx = 2 : 기존의 값을 수정한다.
  • DELETE FROM goods WHERE idx = 2 : 기존의 값을 삭제한다.

 

  1. Query문
  • Database 저장된 값들을 불러오는 방법이다. Database에 질문(요청)을 보내서 Data에 대한 입력, 삭제, 수정 등을 진행한다.
  • connection.query를 사용하면 callback함수를 이용해서 에러가 발생했을 때 해당 에러를 확인할 수 있다.
connection.query('SELECT * FROM `books` WHERE `author` = "David"', 
function (error, results, fields) {})

* express에서 mysql 사용할 때 모듈 설치를 해주어야 한다 : npm install mysql

 

<참고>

https://server-talk.tistory.com/29

https://pineoc.blogspot.com/2015/12/mysql-query.html

https://m.blog.naver.com/PostView.nhn?blogId=yjhalu&logNo=120039790493&proxyReferer=https:%2F%2Fwww.google.com%2F

https://kahee.github.io/2018/02/12/SQL(3)/

expressjs.com/ko/guide/database-integration.html#mysql

'Mysql' 카테고리의 다른 글

Mysql 이벤트 스케쥴러 (Event Scheduler)  (0) 2021.06.23
Mysql - LIMIT  (0) 2021.05.12
Mysql - group_concat  (0) 2021.04.26
Mysql - ORDER BY & ALIAS  (0) 2021.04.26
Mysql - GROUP BY & CASE  (0) 2021.01.21
Comments