DB

(2)테이블 생성,삭제,수정하기

개발하는체대생 2023. 4. 2. 22:13
-- database는 테이블이 저장되는 공간
-- database 목록 보기
SHOW DATABASES; 

-- CREATE DATABASE[데이터 베이스 이름];
create database DBname; 
-- DROP DATABASE[데이터 베이스 이름]; 

-- 데이터 베이스 사용
-- USE[데이터 베이스 이름];
use DBname; -- 이후로 생성되는 table은 gdj42_khj 에 저장이 된다.(접속할 떄 마다 데이터 베이스 명을 입력해야함.)

/*데이터 베이스 안에 테이블 만들기*/
-- 1. 테이블 생성
/*
CREATE TABLE [테이블 명](
[컬럼명][데이터타입](사이즈)
,[컬럼명][데이터타입](사이즈)
...
);
*/

-- 데이터 타입
-- 1) 문자타입<- 검색 속도가 가장 빠르다. -- 고정형 CHAR(바이트 수) -- * 가변형 VARCHAR(바이트 수) -- TEXT : 65,535 byte -- LONGTEXT : 4,294,967,295 byte -- 2) 숫자 타입
-- INT, FLOAT, BIGINT, DOUBLE
-- 3)날짜 타입
-- DATE<- 0000-00-00
-- DATETIME<- 0000-00-00 00:00:00
-- TIMESTAMP <- DATETIME과 같지만 time zone 에 따라 시간이 변경된다. 

create table testtable(
username varchar(50)
,age int(3)
,mobile varchar(15)
,reg_date date default current_date
);
-- 테이블 구조 확인
-- DESC[테이블 명]
desc testtable; -- 테이블을 아래와 같이 만들어 보자
-- 테이블 명 : employees -- emp_no 숫자형 3자리
-- first_name 문자열 8자리
-- last_name 문자열 2자리
-- email 문자열 50자리
-- moblie 문자열 11자리
-- salary 숫자형 8자리
-- reg_date 날짜 기본으로 입력된다. 
create table employees(
emp_no int(3)
,first_name varchar(8)
,last_name varchar(2)
,email varchar(50)
,moblie varchar(11)
,salary int(8)
,reg_date date default current_date
);


-- 2. 테이블 삭제
drop table testtable; 

-- 3. 테이블 수정(ALTER) 
-- 1) 컬럼 이름 변경
-- alter table[테이블 이름] rename column[변경전 이름] to[변경 후 이름]
alter table employees rename column last_name to family_name 
-- 2) 컬럼 추가
-- alter table[테이블 이름] ADD([컬럼명] [데이터 타입]([사이즈])); 
-- depart_no, 데이터 타입 : varchar, 사이즈 : 10 -- commission, 데이터 타입 : varchar, 사이즈 : 10
-- etc, 데이터 타입 : varchar, 사이즈 : 100
alter table employees ADD(depart_no varchar(10));
alter table employees ADD(commission varchar(10));
alter table employees ADD(etc varchar(10)); 

-- 3) 컬럼 속성 변경
-- alter table[테이블 이름] MODIFY COLUMN[컬럼명][데이터타입](사이즈); 
-- float(전체자릿수, 그 중 소숫점자리)-> 000.00
alter table employees MODIFY COLUMN commission float(5,2); 

-- 4) 컬럼 삭제
-- alter table [테이블 이름] DROP COLUMN [컬럼명]; 
-- etc 컬럼을 삭제해보자
alter table employees DROP COLUMN etc;