DB. MySQL

JINSOO PARK·2021년 11월 8일
0

DB 강의

목록 보기
2/7

MySQL

링크텍스트

데이터베이스는 표(table)을 가지고 있다.

row: 데이터 하나하나 데이터 자체를 얘기한다. 위의 표에서 row는 2개

column: 데이터의 구조 (type) 을 얘기한다. 위의 표에서 column은 4개

스키마(shema, database)

서로 연관된 데이터(table)들을 grouping할 때 사용되는 일종의 폴더이다.

데이터베이스 서버(database server)

스키마들을 가지고 있는 전체를 데이터베이스 서버 라고한다.


ex1) 데이터베이스 생성, 삭제

CREATE DATABASE 데이터베이스명;

DROP DATABASE 삭제할 데이터베이스명;


ex2) 데이터베이스 리스트, 사용

SHOW DATABASS;

USE 사용할 데이터베이스명;


1) MySQL의 숫자형 데이터 타입


1) MySQL의 문자형 데이터 타입

ex1) 테이블 생성

CREATE TABLE 테이블명(
column명 과 데이터 타입
column명 과 데이터 타입
)
CREATE TABLE topic(
id INT(11) NOT NULL AUTO_INCREMENT, // id INT(노출될 값)/ 반드시 있어야 될 값 / 자동으로 증가한다.
title VARCHAR(100) NOT NULL,
description TEXT NULL,  // NULL 은 값이 없는걸 허용함
created DATETIME NOT NULL,
author VARCHAR(30) NULL,
profile VARCHAR(100) NUL,
PRIMATRY KEY(id)); // id 는 primary key 라는걸 알려준다. 중복 불가


CRUD

Creat(INSERT)

INSERT INTO 데이터를 추가할 테이블명 (cloumn1, coloumn2) VALUES(value1, value2)


Read(SELECT)

ex1) 테이블의 전체 데이터

SELECT *FORM 테이블명;


ex2) 테이블의 일부 데이터

SELECT id,title,created,author FORM topic;


ex3) 테이블의 원하는 데이터(WHERE)

SELECT id,title,created,author FORM topic WHERE author='egoing';


ex4) 테이블의 데이터 정렬(ORDER)

SELECT id,title,created,author FORM topic WHERE author='egoing' ORDER BY id DESC; // DESC 큰 숫자 순으로 정렬


ex4) 테이블의 데이터 갯수 제한(LIMIT)

SELECT id,title,created,author FORM topic WHERE author='egoing' ORDER BY id DESC LIMIT 2;


Update(UPDATE)

UPDATE 테이블명 SET 수정을 원하는 column='수정내용' WHERE id=수정을 원하는 id;
  • WHERE를 통해 id를 지정해주지 않으면 모든 데이터의 column의 값이 바뀌기 때문에 반드시 id를 지정해 준다.


Delete(DELETE)

DELETE FROM 테이블명 WHERE id=삭제를 원하는 id;
  • WHERE를 통해 id를 지정해주지 않으면 해당 테이블의 모든 데이터가 삭제 되기 때문에 반드시 지정해준다.



JOIN

데이터의 중복을 피하기위해서 다른 테이블에서 부터 데이터를 참조하는 방식이다.

1). team 이라는 테이블을 만들어 id와 팀명을 설정 한다.


2). infoTable 이라는 테이블을 만든다.

member_of 라는 column을 int로 넣는다.

이 member_of 에 들어간 숫자는 team의 team_id에 해당한다.


3). JOIN을 이용하여 두 데이터를 합쳐서 표시한다.

SELECT *FROM infoTable LEFT JOIN team ON infoTable.member_of = team.team_id


4). 필요한 값만 표시한다.

SELECT id,first_name,last_name,email,team FROM infoTable LEFT JOIN team ON infoTable.member_of = team.team_id

* AS 를 사용하여 cloumn명 바꿔서 표시 하기

SELECT id,first_name,last_name,email,team AS member_of FROM infoTable LEFT JOIN team ON infoTable.member_of = team.team_id

team AS member_of : team -> member_of로 바뀜

profile
개린이

0개의 댓글