본문 바로가기
공부/PHP+MySQL

DATABASE 2 - MySQL

by 주냥 2020. 3. 7.

1. Database

  • file -> SpreadSheet -> Database 로 넘어가면서 데이터의 손쉬운 가공, 표,정렬,검색 등을 편리하고 안전하게 할 수 있게 됨

2. 목적

  • DB는 컴퓨터 언어(코딩)을 통해 데이터의 제어가 가능함 (cf. 스프레드시트)

  • 따라서 DB의 정보를 전세계 누구나 열람이 가능하고 사용자가 작성한 글이 자동으로 DB에 저장 가능하다.

3. 설치

  • bitnami의 wamp 설치

4. 구조

https://youtu.be/IWEa4DN_1Yk

  • 표(table)

  • 연관된 표를 Grouping 해서 연관되지 않은 표와 구분 --> Database (스키마)

  • 여러 데이터베이스를 모아서 Database server

5. 서버 접속

  • 데이터 베이스는 1) 안전한 보안체계 2) 자체 권한 체계를 통해 사용자에게 차등적으로 권한을 부여할 수 있음

  • 처음 시작할 때 -uroot -p를 통해 패스워드를 입력하고 시작함

  • 여기서 -uroot는 'root'(관리자)의 권한으로 database를 사용하겠다는 의미임. 그러나 실제로 사용할 때는 별도의 사용자를 생성할 것을 권장함.

6. 스키마 사용

  • 데이터베이스 생성

CREATE DATABASE (database name);

  • 데이터베이스 삭제

DROP DATABASE (databse name);

  • 데이터베이스 목록 보기

show databases;

 

7. SQL과 테이블의 구조

1)

  • Structured(구조화된) Query(질의,요청) Language(언어)

  • table(표)

  • row or record(행) --> 데이터 그 자체

  • column(열) --> 데이터 타입(구조)

2)

  • SpreadSheet --> 어떠한 타입의 데이터도 넣을 수 있음

  • DBMS --> 데이터 타입을 강제할 수 있음 (따라서, 꺼낼 때 데이터 타입을 신경쓰지 않을 수 있음)

  • 'MySQL Data Type' 검색

https://www.mysqltutorial.org/wp-content/uploads/0211/03/MySQL-Data-Types.jpg

 

3)

  • NOT NULL - 값이 없는 것을 허용하지 않음

  • NULL - 값이 없는 것도 허용

  • AUTO_INCREMENT - 자동으로 값이 1씩 증가 (이번 수업에서는 id 값을 입력할 때 썼음)

  • VARCHAR(max length) - 글자 수 제한

https://i.stack.imgur.com/7mBn0.png

  • 마지막 줄에 PRIMARY KEY(column name) 넣어서 행을 식별하는 식별자를 지정함 (여기서는 id로 했음)

8. 테이블의 생성

  • use (database name);

  • CREATE 괄호 안에는 column의 값과 속성이 들어감

CREATE TABLE (table name)으로 table 생성

  • DESC topic; 을 입력하면 테이블 구조를 볼 수 있음

9. CRUD

  • CRUD가 중요하다는 것 다시 한 번 강조

10. INSERT

  •  

11. SELECT

  • SELECT (colunm) FROM (table) WHERE (조건?) ORDER BY ( ) LIMIT (보고싶은 건 수)

12. UPDATE

  • UPDATE (table name) SET (column='___') WHERE (  );

13. DELETE

  • DELETE FROM WHERE

...

 

15. 관계형 데이터 베이스

  • 데이터의 중복 --> 개선의 여지가 있음. 중복된 부분을 수정 및 관리하기 힘들기 때문
  • 두 개의 표를 만들어서 id 값으로 이어주는 실습 진행
  • 별도의 표를 두 개 만들어서 함께 열어서 열람해야한다는 단점이 있음.

16. 테이블 분리하기

  • topic_backup 생성하고 topic table과 author table 생성

17. JOIN

  • topic table과 author table결합

  • SELECT (결합할 colunm) FORM (table name) LEFT JOIN (author) ON (조건)

  • 원하는 table을 실시간으로 형성 가능

18. 인터넷과 데이터베이스

  • 웹에서 배운 client 와 server 개념과 유사

  • MySQL 패스워드 입력 시 나오는 mysql monitor 가 database client임

  • database client --> database server로 요청을 보내서 데이터를 관리하는 것

'공부 > PHP+MySQL' 카테고리의 다른 글

DATABASE 1  (0) 2020.03.07
1. PHP  (0) 2020.02.26

댓글