系列三完整性约束条件
#第十二课时测试主键长度
--完整性约束条件
--PRIMARY KEY 主键,不能重复,非空,无意义字段,
--AUTO_IINCREMENT
--FOREIGN KEY
--NOT NULL
--UNIQUE KEY
--DEFAULT
--的是主键
CREATE TABLE IF NOT EXISTS USER1(
id INT PRIMARY KEY,
username VARCHAR(20)
);
--查看创建表的定义
SHOW CREATE TABLE user1;
INSERT user1 VALUES(1,'king')
INSERT user1 VALUES(2,'quee')
CREATE TABLE IF NOT EXISTS user2(
id INT,
username VARCHAR(20),
card CHAR(18),
PRIMARY KEY(id, card)
);
INSERT user2 values(1,'king','111');
INSERT user2 values(1,'queue','112');
#第十三课时自增长
--AUTO_INCREMENT,对象一定是主键,在已有的最大主键上+1
--测试自增长
CREATE TABLE IF NOT EXISITS user5(
id SMALLINT KEY AUTO_INCREMENT,
username VARCHAR(20)
);
--指定位置插入值
INSERT user5(username) VALUES('queue');
INSERT user5 VALUES(DEFUALT,'HAHA')
INSERT user5 VALUES(null,'HAHA')
--修改自增长的起始值
ALTER TABLE user6 AUTO_INCREMENT = 500;
#第十四课时非空约束
--NOT NULL 非空
--测试非空
CREATE TABLE IF NOT EXISTS user7(
id INT UNSIGNED KEY AUTO_INCREMENT,
username VARCHAR(20) NOT NULL,
password CHAR(32)NOT NULL,
age TINYINT UNSIGNED
);
INSERT user7(username,password) VALUES('KING1','KINGJ',12)
#第十五课时默认值
--DEFAULT配合NOT NULL使用
CREATE TABLE IF NOT EXISTS user8(
id INT UNSIGNED KEY AUTO_INCREMENT,
username VARCHAR(20) NOT NULL,
password CHAR(32)NOT NULL,
age TINYINT UNSIGNED DEFAULT 18,
addr VARCHAR(50) NOT NULL DEFAULT 'BEIJING'
);
#唯一性约束条件
--UNIQUE KEY唯一
CREATE TABLE IF NOT EXISTS user9(
id TINYINT UNDIGNED KEY AUTO_INCREMENT,
username VARCHAR(20) NOT NULL UNIQUE,
card CHAR(17) UNIQUE
);
--NULL值不算重复
CREATE TABEL [IF NOT EXISTS] tbl_name(
字段名称 字段类型 [unsigned|zerofill] [default 默认这][not null] [[primary]KEY|UNIQUE[KEY]]
)ENGINE = INNODB CHARSET = UTF8 AUTO_INCREMENT = 100;