개발/DB(MariaDB)

2. DB - (테이블 생성, 수정)

oneidsin 2025. 3. 17. 16:20

DB 목록  확인, 생성, 사용

show databases;
create database mydb;
use mydb;

 

테이블 생성

테이블 생성은
CREATE TABLE[테이블 이름](
[컬럼명][데이터타입](사이즈)
);

/ 데이터 타입(자주 쓰이는 일부) /
-- 1) 문자(검색 속도는 문자타입이 가장 빠르다)
-- 고정형 CHAR(바이트수) - 넘는 부분을 공백으로 처리
-- 가변형 VARCHAR(바이트수) - 넘는 부분을 줄여줌, 크기를 넘기는 것은 안됨
-- TEXT : 64KB 정도 저장
-- LONG TEXT : 4GB 정도 저장

-- 2) 숫자 (INT, FLOAT, BIGINT, DOUBLE)
-- 3) BOOLEAN
-- 4) 날짜 타입
-- DATE : 0000-00-00
-- DATETIME : 0000-00-00 00:00:00
-- TIMESTAMP : DATETIME 과 같지만 TIME-ZONE 에 따라 시간이 변경 된다

 

create table test_table(
	user_name varchar(50)
	, age int(3)
	, mobile varchar(13)
	, reg_date date default current_date
);

 

테이블 목록 출력

show tables;

 

특정 테이블의 상세 구조를 보는 명령어

desc test_table;

 

테이블 만들기 실습

-- 테이블을 아래와 같이 만들어 보자
-- 테이블 명 : employees
-- emp_no 숫자형 3자리
-- first_name 문자열 16자
-- last_name 문자열 4자
-- email 문자열 100자
-- mobile 문자열 11자
-- salary 숫자형 8자
-- reg_date 날짜 기본으로 입력된다(CURRENT_TIMESTAMP)

create table employees(
	emp_no int(3)
	, first_name varchar(16)
	, last_name varchar(4)
	, email varchar(100)
	, mobile varchar(11)
	, salary int(8)
	, reg_date timestamp default current_timestamp
    
    desc employees; -- 테이블 상세 정보 출력
);

 

테이블 수정

-- 1) 컬럼 이름 변경
-- 컬럼 이름이 변경되면 기존 데이터는 모두 삭제된다
-- ALTER TABLE [테이블명] RENAME COLUMN [변경전 이름] TO [변경할 이름];

-- depart_no varchar(10)
alter table employees add (depart_no varchar(10));
-- commission varchar(10)
alter table employees add (commission varchar(10));
-- etc varchar(100)
alter table employees add (etc varchar(100));

 

-- 3) 컬럼 속성 변경(사이즈 변경도 포함)
-- 테이블 속성은 데이터가 비어 있어야 한다
-- ALTER TABLE [테이블명] MODIFY COLUMN [컬럼명 데이터타입(사이즈)];

-- float(전체자리수, 소수점자리수) -> float(3, 2) -> 0.00
alter table employees modify column commission float(3, 2);

 

-- 4) 컬럼 삭제
-- ALTER TABLE [테이블명] DROP COLUMN [컬럼명]

alter table employees drop column etc;

 

-- DDL(Data Definition Language) : 데이터 정의어
-- 데이터를 정의하고, 수정하고, 삭제하는 언어
-- CREATE, ALTER, DROP, RENAME

'개발 > DB(MariaDB)' 카테고리의 다른 글

6. DB - (key)  (0) 2025.03.17
5. DB - (트랜잭션)  (0) 2025.03.17
4. DB - (DML-2, ORDER BY, GROUP BY, HAVING)  (0) 2025.03.17
3. DB - (DML-1)  (0) 2025.03.17
1. DB - (유저 생성, 삭제, 권한)  (0) 2025.03.17