1. Database
-
file -> SpreadSheet -> Database 로 넘어가면서 데이터의 손쉬운 가공, 표,정렬,검색 등을 편리하고 안전하게 할 수 있게 됨
2. 목적
-
DB는 컴퓨터 언어(코딩)을 통해 데이터의 제어가 가능함 (cf. 스프레드시트)
-
따라서 DB의 정보를 전세계 누구나 열람이 가능하고 사용자가 작성한 글이 자동으로 DB에 저장 가능하다.
3. 설치
-
bitnami의 wamp 설치
4. 구조

-
표(table)
-
연관된 표를 Grouping 해서 연관되지 않은 표와 구분 --> Database (스키마)
-
여러 데이터베이스를 모아서 Database server
5. 서버 접속
-
데이터 베이스는 1) 안전한 보안체계 2) 자체 권한 체계를 통해 사용자에게 차등적으로 권한을 부여할 수 있음
-
처음 시작할 때 -uroot -p를 통해 패스워드를 입력하고 시작함
-
여기서 -uroot는 'root'(관리자)의 권한으로 database를 사용하겠다는 의미임. 그러나 실제로 사용할 때는 별도의 사용자를 생성할 것을 권장함.
6. 스키마 사용
-
데이터베이스 생성

-
데이터베이스 삭제

-
데이터베이스 목록 보기

7. SQL과 테이블의 구조
1)
-
Structured(구조화된) Query(질의,요청) Language(언어)
-
table(표)
-
row or record(행) --> 데이터 그 자체
-
column(열) --> 데이터 타입(구조)
2)
-
SpreadSheet --> 어떠한 타입의 데이터도 넣을 수 있음
-
DBMS --> 데이터 타입을 강제할 수 있음 (따라서, 꺼낼 때 데이터 타입을 신경쓰지 않을 수 있음)
-
'MySQL Data Type' 검색

3)
-
NOT NULL - 값이 없는 것을 허용하지 않음
-
NULL - 값이 없는 것도 허용
-
AUTO_INCREMENT - 자동으로 값이 1씩 증가 (이번 수업에서는 id 값을 입력할 때 썼음)
-
VARCHAR(max length) - 글자 수 제한

-
마지막 줄에 PRIMARY KEY(column name) 넣어서 행을 식별하는 식별자를 지정함 (여기서는 id로 했음)
8. 테이블의 생성
-
use (database name);
-
CREATE 괄호 안에는 column의 값과 속성이 들어감

-
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 |
댓글