달리는 자동차
테이블 생성 본문
테이블을 생성한다.
데이터를 저장할 테이블을 생성하려면 어느 데이터베이스에서 테이블을 생성할 지 정해줘야 한다.
데이터 베이스가 있는지 없는지 확인하려면
show database; |
해당 명령어 입력시 데이터베이스 들을 보여준다. 사용할 데이터베이스를 확인한 뒤
use 데이터베이스명; |
혹시 없다면 만들면 된다. 데이터 베이스 생성
create database 데이터베이스명; |
테이블 생성하는 방법
create table 테이블명( 필드명 타입, 필드명 타입 PRIMARY KEY(필드명) ); |
위에 보이는 프라이머리 키란 테이블에서 레코드가 가지는 유일한 값을 지정하는 것이다. 특정 레코드를 검색하거나
레코드를 정렬할 때 우선적으로 참조된다.
필드명 | 데이터타입 | 의미 | 비고 |
sno | int | 학번 | primary key, not null |
name | varchar(10) | 성명 | |
det | varchar(20) | 전공 | |
addr | varchar(80) | 주소 | |
tel | varchar(20) | 전화번호 |
위의 필드대로 테이블을 만든다. 테이블이름은 student_tb로 정한다.
CREATE TABLE 'student_tb'( 'sno' int(11) NOT NULL, 'name' varchar(10) DEFAULT NULL, 'det' varchar(20) DEFAULT NULL, 'addr' varchar(80) DEFAULT NULL, 'tel' varchar(20) DEFAULT NULL, PRIMARY KEY('sno') ) |
해당 명령어를 입력하고 확인을 위해 show tables;를 입력한다.
그럼 student_tb이 생성된 것을 확인할 수 있다. 해당 student_tb에 필드들이 제대로 설정되었는지 확인
desc 테이블명; |
desc student_tb;
NULL은 공백을 인정하는지 안하는지 알려주는것이다.
NO -> NOT NULL 공백인정 안함
YES -> NULL 공백 가능
테이블에서 필드(*컬럼) 추가 하는 방법
alter table 테이블명 add 새로추가할 필드명과 타입 |
alter table 테이블명 add 새로 추가할 필드명과 타입 after 필드이름; |
after 필드이름은 위치를 말한다. 예를들어 addr을 입력하면 addr 다음으로 새로추가할 필드가 위치한다.
alter table student_tb add age int after name;
--> student_tb이라는 테이블에 age라는 필드를 추가 어디에? name다음에 위치한다.
성별 필드를 추가해보자.
alter table student_tb add sex int; -> after 필드이름빼면 위치를 지정하지 않으므로 맨 뒤에 sex필드가 들어간다. |
desc student_tb; -> student_tb 테이블의 필드와 타입을 보여준다. |
테이블에서 필드 삭제 방법
alter table 테이블명 drop 삭제할 필드명; |
sex필드를 삭제해보자.
alter table student_tb drop sex;
확인 : desc student_tb;
테이블에서 필드 수정 방법
alter table 테이블명 change 기존필드명 새로운필드명 타입; |
tel을 phone로 변경
alter table student_tb change tel phone int; |
필드명은 유지하며 타입만 변경시
alter table 테이블명 modify 기존필드명 새로운타입; |
alter table student_tb modify det int; (원래 det필드는 varchar(20)이었음.)