档案网站建设的步骤汕头建站程序

张小明 2026/1/1 10:59:15
档案网站建设的步骤,汕头建站程序,简单的个人主页网站制作,网站的动态是什么意思一、先明确#xff1a;为什么必须掌握唯一约束#xff1f;你是否知道添加唯一约束的多种方式#xff1f;#xff08;创建表时 / 修改表时#xff09;能否区分 “单列唯一约束” 和 “多列唯一约束” 的适用场景?是否了解唯一约束的核心特性?#xff08;比如与主键的区别…一、先明确为什么必须掌握唯一约束你是否知道添加唯一约束的多种方式创建表时 / 修改表时能否区分 “单列唯一约束” 和 “多列唯一约束” 的适用场景?是否了解唯一约束的核心特性?比如与主键的区别、对 NULL 值的处理二、先铺垫什么是 MySQL 唯一约束唯一约束UNIQUE Constraint是 MySQL 中用于限制字段或多个字段组合的值不能重复的一种约束它能保证数据表中指定字段的唯一性防止重复数据插入从而保障数据的有效性。比如用户表的phone手机号字段添加唯一约束后就无法插入两个手机号相同的用户订单表的order_no订单编号添加唯一约束后不会出现重复的订单编号。三、核心添加唯一约束的 3 种方式-- 基础表结构未加唯一约束 CREATE TABLE sys_user ( id INT PRIMARY KEY AUTO_INCREMENT, -- 主键自增 username VARCHAR(50) NOT NULL, -- 用户名 phone VARCHAR(11), -- 手机号 email VARCHAR(50), -- 邮箱 dept_id INT -- 部门ID );方式 1创建表时添加唯一约束在CREATE TABLE语句中通过UNIQUE关键字直接给字段添加唯一约束支持「单列唯一」和「多列唯一」两种场景。1.1 单列唯一约束单个字段值唯一语法在字段定义后直接添加 UNIQUE 关键字或 UNIQUE KEY两者等价。SQL 示例 1创建用户表时给username用户名添加唯一约束保证用户名不重复CREATE TABLE sys_user ( id INT PRIMARY KEY AUTO_INCREMENT, username VARCHAR(50) NOT NULL UNIQUE, -- 单列唯一约束用户名唯一 phone VARCHAR(11), email VARCHAR(50), dept_id INT );SQL 示例 2给phone手机号添加唯一约束同时指定约束名称便于后续删除 / 修改CREATE TABLE sys_user ( id INT PRIMARY KEY AUTO_INCREMENT, username VARCHAR(50) NOT NULL, phone VARCHAR(11), email VARCHAR(50), dept_id INT, -- 单列唯一约束指定约束名称uq_sys_user_phone更易维护 UNIQUE KEY uq_sys_user_phone (phone) );适用场景单个字段需要保证唯一性的场景如用户名、手机号、订单编号。1.2 多列唯一约束联合唯一多个字段组合值唯一通俗定义不是单个字段的值唯一而是多个字段的「组合值」唯一单个字段值可重复组合后不可重复。语法在表结构末尾通过 UNIQUE KEY 约束名 (字段1, 字段2, ...) 定义。SQL 示例给dept_id部门 ID和username用户名添加联合唯一约束同一部门内用户名不能重复不同部门可重复CREATE TABLE sys_user ( id INT PRIMARY KEY AUTO_INCREMENT, username VARCHAR(50) NOT NULL, phone VARCHAR(11), email VARCHAR(50), dept_id INT, -- 多列联合唯一约束同一部门内用户名唯一 UNIQUE KEY uq_sys_user_dept_username (dept_id, username) );适用场景需要按 “组合条件” 保证唯一性的场景如同一部门用户名唯一、同一商品的规格组合唯一。方式 2修改表时添加唯一约束表已存在时使用如果表已经创建完成比如前期设计遗漏了唯一约束可以通过ALTER TABLE语句添加唯一约束同样支持单列和多列场景。2.1 给单列添加唯一约束语法ALTER TABLE 表名 ADD UNIQUE KEY [约束名] (字段名);SQL 示例给已存在的sys_user表的email字段添加唯一约束-- 方式1不指定约束名MySQL会自动生成默认约束名不推荐 ALTER TABLE sys_user ADD UNIQUE KEY (email); -- 方式2指定约束名推荐便于后续维护 ALTER TABLE sys_user ADD UNIQUE KEY uq_sys_user_email (email);2.2 给多列添加联合唯一约束语法ALTER TABLE 表名 ADD UNIQUE KEY 约束名 (字段1, 字段2, ...);SQL 示例给已存在的sys_user表添加dept_id和username的联合唯一约束ALTER TABLE sys_user ADD UNIQUE KEY uq_sys_user_dept_username (dept_id, username);适用场景表已创建完成需要补充唯一约束的场景如需求迭代后新增唯一性要求。方式 3创建唯一索引功能等价于唯一约束MySQL 中唯一约束的本质是通过唯一索引实现的创建唯一索引CREATE UNIQUE INDEX和添加唯一约束在功能上完全一致都能保证字段值的唯一性。语法CREATE UNIQUE INDEX 索引名 ON 表名 (字段1, 字段2, ...);SQL 示例 1给sys_user表的phone字段创建唯一索引CREATE UNIQUE INDEX idx_sys_user_phone_unique ON sys_user (phone);SQL 示例 2给sys_user表的dept_id和username创建联合唯一索引CREATE UNIQUE INDEX idx_sys_user_dept_username_unique ON sys_user (dept_id, username);适用场景更偏向 “索引优化” 场景比如需要通过唯一索引提升查询效率同时保证数据唯一性实习生了解即可优先掌握前两种方式。四、唯一约束的核心特性对 NULL 值的处理唯一约束允许字段存储多个NULL值因为 MySQL 中NULL不等于任何值包括它自身。与主键PRIMARY KEY的区别特性唯一约束UNIQUE主键PRIMARY KEY唯一性保证字段值唯一保证字段值唯一非空性允许 NULL 值单列不允许 NULL 值一个表数量可以有多个唯一约束单列 / 多列一个表只能有一个主键可联合主键索引类型唯一索引聚簇索引约束的删除如果需要删除唯一约束可通过约束名 / 索引名删除-- 语法ALTER TABLE 表名 DROP INDEX 约束名/索引名; ALTER TABLE sys_user DROP INDEX uq_sys_user_phone;加分项结合项目举例“我在实训项目的用户注册模块中给手机号phone字段添加了唯一约束避免同一手机号重复注册同时给部门 IDdept_id和用户名username添加了联合唯一约束保证同一部门内用户名不重复”区分场景选择方式“创建表时我会直接添加唯一约束表已存在时用ALTER TABLE补充需要提升查询效率时会创建唯一索引”注意 NULL 值特性“我知道唯一约束允许多个 NULL 值所以如果手机号是必填项我会同时给phone字段加NOT NULL和唯一约束避免出现空值重复问题”。踩坑点混淆唯一约束和主键比如认为 “一个表只能有一个唯一约束”或给需要非空的字段只加唯一约束不加NOT NULL忽略多列联合唯一的逻辑比如误以为多列联合唯一是 “每个字段都唯一”而不是 “组合值唯一”不指定约束 / 索引名创建唯一约束时不指定名称后续需要删除 / 修改时无法快速定位依赖 MySQL 默认生成的复杂名称。举一反三1、“唯一约束和主键有什么区别如果我想让手机号既非空又唯一该怎么设置”答案给phone字段同时添加NOT NULL和UNIQUE约束2、“我插入一条username为‘zhangsan’、dept_id为 1 的记录后还能插入username为‘zhangsan’、dept_id为 2 的记录吗为什么”答案可以因为是联合唯一约束组合值不同即可3、“如何删除sys_user表中uq_sys_user_phone这个唯一约束”答案ALTER TABLE sys_user DROP INDEX uq_sys_user_phone;。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

企业网站建设与网页制作国外网站工作室

Vue-Tree-Chart:5分钟构建专业级树状数据可视化 【免费下载链接】Vue-Tree-Chart A Vue component to display tree chart 项目地址: https://gitcode.com/gh_mirrors/vu/Vue-Tree-Chart 你是否曾为如何优雅展示组织架构、家谱关系或文件目录而烦恼&#xff…

张小明 2025/12/26 7:35:28 网站建设

成都市建设局权益卡网站网站建设策划书封面

Spotify推出的AI播放列表新功能让用户能够通过AI提示词来控制推荐算法。这项名为"提示词播放列表"的新功能首先在新西兰进行测试,用户可以输入他们想要听的内容描述,无论是详细还是简单的描述都可以。然后Spotify的AI会根据这些指令和用户的收…

张小明 2025/12/26 23:24:28 网站建设

做暧暧网站西点培训班一般要多少学费

还在为网页上复杂的信息查找而烦恼吗?Chrome Regex Search扩展为你带来了全新的搜索体验!这个强大的工具能够让你在任意网站上使用正则表达式进行精准搜索,彻底告别传统文本查找的局限性。 【免费下载链接】chrome-regex-search 项目地址:…

张小明 2025/12/26 13:09:40 网站建设

商城网站开发业务郑州做网站云极

Beyond Compare 5密钥生成实战:从原理到验证的完整指南 【免费下载链接】BCompare_Keygen Keygen for BCompare 5 项目地址: https://gitcode.com/gh_mirrors/bc/BCompare_Keygen 面对Beyond Compare 5的30天评估期限制,我们找到了一套完整的技术…

张小明 2025/12/26 16:34:53 网站建设

wordpress-5.2.zipseo运营推广

第一章:金融 Agent 安全验证的核心挑战在金融领域,Agent 系统(如智能投顾、自动化交易机器人、风控代理等)的广泛应用提升了服务效率与决策速度,但同时也引入了复杂的安全验证难题。这些系统通常需访问敏感数据、执行高…

张小明 2025/12/26 11:39:56 网站建设

张家港市建设局网站WordPress登录界面个性化

如何通过智能代码分割与懒加载策略大幅提升前端应用性能 【免费下载链接】deprecated-version Next version of roadmap.sh 项目地址: https://gitcode.com/gh_mirrors/de/deprecated-version 在现代前端开发中,用户对应用加载速度的期望越来越高。面对包含大…

张小明 2025/12/27 4:04:12 网站建设