1. 데이터와 테이블
(1) 기본 용어 정리
데이터베이스란? : 테이블, 테이블과 관련된 SQL 구성 요소들을 담고 있는 저장소.
쿼리(질의)란? : 데이터베이스로 정보를 요청하는 것.
*데이터베이스 안의 정보는 수 많은 테이블로 구성되어있음.
테이블 ━┯열(필드) : 테이블에 저장된 하나의 데이터
┗행(레코드) : 한 객체에 대한 속성들을 나타내는 열의 집합.
(2) MySQL명령어
1)데이터베이스 생성 : CREATE DATABASE gregs_list;
┗Tip. SQL의 키워드는 대소문자를 구별하지 않으므로 자유롭게 써도 좋지만,
가독성을 위해 대문자 로만 쓰는 것이 좋습니다.
Tip. 데이터베이스 명과 테이블 명은 주로 소문자로 시작합니다. 명명 규칙으로 언더바도 좋고, 캐멀 표기법(camel case)도 좋지만 일관성을 가져야 합니다.
2)데이터베이스 사용 : USE gregs_list;
3)테이블 생성 :
CREATE TABLE doughnut_list 테이블의 이름은 소문자, 스페이스 대신 언더바 이용
(
[열의 이름] [데이터 타입] [크기]
doughnut_name VARCHAR(10),
doughnut_type VARCHAR(6)
); 명령어의 끝을 나타내는 세미콜론
※주로 사용되는 데이터 타입들
데이터 타입(자릿수) |
특징 |
VARCHAR(n) |
길이 255개까지의 문자 데이터를 저장. 데이터 길이에 맞게 크기 조절. |
DEC(n,n) |
십진수의 자릿수 할당. DEC(전체자릿수, 소수점 이하 자릿수) 예) DEC(4,2) = 12.34 |
CHAR or CHARACTER |
정해진 길이의 String 데이터 |
INT or INTEGER |
정수(음수도 가능) |
BLOB |
큰 덩어리의 문자 데이터 |
DATE |
날짜 |
DATETIME or TIMESTAMP |
날짜 및 시간 Tip. DATETIME은 주로 미래에 일어날 일 시간 TIMESTAMP는 보통 현재의 시간 나타낼때 |
TIME |
시간 |
4)테이블 정보 확인 : DESC my_contacts; ←DESC = DESCribe(기술하다)의 줄임말.
Tip. 깜박 잊고 넣지 못한 열을 추가하기 위해서는, 기존의 테이블을 지우고 새로 테이블을 생성 해야 합니다.
Tip. 새로 입력하는 수고를 덜기 위해, 이전의 모든 SQL 문을 메모장이나 텍스트 에디터에 복사하 여 재사용 하는 방법을 추천합니다.
5)테이블 지우기 : DROP TABLE my_contacts; ※주의 : 테이블과 그안의 데이터 모두 지움.
6)테이블에 데이터 추가하기 :
INSERT INTO your_table (column_name1, column_name2, ...) VALUES (‘value1’, ‘value2’, ...);
[SQL 키워드] [테이블명] [추가할 열의 이름] [키워드] [작은따옴표 이용하여 값 추가]
※중요 : 값들은 열 이름과 같은 순서여야함.
Tip. 긴 SQL 문을 작성할 때는 미리 텍스트 에디터에 입력해서 실수를 해도 바로 입력이 가능하 도록 합시다.
Tip. CHAR, VARCHAR, DATE, BLOB 값에는 작은 따옴표를 사용하고, DEC나 INT같은 숫자 값은 따 옴표를 사용하지 않습니다.
7)INSERT 문의 변형
① 열 순서의 변경 : 각 열 이름의 순서와 해당 값의 순서가 같기만 하면 열의 순서는 바꿀 수 있다.
② 열 이름의 생략 : 열 이름 리스트를 생략할 수 있음.
하지만 값들은 모두 열에 있을 때와 같은 순서로 있어야 함
③ 몇 개의 열 생략 : 몇 개의 열만 입력하고 나머지는 생략 가능. ※값이 없는 열에는 NULL값이 들어감.
8)NULL 제어하기
CREATE TABLE my_contacts
(
last_name VARCHAR (30) NOT NULL, ※데이터 타입 뒤에 NOT NULL을 추가하면
first_name VARCHAR (20) NOT NULL 그 열에 대해세는 값을 반드시 넣어야함.
);
9)빈 칸을 디폴트 값으로 채우기
CREATE TABLE doughnut_list
(
doughnut_name VARCHAR (10) NOT NULL,
doughnut_type VARCHAR(6) NOT NULL,
doughnut_cost DEC(3,2) NOT NULL DEFAULT 1.00 ※디폴트 값을 쓰면 빈 열을 지정된 값으로 채움.
);
'블로그 > DB(HeadFirstSQL)' 카테고리의 다른 글
Head First SQL(헤드퍼스트SQL) 핵심요약 - Chapter3. DELETE와 UPDATE (0) | 2013.10.13 |
---|---|
Head First SQL(헤드퍼스트SQL) 핵심요약 - Chapter2. SELECT문 (0) | 2013.10.07 |