【九月打卡】第十六天数据库约束之主键约束
2022/9/25 3:17:15
本文主要是介绍【九月打卡】第十六天数据库约束之主键约束,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
第 一 模 块
学习课程:
MySQL8.0零基础入门之从青铜到钻石
URL https://www.imooc.com/learn/1281
章节名称:
第8章 钻石局之数据库约束
讲师姓名:
欧阳熊猫老师 主页:https://www.imooc.com/u/6561220/courses?sort=publish
第 二 模 块
课程内容:
MySQL8.0零基础入门之从青铜到钻石:
第8章 钻石局之数据库约束
8-2数据库约束之主键约束
第 三 模 块 学习收获与心得
今天继续学习了8-2数据库约束之主键约束
主键的作用
用来唯一标识一条记录,每个表都应该有一个主键,并且每个表只能有一个主键。
有些记录的 name,age,sex 字段的值都一样时,那么就没法区分这些数据,造成数据库的记录不唯一,这样就不方便管理数据。
哪个字段应该作为表的主键?
通常不用业务字段作为主键,单独给每张表设计一个id的字段,把id作为主键。主键是给数据库和程序使用的,不是给最终的客户使用的。所以主键有没有含义没有关系,只要不重复,非空就行。
创建主键
主键:PRIMARY KEY
主键的特点:
主键必须包含唯一的值
主键列不能包含NULL值
创建主键方式:
在创建表的时候给字段添加主键
字段名 字段类型 PRIMARY KEY
删除主键
ALTER TABLE 表名 DROP PRIMARY KEY;
主键自增
主键如果让我们自己添加很有可能重复,我们通常希望在每次插入新记录时,数据库自动生成主键字段的值
AUTO_INCREMENT 表示自动增长(字段类型必须是整数类型)
举个栗子:
CREATE TABLE hero2(
id int PRIMARY Key AUTO_INCREMENT,
name varchar(20),
age int
);
扩展
默认地AUTO_INCREMENT 的开始值是1,如果希望修改起始值,请使用下列SQL语法
ALTER TABLE 表名 AUTO_INCREMENT=起始值;
DELETE和TRUNCATE的区别
- DELETE 删除表中的数据,但不重置AUTO_INCREMENT的值。
- TRUNCATE 摧毁表,重建表,AUTO_INCREMENT重置为1
举个栗子:DELETE FROM hero2 && TRUNCATE TABLE hero2
明天继续学习,MySQL快结束了耶!每天进步一点点~!
第 四 模 块 学习页面的截图
这篇关于【九月打卡】第十六天数据库约束之主键约束的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-21《鸿蒙HarmonyOS应用开发从入门到精通(第2版)》简介
- 2024-12-21后台管理系统开发教程:新手入门全指南
- 2024-12-21后台开发教程:新手入门及实战指南
- 2024-12-21后台综合解决方案教程:新手入门指南
- 2024-12-21接口模块封装教程:新手必备指南
- 2024-12-21请求动作封装教程:新手必看指南
- 2024-12-21RBAC的权限教程:从入门到实践
- 2024-12-21登录鉴权实战:新手入门教程
- 2024-12-21动态权限实战入门指南
- 2024-12-21功能权限实战:新手入门指南