MySQL
테이블 생성
테이블 생성
테이블을 생성해보겠습니다.
데이터를 저장할 테이블을 생성하려면 어느 데이터베이스에서 테이블을 생성할지 정해줘야 하므로
USE 데이터베이스명; < == 명령문을 입력해야 합니다.
우리는 이전 수업에서 tanjirodb 를 생성한적이 있으므로 tanjirodb 데이터베이스에 테이블을 생성하겠습니다. 해당 데이터베이스를 선택해 주세요.
데이터베이스가 있는지 확인 하려면 SHOW DATABASES;를 입력하면 됩니다.
혹시 없다면 만듭니다. 다음의 명령어를 이용해서요.
CREATE DATABASE tanjirodb;
자 그럼 이제 우리가 생성한 데이터베이스를 선택합니다.
USE tanjirodb;

테이블 생성 방법은 다음과 같습니다.
create table 테이블명( 필드명 타입, 필드명 타입 PRIMARY KEY(필드명) );
위에보이는 프라이머리 키란 테이블에서 레코드가 가지는 유일한 값을 지정하는 것입니다. 특정 레코드를 검색하거나 레코드들을 정렬할 때 우선적으로 참조됩니다.
이번에 만들어 볼 학생 DB에서 겹쳐서는 안되는 학번에 기본키를 설정합니다.. 그렇게 되면 같은 학번을 가진 학생은 있을수 없게 시스템적으로 방어가 됩니다.
테이블에는 아래의 필드를 지정하도록 하자~~
필드명 |
데이터 타입 |
의미 |
비고 |
No |
int |
학번 |
primary key, not null |
name |
char(10) |
성명 |
|
det |
char(20) |
전공 |
|
addr |
char(80) |
주소 |
|
tel |
char(20) |
전화번호 |
|
위의 필드대로 테이블을 만들어 볼게요.
테이블 이름은 student로 정합니다.
다음의 명령문을 입력해 주세요.
CREATE TABLE `student` (
`sno` int(11),
`name` char(10) DEFAULT NULL,
`det` char(20) DEFAULT NULL,
`addr` char(80) DEFAULT NULL,
`tel` char(20) DEFAULT NULL,
PRIMARY KEY (`sno`)
) ENGINE=InnoDB CHARSET=utf8;
DEFAULT는 기본값을 의미합니다. 해당 값이 없는 경우에 입력할 값입니다. NULL값이 없다는 의미입니다.

그리고 확인을 위해 show tables; 를 입력
아래에 보듯이 student가 생성되었습니다.
show tables; 명령어로 테이블의 리스트를 봅시다.
SHOW TABLES;

생성된것은 확인이 되었다. 그럼 저 테이블에 필드들이 제대로 설정되었는지 확인해보자.
확인해보는 명령어는
DESC 테이블명;
그러므로 아래와 같습니다.
DESC student;
위 명령어 입력 후 엔터

그럼 위의 표가 무엇을 뜻하는지 보자.
Field는 선언한 필드를 보여주는 것이다.
Type은 그 필드가 갖고 있는 타입을 말해주는것이다.,
sno 는 정수 11자까지 입력가능하고
name도 10byte까지 입력가능하고 그런뜻이다.
저런식으로 특정 글자를 넘어가지 않도록 제한을 두는것이다.
Null은 공백을 인정 하는지 안하는지를 알려주는것이다. 학번은 공백을 인정않도록 설정하였다. 아까 not null 이걸로
Key 는 프라이머리 키를 의미하며 필드명sno가 기본으로 설정되어있다. 다섯번째는 디폴트의 초기값을 의미한다. null로 설정되어있다.
그럼 다음 시간에는 봐요. !!
//=$langList['bottomThankyou'][$langMode]?>