3. 복습:사용자추가/데이터베이스추가
m> CREATE USER 'popi'@'localhost' IDENTIFIED BY 'db1004';
m> CREATE DATABASE popidb;
m> GRANT ALL ON popidb.* TO 'popi'@'localhost' WITH GRANT OPTION;
m> flush privileges;
m> quit;
$ mysql-u popi-p
m> show databases;
m> use popidb;
4. 복습:간단CRUD예제
m> USE popidb;
m> CREATE TABLE student(
namechar(16),
id char(16)
birth date,
gpadouble
);
m> INSERT INTO student values('Hoyoung', 'honux', '1995-12-9', 3.5),
('gildong', 'hong', '1500-3-1', 0.9);
m> select * from student;
13. DEFAULT
money는NOTNULL이고최초생성시에$5를준다고합니다.
이럴때DEAULT키워드를사용할수있습니다.
m> DROP TABLE IF EXISTS auction_user;
m> CREATE TABLE auction_user(
id varchar(16),
name varchar(24) NOT NULL,
birth date,
last datetime,
money dec(8, 2) NOT NULL DEFAULT 5.00,
PRIMARY KEY(id)
);
m> INSERT INTO auction_user(id, name) VALUES ('nero', 'ko');
m> SELECT * FROM auction_user;
14. UNIQUE
기본키외에고유한값을가지는컬럼에UNIQUE를사용합니다.
이제이름이같은유저두명이존재할수없습니다.
잘못설계했습니다…
m> DROP TABLE IF EXISTS auction_user;
m> CREATE TABLE auction_user(
id varchar(16),
name varchar(24) NOT NULL UNIQUE,
birth date,
last datetime,
money dec(8, 2) NOT NULL DEFAULT 5.00,
PRIMARY KEY(id)
);
15. 생일말고주민번호를추가로저장하기로했습니다.
괜찮을까요?
m> DROP TABLE IF EXISTS auction_user;
m> CREATE TABLE auction_user(
id varchar(16),
name varchar(24) NOT NULL,
ssn1 char(6),
ssn2 char(7),
last datetime,
money dec(8, 2) NOT NULL DEFAULT 5.00,
PRIMARY KEY(id)
);
16. 생일말고주민번호를추가로저장하기로했습니다.
괜찮을까요?
m> DROP TABLE IF EXISTS auction_user;
m> CREATE TABLE auction_user(
id varchar(16),
name varchar(24) NOT NULL,
ssn1 char(6) UNIQUE,
ssn2 char(7) UNIQUE,
last datetime,
money dec(8, 2) NOT NULL DEFAULT 5.00,
PRIMARY KEY(id)
);
17. 생일말고주민번호를추가로저장하기로했습니다.
이제괜찮습니다.
m> DROP TABLE IF EXISTS auction_user;
m> CREATE TABLE auction_user(
id varchar(16),
name varchar(24) NOT NULL,
ssn1 char(6),
ssn2 char(7),
last datetime,
money dec(8, 2) NOT NULL DEFAULT 5.00,
PRIMARY KEY(id),
UNIQUE(ssn1, ssn2)
);
18. MySQL만의제약조건으
로PRIMARYKEYAUTO_INCREMENT가있습니다.
m> CREATE TABLE inc_test(
numintPRIMARY KEY AUTO_INCREMENT,
value char(8)
);
m> INSERT INTO inc_test(value) VALUES ('a'), ('b'), ('c');
m> SELECT * FROM inc_test;