主键
一个表只能有一个主键,主键默认不能为空,主键用PRIMARY KEY表示。
--测试主键
CREATE TABLE KEY IF NOT EXISTS uesr1(
id INT PRIMARY KEY,
username VARCHAR(20)
);
--查看创建表的定义信息
SHOW CREATE TABLE user1;
自增长AUTO_INCREATEMENT
被标记成自增长的字段一定是主键,但主键不一定是自增长,自增长只对整数类型有效,对字符串无效。
---创建一个user6表,id为主键
CREATE TABLE IF NOT EXISTS user6(
id SMALLINT KEY AUTO_INCREMENT,
username VARCHAR(20)
)AUTO_INCREMENT=10;
---设置字段
INSERT user6(username) VALUES('queen')
---修改自增长的值
ALTER TABLE uesr6 AUTO_INCREMENT = 500;
非空NOT NULL
非空意思是字段值不能为空,否则会报错、示例如下:
--创建user表,设置username,password1不为空
CREATE TABLE IF NOT EXISTS user7(
id INT UNSINGED KEY AUTO_INCREMENT,
username VARCHAR(20) NOT NULL,
password1 CHAR(32) NOT NULL,
age TINYINT UNSINGED
);
INSERT user7(username,password1) VALUES('KING','KING2');
默认值DEFAULT
默认值DEFAULT一般与非空NOT NULL一起使用,给字段一个初始值。
---设置addr默认为北京
CREATE TABLE IF NOT EXISTS user9(
id INT UNSIGNED KEY AUTO_INCREMENT,
username VARCHAR(20) NOT NULL,
password1 CHAR(32) NOT NULL,
age TINYINT UNSIGNED DEFAULT 18,
addr VARCHAR(50) NOT NULL DEFAULT '北京'
);
--对于有默认值的字段,如果不想填充值的话,可以用DEFAULT站位,例如
INSERT user9 VALUES(1,'queen','queen',DEFAULT,DEFAULT);
INSERT user9 VALUES(1,'queen','queen',DEFAULT,DEFAULT);
唯一性约束UNIQUE KEY
一个表中可以有多个唯一。
--创建表格的模板
--CREATE TABLE [IF NOT EXISTS] tbl_name(
--字段名称 字段类型[UNSIGNED | ZEROFILL] [NOT NULL] [DEFAULT 默认值] [[PRIMARY] KEY | UNIQUE[KEY]] [AUTO_INCREMENT]
)