[MySQL] InsertUpdateDelete 1
2023. 1. 12. 17:10
MySQL에서 지원하는 컬럼 타입
- Numeric Type
- INTEGER, INT, SMALLINT, TINYINT, MEDIUMINT, BIGINT
- DECIMAL, NUMERIC
- FLOAT, DOUBLE, BIT
- Date and Time Type
- DATE, DATETIME, TIMESTAMP,TIME, YEAR
- String Type
- CHAR, VARCHAR, BINARY, VARBINARY, BLOB, TEXT, ENUM, SET
- JSON Type
- 다양한 JSON 조작함수를 제공함
- Spatial Type
- 위도와 경도를 중심으로한 위치 관련 타입
TABLE 생성
CREATE TABLE prod.vital (
user_id int not null,
vital_id int primary key,
date timestamp not null,
weight int not null
);
CREATE TABLE prod.alert (
alert_id int primary key,
vital_id int,
alert_type varchar(32),
date timestamp,
user_id int
);
테이블 2개 생성
INSERT INTO prod.vital(user_id, vital_id, date, weight) VALUES(100, 1, '2020-01-01', 75);
INSERT INTO prod.vital(user_id, vital_id, date, weight) VALUES(100, 3, '2020-01-02', 78);
INSERT INTO prod.vital(user_id, vital_id, date, weight) VALUES(101, 2, '2020-01-01', 90);
INSERT INTO prod.vital(user_id, vital_id, date, weight) VALUES(101, 4, '2020-01-02', 95);
INSERT INTO prod.vital(user_id, vital_id, date, weight) VALUES(999, 5, '2020-01-02', -1);
INSERT INTO prod.vital(user_id, vital_id, date, weight) VALUES(999, 5, '2020-01-02', 10);
-- primary key unit 제약 벗어남
-- weight -1인 것도 나중에 예외처리.
INSERT INTO prod.alert VALUES(1, 4, 'WeightIncrease', '2020-01-02', 101);
INSERT INTO prod.alert VALUES(2, NULL, 'MissingVital', '2020-01-04', 100);
INSERT INTO prod.alert VALUES(3, NULL, 'MissingVital', '2020-01-04', 101);
-- 위와 다르게 순서 지정하지 않고 바로 VALUES 씀.
-- 원래 TABLES 만들 때 지정했던 FIELD 순서대로 라면 FIELD 리스트 지정하지 않아도 됨.
생성 후 vital TABLE에는 5개의 레코드, alert TABLE에는 3개의 레코드가 들어가 있을 것임.
'Programming > MySQL' 카테고리의 다른 글
[MySQL] JOIN (0) | 2023.01.13 |
---|---|
[MySQL] InsertUpdateDelete 2 (0) | 2023.01.12 |
[MySQL] 실습 내용 [GROUP BY] (0) | 2023.01.12 |
[MySQL] 실습 내용 [STRING, ORDER BY, DATE, TYPE CASTING] (0) | 2023.01.12 |
[MySQL] MySQLWorkbench 실습 환경 구축 및 실습 내용 (0) | 2023.01.12 |