Information Security

6 데이터베이스 본문

Web Hacking/Web 기초

6 데이터베이스

leeeeye321 2017. 11. 17. 22:32

데이터베이스

RDBMS(Relational DataBase Management System)

-> Oracle, SQL, MySQL, MariaDB, ...

 

MySQL

mysql 서버에 접속할 수 있는 클라이언트 프로그램 설치

 

mysql 서버 설치

 

mysql 시작

 

mysql의 관리자 root 계정으로 접속

 

root 계정의 패스워드 설정

 

패스워드 입력하고 접속

 


 

1. SQL(Structured Query Language)

-구조화된 질의 언어

 

1) DDL(Data Definition Language)

-데이터 정의어

-데이터베이스 및 테이블 생성(CREATE), 삭제(DROP) 

 

2) DML(Data Manipulation Language)

-데이터 조작어

-테이블에 데이터를 삽입(INSERT), 수정(UPDATE), 삭제(DELETE), 확인(SELECT)

 

2. DB나 Table의 목록 확인

mysql> show databases;

-DB 목록 확인

 

mysql> show tables;

-Table 목록 확인

-DB를 선택하지 않아서 Table의 목록을 볼 수 없다.

 

3. DB 선택

mysql> use [DB이름];

 

DB를 선택해야 해당 DB 안의 테이블 목록을 확인할 수 있다.

 

4. DB 생성 및 삭제

mysql> CREATE DATABASE [DB이름];

 

mysql> DROP DATABASE [DB이름];

 

DB 목록 확인

 

5. 테이블 생성 및 삭제

-열(column)을 미리 정의한다.

-> 저장할 데이터의 형태와 개수를 나타낸다.

 

DB 선택

 

mysql> create table [Table이름]([컬럼이름 타입], [컬럼이름 타입], ...);

 

생성된 테이블 확인

 

6. 데이터 삽입: INSERT

mysql> insert into [테이블이름] value(값, 값, ...);

-삽입되는 데이터들은 반드시 테이블 컬럼과 순서, 형태, 개수가 일치해야 한다.

 

정의한 열에 맞게 값을 넣어주지 않으면 에러가 발생한다.

 

mysql> insert into [테이블이름]([컬럼이름, ...]) value(값, 값, ...);

-name, age만 값을 넣어주려면 테이블이름 뒤에 컬럼의 이름을 쓰고 이에 맞게 value를 넣어주면 된다.

-> no는 auto_increment로 인해 자동으로 설정되므로 따로 값을 넣어주지 않아도 된다.

 

7. 데이터 조회: SELECT

mysql> select 컬럼, ... from 테이블이름;

 

조건(where 절)에 맞는 데이터만 출력

 

8. 데이터 수정: UPDATE

mysql> update [테이블이름] set [컬럼이름=값];

-해당 컬럼의 값이 모두 바뀐다.

 

조건에 맞는 데이터만 수정

 

kang -> yang으로 수정된 것 확인

 

9. 데이터 삭제: DELETE

mysql> delete from [테이블이름];

-해당 테이블의 모든 행 삭제

 

조건에 맞는 데이터 삭제

 

번호는 재정렬되지 않고 그대로 사용한다.

'Web Hacking > Web 기초' 카테고리의 다른 글

8 인증 처리  (0) 2017.11.23
7 HTML + PHP + MySQL 실습  (0) 2017.11.22
5 PHP + form 태그를 통한 데이터 전달(GET/POST)  (0) 2017.11.16
4 Javascript  (0) 2017.11.14
3 HTML 문서에서 사용되는 대표적인 태그  (0) 2017.11.14