首页 > 数据库 >MYSQL学习笔记18: 约束

MYSQL学习笔记18: 约束

时间:2024-03-09 09:33:25浏览次数:35  
标签:name 19 18 age 笔记 MYSQL into 主键 users

约束


约束是作用于表中字段上的规则, 用于限制存储在表中的数据.

保证表中的正确性, 有效性和完整性

约束作用于表中字段上, 可以在建表和修改表时为表添加约束


按照需求创建表,并创建约束
create table users(
    id int primary key auto_increment comment '主键', 
    name varchar(10) not null unique comment '姓名',
    age int check (age>0 && age<=120) comment '年龄',
    status char(1) default '1' comment '状态',
    gender char(1) comment '性别'
) comment '用户表';
插入数据
insert into users (name, age, status, gender) values
    ('tom1',19,'1','男'),
    ('tom2',25,'0','男');

向表中插入名字重复的数据,报错

insert into users (name, age, status, gender) values
    ('tom1',19,'1','男');


向表中插入名字非重复的数据

insert into users (name, age, status, gender) values
    ('tom4',19,'1','男');

发现主键自增到4


向表中插入为名字为null的数据,报错

insert into users (name, age, status, gender) values
    (null,19,'1','男');


再次插入非空非重复数据

insert into users (name, age, status, gender) values
    ('tom5',19,'1','男');

插入重复数据会使主键自增, 插入空值不会使主键自增,同时check错误也不会使主键自增

标签:name,19,18,age,笔记,MYSQL,into,主键,users
From: https://www.cnblogs.com/HIK4RU44/p/18062273

相关文章

  • MYSQL学习笔记15: 数值函数
    数值函数ceil向上取整(并不是四舍五入)selectceil(1.5);selectceil(2.1);floor向下取整selectfloor(3.9);selectfloor(2.0);mod取模(余数)selectmod(7,4);rand0-1的随机小数,不包括0和1selectrand();round四舍五入#参数2:保留的......
  • MYSQL学习笔记16: 日期函数
    日期函数返回当前日期selectcurdate();返回当前时间(24小时制)selectcurtime();返回当前日期+时间selectnow();YEAR,MONTH,DAY获取当前时间对应的年月日selectyear(now());selectmonth(now());selectday(now());在制定日期上增加时间后的日期......
  • MYSQL学习笔记9: DQL排序查询(升降序)
    DQL排序查询select字段列表from表名orderby字段1排序方式1,字段2排序方式2;排序方式ASC升序(默认)DESC降序如果是多字段排序,第一个字段值相同,会根据第二个字段的值进行排序,以此类推按年龄降序排序select*fromworkersorderbyagedesc;......
  • MYSQL学习笔记10: DQL分页查询(利用limit)
    DQL分页查询(利用limit)select字段列表from表名limit起始索引,查询记录数;起始索引从0开始,起始索引=(查询页码-1)*每页显示记录数分页查询是数据库的方言,不同数据库有不同的实现,MYSQL中是LIMIT如果查询的是第一页的数据,起始索引可以省略,直接简写为l......
  • MYSQL练习1: DQL查询练习
    MYSQL练习1DQL查询练习查询年龄为20,21,22,23岁的员工信息select*fromworkerswhereagein(20,21,22,23);查询性别为男,年龄在20-40岁间,姓名长度为3的员工select*fromworkers    where    gender='男'    and    agebetwe......
  • MYSQL学习笔记12: DCL数据控制语言(用户操作)
    DCL数据控制语言查询用户#用户信息保存在数据库mysql的user表中usemysql;select*fromuser;创建用户createuser'用户名'@'主机名'identifiedby'密码';在主机localhost创建一个新用户createuser'hikari39'@'localhost'identifiedby'123456......
  • MYSQL学习笔记13: DCL权限控制(用户权限操作)
    DCL权限控制查询权限showgrantsfor'用户名'@'主机名';查询某个用户的权限showgrantsfor'hikaru39'@'localhost';授予权限grant权限列表on数据库名.表名to'用户名'@'主机名';授予某个用户权限#all,给予数据库itcast中所有表的权限grantallonitcast......
  • MYSQL学习笔记14: 函数
    函数字符串函数字符串拼接--concatselectconcat('hello','MYSQL');大小写转换--lowerselectlower('HELLO');--upperselectupper('hello');左右填充--lpadselectlpad('1',8,'0');--rpadselectrp......
  • MYSQL学习笔记7: 聚合函数
    聚合函数★所有的null值不参加聚合函数的计算count    统计数量max    最大值min最小值avg平均值sum求和格式select聚合函数(字段列表)from表名从workers表中查询#查询记录数量selectcount(*)fromworkers;#查......
  • 学习笔记:勒让德(Legendre)符号
    授课老师:ybx、chh。授课时间:2024/3/8。授课内容纲要:勒让德符号及其性质(欧拉准则,高斯引理,二次互反律)。勒让德符号概括好像在OI和MO当中都挺有用的。勒让德符号的定义假设\(p\)为奇质数,\(a\inU_p\)(\(U_p=\{1,2,\dots,p-1\}\)),则:\[\left(\dfracap\right)=\begin{cases}......