1. 데이터베이스란?
-통합하여 관리되는 데이터의 집합체
- 중복된 데이터를 없애고, 자료를 구조화하여 효율적인 처리를 할 수 있게 관리.
2. SQL(Structured Query Language)
(1)DDL(Data Definition Language)
- 데이터베이스나 테이블 등을 생성, 삭제, 구조 변경
- create, alter, drop
(2) DML(Data Manipulation Language)
- 저장된 데이터를 처리, 조회, 검색
- insert, update, delete, select
(3) DCL(Data Control Language)
- 데이터 관리, 데이터의 보안성, 무결성 제어 위해
- grant, revoke
3. 기본문법
(1) create // db나 table 생성
- create database hotel;
// show databases; 로 데이터베이스 목록 확인
// use hotel; 로 데이터베이스 선택 가능
- create table 테이블 이름
(
);
// hh이라는 db를 만들고 사용하겠다고 입력.
show databases; 로 db목록을 확인하면 hh가 생긴 것을 확인할 수 있음.
테이블 생성
// 여기서 꿀팁(?)은 필드가 끝날때마다 콤마를 사용하며, 테이블을 다 작성하고 마지막에 세미콜론을 반드시 붙인다.
- desc test; // 생성한 table 확인.
(2) alter // 테이블이나 db의 내용 수정
- alter database //
ALTER DATABASE Hotel CHARACTER SET=euckr_bin COLLATE=euckr_korean_ci;
// CHARACTER SET : utf8 (UTF-8 유니코드), euckr(한글)
COLLATE : utf8_bin, utf8_general_ci (기본 설정), euckr_bin, euckr_korean_ci
- alter table
// add
drop
modify column
ALTER TABLE reservation
ADD phone int;
ALTER TABLE reservation
DROP phone int;
ALTER TABLE reservation
MODIFY COLUMN reservedate varchar(20);
(3) drop // 테이블이나 db 삭제
- drop database
drop database hotel;
- drop table
drop table reservation;
(4) insert // insert into문을 사용하여 테이블에 새로운 레코드를 추가.
INSERT INTO Reservation VALUES(5, '이순신', '2016-02-16', 1108);
INSERT INTO Reservation(ID, Name) VALUES (6, '김유신');
(5) update // 레코드의 내용을 수정
- update 테이블명 set 바꾸고자 하는 필드값= 데이터값 where 원하는 대상의 필드값 = 데이터 값
(6) delete // 테이블의 레코드를 삭제
- delete from 테이블이름 where 필드이름=데이터값;
- delete from 테이블 이름;
(7) select // 테이블의 레코드를 선택 가능
- select 필드이름 from 테이블이름 where 조건
- select distinct name from test;// 중복제거 (distinct)
- select * from test ordet by reservedate asc(오름차순-기본)/desc(내림차순) // 정렬
- select * from test order bt reservedate desc, roomnum asc; // 정렬 2개 동시에 줘도 됨.
- select reservedate, CONCAT(roomnum.":",name) as reservelofo from reservation;
// CONCAT() 함수는 인수로 전달받은 문자열을 모두 결합하여 하나의 문자열로 반환하는 함수.