🌱 오늘의 주제 : Database - 테이블 생성/삭제/수정 (MySQL)
🌱 자주 쓰는 MySQL 자료형(Data Type) 종류
🌱 DB 생성하기
- 쿼리문
CREATE database 데이터베이스명;
- workbench
🌱 테이블 생성하기
- 테이블의 스키마를 정의한다.
CREATE TABLE `lectureList` (
`id` int NOT NULL AUTO_INCREMENT primary key,
`lectureId` int NOT NULL,
`order` int NULL DEFAULT 0,
`subject` varchar(255) NOT NULL,
`userId` int NOT NULL,
`author` char(20) NOT NULL,
`md` text, /* NULL 가능 */
`onlyMaterial` boolean NOT NULL,
`createdAt` timestamp DEFAULT CURRENT_TIMESTAMP,
`updatedAt` timestamp DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
🌱테이블 생성문 용어 정리
1) AUTO_INCREMENT
- row의 primary key를 만드는데 주로 사용된다.(행의 번호)
- row가 추가될 때마다 1씩 증가하는 수가 자동으로 저장된다.
- 맨 아래 영역에 AUTO_INCREMENT의 시작값을 지정할 수 있다. AUTO_INCREMENT=10
2) primary key
- row의 주요(primary) key로 설정한다.
- 유일한 값을 갖는다.(중복값이 들어가면 에러 발생)
- primary key로 조회할 때 속도가 빠르다.
3) DEFAULT ...
- row를 추가하면서 값을 지정하지 않았을 때, 기본값으로 무슨 값이 들어갈지 설정
4) ENGINE(Storage Engine)
대표적인 스토리지 엔진으로 InnoDB, MyISAM 등이 있다.
- 동시성 제어나 데이터베이스의 내부 구조 제어를 담당
- MySQL 5.5 부터 기본 엔진이 InnoDB로 변경되었다.
5) CHARSET
- 문자열 set의 종류
- utf8mb4로 설정 시 이모지(emoji)가 저장될 수 있다.
🌱 테이블 삭제하기
drop table 테이블명;
🌱 테이블 수정하기
테이블명 변경
ALTER TABLE 테이블명 RENAME 변경할 테이블명;
컬럼 추가
ALTER TABLE 테이블명 ADD COLUMN 추가할 컬럼명 varchar(16) NULL;
컬럼 타입 수정
ALTER TABLE 테이블명 MODIFY COLUMN 타입 수정할 컬럼명 varchar(32) NULL;
컬럼명과 타입 수정
ALTER TABLE 테이블명 CHANGE COLUMN 이전컬럼명 변경할컬럼명 varchar(16);
'Database' 카테고리의 다른 글
Database - Query (MySQL) (0) | 2023.03.13 |
---|---|
Database - MySQL Workbench 프로그램 사용법 (0) | 2023.03.13 |
Database - INDEX란? (0) | 2023.02.21 |
Database - 테이블 설계 (0) | 2023.02.21 |
Database - 데이터베이스란? (0) | 2023.02.20 |