CREATE TABLE people ( # 테이블 만들기
person_id INT, # 숫자 자료형
person_name VARCHAR(10), # 문자열 자료형
age TINYINT, # 작은 숫자 자료형
birthday DATE # 날짜 자료형
);
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 friends;
INSERT INTO people
(person_id, person_name, age, birthday)
VALUES (1, '홍길동', 21, '2000-01-31');
INSERT INTO people
(person_id, person_name, birthday)
VALUES (3, '임꺽정', '1995-11-04');
# age 컬럼의 값을 제외하고 데이터를 넣었다.
# NOT NULL 옵션이 있으면 제외할 수 없다.
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');
# 한번에 2개이상의 행에 자료를 넣을 수 있다.
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
);
PRIMARY KEY
- 테이블마다 한개의 컬럼에만 적용 가능
- 기본적으로 인덱스 생성
- 보통 AUTO_INCREMENT와 함께 사용
- 고유한 값으로 data를 식별하는데 사용 가능
MYSQL workbench의 경우 Safe Updates 항목 허용해줘야 수정 및 삭제 가능
DELETE FROM businesses
WHERE status = 'CLS';
# status 행이 CLS인 자료 삭제
DELETE FROM businesses;
다음과 같이 조건을 주지 않고 삭제 요청을 실행하면 모든 data가 삭제 되기 때문에 조심해야함.
테이블 초기화 하기
TRUNCATE businesses;
UPDATE menus # menus table을 업데이트 한다.
SET menu_name = '삼선짜장' # 수정할 내용
WHERE menu_id = 12; # 수정해줄 행
행의 1개 컬럼 수정하기
UPDATE menus
SET
menu_name = '열정떡볶이',
kilocalories = 492.78,
price = 5000
WHERE
fk_business_id = 4
AND menu_name = '국물떡볶이';
행의 둘 이상의 컬럼 수정하기
UPDATE menus
SET menu_name = '획일화';
다음과 같이 조건을 주지 않고 수정 요청을 실행하면 모든 data가 해당 자료로 획일화 되어 수정 되기 때문에 조심해야함.