SQL中的键与约束

张开发
2026/5/28 16:49:32 15 分钟阅读
SQL中的键与约束
在SQL这里所说的约束是一种规则它不是一个具体的代码或者指令。然后我们创建了键然后给不同的键添加了不同的规则用来实现约束。约束的存在主要解决三大问题确保数据库数据可靠防止无效数据比如禁止在 “年龄” 列插入负数或字符串。避免重复数据比如确保 “用户 ID” 列不会出现两个相同的编号。维护表间关联比如确保 “订单表” 中的 “用户 ID”在 “用户表” 中一定存在。2. 空属性我们可以理解为在一些用户注册的时候要求必须填入的部分。简单来说就是在创建的时候我们可以设置某一个字段不可以为空然后用户在输入的时候为空了那就报错。使用方式null默认的和not null(不为空)我们可以在参数后面添加这个用来表示是否可以为空。我们看如果不给a1插入的话就会报错因为我们提前设置了要求a1不可以为空。这就是一种约束。我们查看t1也可以发现在Null这一栏a1写的是NO。3. 默认值default这个我们可以理解为比如说在填入自己的信息是默认都是汉族类似于这种。1default我们看下面这张表格如果我们设置了其中一个为default那么哪怕我们不填入它也会是1。如果我们往a1里面填入了那么它就是我们填入的值。4.列描述comment列描述comment没有实际含义专门用来描述字段会根据表创建语句保存用来给程序员或DBA 来进行了解。简单来说就是注释。我们在创建的时候这么写。然后我们通过下面这行代码就可以查看到注释信息。5. 主键主键primary key用来唯一的约束该字段里面的数据不能重复不能为空一张表中最多只能有一个。同时当一个字段被确认为主键的时候那么就意味着它在插入的时候必须被填入同时也不允许重复。我们看下面这一张图片当a1被设置为主键时候Key这一栏就显示为PRI。如果我们插入两个一样的数给a1那么就会直接报错。当表创建好以后但是没有主键的时候可以再次追加主键1altertable表名addprimarykey(字段列表)删除主键1altertable表名dropprimarykey;复合主键在创建表的时候在所有字段之后使用primary key(主键字段列表)来创建主键如果有多个字段作为主键可以使用复合主键。在这里的报错条件就是多个字段全部重复。我们看下面这一张图片在id和course全部重复的时候那么就会报错。下面这行代码是设置复合主键的方式。12345mysqlcreatetablett14( - idintunsigned,- coursechar(10) comment课程代码,- score tinyint unsigneddefault60 comment成绩,-primarykey(id, course)-- id和course为复合主键 - );Query OK, 0rowsaffected (0.01 sec)6.自增长auto_increment当对应的字段不给值会自动的被系统触发系统会从当前字段中已经有的最大值 1操作得到一个新的不同的值。通常和主键搭配使用作为逻辑主键。自增长的特点:任何一个字段要做自增长前提是本身是一个索引key一栏有值自增长字段必须是整数一张表最多只能有一个自增长auto_increment必须在主键或者唯一索引的地方使用。我们看下面这一张图片如果设置成功的话我们desc会在Extra的地方显示一个auto_increment。

更多文章