MySQL-表的约束性条件

主键

        一个表只能有一个主键,主键默认不能为空,主键用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]
)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值