首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >【MySqL】基本命令之数据约束

【MySqL】基本命令之数据约束

作者头像
Xiongan-桃子
发布2023-06-10 16:41:32
发布2023-06-10 16:41:32
8040
举报
文章被收录于专栏:桃子小白桃子小白

一、默认约束

代码语言:javascript
复制
create table 默认约束(
    -> name VARCHAR(10),
    -> age INT UNSIGNED DEFAULT 18
-> );

插入指定name为tao的字符串成功

插入指定name,赋值为name,age 错误,只能赋值name

插入age默认值,默认为18

二、非空约束

代码语言:javascript
复制
create table 非空约束(
    -> name VARCHAR(20), ###插入字符长20的name
    -> sale INT NOT NULL, ###插入非空的字符串
    -> year INT NOT NULL DEFAULT 2022 ###插入非空的字符串,默认值为2022
    -> );

省略了sale,提示sale的值不能为空

插入name为null的成功

插入year为dafault 默认为2022成功

三、唯一约束

代码语言:javascript
复制
create table 唯一约束_lie(
    -> id INT UNSIGNED UNIQUE,
    -> name VARCHAR(10) UNIQUE
    -> );

create table 唯一约束_biao(
    -> id INT UNSIGNED,
    -> name VARCHAR(10),
    -> UNIQUE(id),
    -> UNIQUE(name)
    -> );

创建的表结构都是相同的

插入不重复值成功,插入重复值失败

创建新表test

添加唯一约束

四、主键约束

代码语言:javascript
复制
create table 主键约束(
    -> id INT UNSIGNED PRIMARY KEY,
    -> name VARCHAR(20)
    -> );

插入id为1 name为tao成功

插入id为2name为liu成功

插入重复值id为2的失败

删除主键约束

代码语言:javascript
复制
ALTER TABLE 主键约束 DROP PRIMARY KEY

删除id的主键约束

代码语言:javascript
复制
ALTER TABLE my_primary MODIFY id INT UNSIGNED;

五、自动增长

代码语言:javascript
复制
create table 自动增长(
    -> id INT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
    -> name VARCHAR(20)
    -> );

插入id为空的aaa成功 自动生成id 顺序生成

插入id为0的ddd 成功 自动按顺序往下生成

修改自动增长值为50,再次插入id会从50开始

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022 年 10 月,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、默认约束
  • 二、非空约束
  • 三、唯一约束
  • 四、主键约束
  • 五、自动增长
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档