1. 테이블 생성/수정/삭제
CREATE TABLE - 테이블 만들기
-- Column 이름과 자료형
CREATE TABLE people (
person_id INT,
person_name VARCHAR(10),
age TINYINT,
birthday DATE
);
ALTER TABLE - 테이블 변경
-- 테이블명 변경
ALTER TABLE people RENAME TO friends,
-- 컬럼 자료형 변경
CHANGE COLUMN person_id person_id TINYINT,
-- 컬럼명 변경
CHANGE COLUMN person_name person_nickname VARCHAR(10),
-- 컬럼 삭제
DROP COLUMN birthday,
-- 컬럼 추가
ADD COLUMN is_married TINYINT AFTER age;
DROP TABLE - 테이블 삭제
DROP TABLE friends;
2. INSERT INTO - 데이터 삽입
모든 컬럼에 값을 넣을 때는 컬럼명을 생략 가능하다.
자료형에 맞지 않는 값은 오류 발생
-- 일부 컬럼에만 값 넣기 가능 (NOT NULL은 생략 불가)
INSERT INTO people
(person_id, person_name, birthday)
VALUES (3, '임꺽정', '1995-11-04');
-- 여러 행을 한 번에 입력 가능
INSERT INTO people
(person_id, person_name, age, birthday)
VALUES
(4, '존 스미스', 30, '1991-03-01'),
(5, '루피 D. 몽키', 15, '2006-12-07'),
(6, '황비홍', 24, '1997-10-30');
3. 테이블 생성시 제약 넣기
CREATE TABLE people (
person_id INT AUTO_INCREMENT PRIMARY KEY,
person_name VARCHAR(10) NOT NULL,
nickname VARCHAR(10) UNIQUE NOT NULL,
age TINYINT UNSIGNED,
is_married TINYINT DEFAULT 0
);
제약 | 설명 |
AUTO_INCREMENT | 새 행 생성시마다 자동으로 1씩 증가 |
PRIMARY KEY | 중복 입력 불가, NULL(빈 값) 불가 |
UNIQUE | 중복 입력 불가 |
NOT NULL | NULL(빈 값) 입력 불가 |
UNSIGNED | (숫자일시) 양수만 가능 |
DEFAULT | 값 입력이 없을 시 기본값 |
PRIMARY KEY (기본키)
- 테이블마다 하나만 가능
- 기본적으로 인덱스 생성 (기본키 행 기준으로 빠른 검색 가능)
- 보통 AUTO_INCREMENT와 함께 사용
- 각 행을 고유하게 식별 가능 - 테이블마다 하나씩 둘 것
INSERT INTO people
(person_name, nickname, age)
VALUES ('김철수', '아이언워터', 10);
'프로그래밍 강의 메모 > 갖고노는 MySQL 데이터베이스 by 얄코' 카테고리의 다른 글
MySQL 더 깊이 알아가기 > 기본키와 고유키, 그리고 외래키 (0) | 2022.05.04 |
---|---|
데이터 조작하기 > 데이터 변경, 삭제하기 (0) | 2022.05.04 |
SELECT 더 깊이 파보기 > JOIN - 여러 테이블 조립하기 (0) | 2022.05.04 |
SELECT 더 깊이 파보기 > 쿼리 안에 서브쿼리 (0) | 2022.05.03 |
SELECT 기초 > 조건에 따라 그룹으로 묶기 (0) | 2022.05.01 |