자 이번에는 테이블에 대해 알아봅시다
일단
#mysql -u root -p flag
저번에 만든 flag 데이터베이스 접속합니다
그후
mysql> show tables;
하면 아직 만든것이 없어
empty set이라는 구문이 출력됩니다.
그럼 인제부터 테이블 구성을 해봅시다.
자 원래 테이블 정의는 매우 어렵습니다 . 여러분 여러 분야를 여러개로 쪼개서 그 레코드와 테이블을 정의하여야 하지만 그것은 제외하고 간단한것으로 만드는 법정도만 알아보겠습니다.
일단 저는 새롭게 시작하는 php5 programming이라는 책의 내용을 바탕으로 실습해보겠습니다.
영업사원 테이블에 레코드 값들이 되있습니다.
sno(사번) | sname(성명) | hire(입사날) | point(실적) | branch(사는곳) |
s1 | abc | 1998-10-12 | 200 | aa |
s2 | bcd | 2000-05-03 | 400 | bb |
s3 | cde | 2002-03-01 | 100 | cc |
s4 | def | 2003-06-02 | 300 | dd |
s5 | efg | 2004-03-01 | 200 | ff |
다음은 차 입니다.
cno(차번) | cname(차명) | cc(배기량) | weight(무게) | outlet(출고지) |
c1 | sonata | 1800 | 1200 | cc |
c2 | sonata | 2000 | 1300 | cc |
c3 | rezo | 1500 | 1100 | aa |
c4 | rezo | 2000 | 1200 | aa |
c5 | canival | 3000 | 1800 | ff |
c6 | sm5 | 2000 | 1300 | dd |
c7 | sm5 | 2500 | 1350 | dd |
다음은 판매입니다.
sno(사번) | cno(차번) | qty(판매량) |
s1 | c1 | 12 |
s1 | c2 | 20 |
s1 | c3 | 42 |
s1 | c4 | 18 |
s1 | c5 | 10 |
s1 | c6 | null |
s2 | c1 | 34 |
s2 | c2 | 14 |
s3 | c2 | 21 |
s4 | c2 | null |
s4 | c4 | 31 |
s4 | c5 | 13 |
그럼 이형식에 맞게 테이블을 생성해보겠습니다.
일단 영업사원인 salesman이라는 테이블을 생성해볼께요.
명령어를 해봅시다
mysql> create table salesman(
-> sno char(4) PRIMARY KEY,
-> sname char(10) NOT NULL,
-> hire date;
-> point smallint,
-> branch char(10)
->);
Query OK 가 뜨면 제대로 적용 된것이고 성질을 알아보면
sno는 4바이트의 char형 입력 받고 sname은 10바이트 char형 hire는 날짜형식 point는 작은수의int형
이정도의 뜻을 갖고있습니다.
자 그럼 위와 같은 방식으로 car , sale의 이름으로 생성해봅시다
테이블 생성 확인은
mysql>describe (테이블명) 해주시면 됩니다.
car 테이블입니다.
mysql> create table car(
-> cno char(2) primary key,
-> cname char(10) not null,
-> cc smallint,
-> weight smallint,
-> outlet char(10)
-> );
입니다.
다음은 sale 입니다.
mysql> create table sale
-> sno char(4) not null,
-> cno char(2) not null,
-> qty smallint
-> );
다음 구성된 테이블 전체를 확인해 봐요
mysql>show tables;
car
sale
salesman 이 뜨시면 성공입니다.
이렇게 만든 테이블 삭제 명령어는
mysql> drop table <테이블이름>
입니다.
자 다음 기본적으로 테이블 변경 구문은 ALTER TABLE입니다 이것으로 여러가지를 활용해봅시다.
테이블 이름바꾸기 명령어는
mysql> alter table <원래 테이블 이름> rename <바꿀 테이블이름>;
입니다
기존의 테이블에 새로운 속성을 추가하는 명령어는
mysql> alter table car add <추가할속성이름> <추가할속성성질>;
입니다.
기존의 테이블에서 특정 속성을 제거하는 명령어는
mysql> ALTER TABLE car drop column <삭제할 속성이름>
입니다.
자 다음으로 기존의 테이블에서 특정속성의 데이터 타입 변경 하는 명령어는
mysql> alter table <테이블이름> change <특정속성이름> <특적속성이름> <바꿀 속성성질>;
입니다.
마지막으로 특정 속성의 명칭 변경하는 명령어는
mysql> alter table <테이블 이름> change <특정속성이름> <바꿀 특정속성이름> <바꿀 속성성질>;
입니다.
다음 시간에는 이렇게만든 테이블에 레코드삽입 법에 대해 알아볼께요
[출처] Mysql 홀로서기 3일차|작성자 Securely
'MySQL' 카테고리의 다른 글
Mysql 홀로서기 6일차 (0) | 2012.07.11 |
---|---|
Mysql 홀로서기 5일차 (0) | 2012.07.11 |
Mysql 홀로서기 4일차 (0) | 2012.07.11 |
Mysql 홀로서기 2일차 (0) | 2012.07.11 |
Mysql 홀로서기 1일차 (0) | 2012.07.11 |