달리는 자동차

테이블 생성 본문

SQL/MySQL

테이블 생성

@또또 2020. 9. 14. 17:59

테이블을 생성한다.

데이터를 저장할 테이블을 생성하려면 어느 데이터베이스에서 테이블을 생성할 지 정해줘야 한다.

데이터 베이스가 있는지 없는지 확인하려면 

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)이었음.)


 

'SQL > MySQL' 카테고리의 다른 글

집계함수  (0) 2020.09.15
필드 중복값제거  (0) 2020.09.15
데이터 형 과 저장크기  (0) 2020.09.14
MySQL 명령어  (0) 2020.09.14
MySQL 정리1  (0) 2020.08.22
Comments