【博学谷学习记录】超强总结,用心分享|Java,了解MySQL高级

经过本次的学习我初步了解了什么是MySQL高级

 

目录

1.4 唯一约束

1.5 主键约束

1.6 默认约束


  1.1  概念

* 约束是作用于表中列上的规则,用于限制加入表的数据

  例如:我们可以给id列加约束,让其值不能重复,不能为null值。

* 约束的存在保证了数据库中数据的正确性、有效性和完整性

  添加约束可以在添加数据的时候就限制不正确的数据,年龄是3000,数学成绩是-5分这样无效的数据,继而保障数据的完整性。

1.2  分类

* **非空约束: 关键字是 NOT NULL

  保证列中所有的数据不能有null值。

  例如:id列在添加 `马花疼` 这条数据时就不能添加成功。

唯一约束:关键字是  UNIQUE

  保证列中所有数据各不相同。

  例如:id列中三条数据的值都是1,这样的数据在添加时是绝对不允许的。

主键约束: 关键字是  PRIMARY KEY

  主键是一行数据的唯一标识,要求非空且唯一。一般我们都会给没张表添加一个主键列用来唯一标识数据。

  例如:上图表中id就可以作为主键,来标识每条数据。那么这样就要求数据中id的值不能重复,不能为null值。

检查约束: 关键字是  CHECK

  保证列中的值满足某一条件。

  例如:我们可以给age列添加一个范围,最低年龄可以设置为1,最大年龄就可以设置为300,这样的数据才更合理些。

  > 注意:MySQL不支持检查约束。
  >
  > 这样是不是就没办法保证年龄在指定的范围内了?从数据库层面不能保证,以后可以在java代码中进行限制,一样也可以实现要求。

默认约束: 关键字是   DEFAULT

  保存数据时,未指定值则采用默认值。

  例如:我们在给english列添加该约束,指定默认值是0,这样在添加数据时没有指定具体值时就会采用默认给定的0。

外键约束: 关键字是  FOREIGN KEY

  外键用来让两个表的数据之间建立链接,保证数据的一致性和完整性。

  外键约束现在可能还不太好理解,后面我们会重点进行讲解。

1.3  非空约束

* 概念

  非空约束用于保证列中所有数据不能有NULL值

* 语法

  * 添加约束

-- 创建表时添加非空约束
CREATE TABLE 表名(
   列名 数据类型 NOT NULL,
   …
); 
-- 建完表后添加非空约束
ALTER TABLE 表名 MODIFY 字段名 数据类型 NOT NULL;

删除约束

ALTER TABLE 表名 MODIFY 字段名 数据类型;

1.4 唯一约束

  • 概念

    唯一约束用于保证列中所有数据各不相同

  • 语法

    • 添加约束

    • -- 创建表时添加唯一约束
      CREATE TABLE 表名(
         列名 数据类型 UNIQUE [AUTO_INCREMENT],
         -- AUTO_INCREMENT: 当不指定值时自动增长
         …
      ); 
      CREATE TABLE 表名(
         列名 数据类型,
         …
         [CONSTRAINT] [约束名称] UNIQUE(列名)
      ); 
      -- 建完表后添加唯一约束
      ALTER TABLE 表名 MODIFY 字段名 数据类型 UNIQUE;

      删除约束

    • ALTER TABLE 表名 DROP INDEX 字段名;

1.5 主键约束

  • 概念

    主键是一行数据的唯一标识,要求非空且唯一

    一张表只能有一个主键

  • 语法

    • 添加约束

    • -- 创建表时添加主键约束
      CREATE TABLE 表名(
         列名 数据类型 PRIMARY KEY [AUTO_INCREMENT],
         …
      ); 
      CREATE TABLE 表名(
         列名 数据类型,
         [CONSTRAINT] [约束名称] PRIMARY KEY(列名)
      ); 
      -- 建完表后添加主键约束
      ALTER TABLE 表名 ADD PRIMARY KEY(字段名);

      删除约束

    • ALTER TABLE 表名 DROP PRIMARY KEY;

 

1.6 默认约束

  • 概念

    保存数据时,未指定值则采用默认值

  • 语法

    • 添加约束

-- 创建表时添加默认约束
CREATE TABLE 表名(
   列名 数据类型 DEFAULT 默认值,
   …
); 
-- 建完表后添加默认约束
ALTER TABLE 表名 ALTER 列名 SET DEFAULT 默认值;

 删除约束

ALTER TABLE 表名 ALTER 列名 DROP DEFAULT;

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值