- 4차시에 배웠던 Database가 무엇인지 안다.
- MySQL을 설치하고 어떻게 사용하는지 안다.
- MySQL을 사용해서 일기장을 만들 수 있다.
- 4차시 수업 복습
- MySQL의 자료형 학습하기
- SQL Query 학습하기
- MySQL의 주요 함수들과 연산자 학습하기
- MySQL로 방명록 만들기
4차시에 배웠던 database, table, column, row 의 개념 복습
교육 전 헬렌들에게 데이터베이스에 들어갈 수 있을만한 것들에는 무엇이 있을지 질문하기
- 이름, 나이, 성별, 날짜 등등..
질문한 내용을 바탕으로 수업 진행
MySQL 자료형 | 저장하는 값 | 사용되는 곳 |
---|---|---|
INT | Numeric value (숫자) | 나이, 조회수 |
Boolean | True or False | 사용자의 행동 여부 |
CHAR, VARCHAR, TEXT, etc. | 문자열 | 이름, id, password |
DATE, DATETIME | 날짜 및 시간 | 회원가입날짜, 생일 |
웹 사이트에서 사용될 Database를 가정하고 가상의 Database를 만들어 볼 예정.
웹사이트에서 필요한 정보 | 자료형 |
---|---|
사용자 고유 ID | INT (AUTO_INCREMENT) |
아이디 | VARCHAR |
패스워드 | VARCHAR |
이름 | VARCHAR |
나이 | INT |
전화번호 | VARCHAR |
생일 | DATE |
데이터베이스 생성 및 사용
- CREATE [DATABASE];
- USE [DATABASE];
테이블 생성하기
- CREATE TABLE [TABLE] ( ... );
테이블에 값 집어넣기
- INSERT INTO [TABLE] ( column1, column2, ... ) VALUES ( value1, value2, ... );
테이블에 있는 정보 가져오기
- SELECT * FROM [TABLE] WHERE ... ;
※ 추후 배울 SQL Injection
취약점을 학습하는데 기본이 되는 부분이므로 꼼꼼히 가르칠 필요가 있음.
- value1 = value2 : 두 값이 같으면 1을 리턴함.
- value1 <> value2 : 두 값이 다르면 1을 리턴함.
- value1 > value2 : value1이 더 크면 1을 리턴함.
- value1 < value2 : value2가 더 크면 1을 리턴함
- value1 >= value2 : value1이 더 크거나 같으면 1을 리턴함
- value1 <= value2 : value2가 더 크거나 같으면 1을 리턴함.
리턴되는 1은 TRUE
와 같은 뜻임을 미리 가르쳐준다.
- substr(string, 0, 1) : 문자열을 자르는데 사용하는 함수
- CHAR(int_value) : int값에 해당되는 ascii 문자를 리턴함
- ORD(char_value) : 인자로 전달된 문자의 ascii 값을 리턴함.
- HEX(int_value or char_value) : 각 값을 hex 처리하여 보여줌.
- select 0x41; # A
- select 0x42; # B
SELECT
를 사용하여 HEX값을 출력하고자 하면 각 HEX 값에 매칭되는 문자를 출력함.
배운 기능으로 방명록 테이블 만들기. 들어가야할 내용은 다음과 같음.
- 이름
- 나이
- 방명록 메시지
헬렌들이 모두 다 만들었으면 돌아가면서 서로의 노트북에 방명록 남겨주기
서로가 만든 방명록 테이블의 구조를 모르기 때문에 DESC [TABLE]
명령을 사용하여 구조를 파악한 후 INSERT
문 실행.