MYSQL:约束(主键约束)

简介: MYSQL:约束(主键约束)

主键(PRIMARY KEY)初步定义以及操作:

单列主键的使用:

-- 约束:1主键  的使用方法primary key
 
-- 单列主键的使用  需要注意的是,每一张的表有且仅仅只能够有一个主键的存在
-- 主键约束作用:能够让这一列的数据非空,并且不能够是重复的,是唯一的.
-- 只要体现在使用DML进行添加数据的时候会有作用,约束
use mysql2;
 
-- 主键的两种使用方式,一:直接在创建表的时候在某个行结尾进行约束
create table yueshu(
NAME varchar(20),
id int PRIMARY KEY,  -- 
address varchar(20),
gender varchar(2)
);
-- 方法2:在结尾处直接进行添加约束
-- create table yueshu(
-- NAME varchar(20),
-- id int , 
-- address varchar(20),
-- gender varchar(2),
-- PRIMARY key (id)
-- );
 
 

联合主键的使用:

 
 
-- 联合主键的使用:同样的,也是需要满足仅仅是只有一个主键的存在,而不能够有多个的联合主键存在
 
create table yueshu(
NAME varchar(20),
id int ,  -- 
address varchar(20),
gender varchar(2),
primary key(id,name)
);
 
insert into yueshu(name,id,gender) VALUES('张三',1001,'男');
insert into yueshu(name,id,gender) VALUES('张三',1002,'男');
insert into yueshu(name,id,gender) VALUES('李四',1002,'男');
insert into yueshu(name,id,gender) VALUES(null,1001,'男');
insert into yueshu(name,id,gender) VALUES(null,null,'男');
-- 显然对于联合主键来讲,只要不是两个约束的列完全一样,都能够进行输入,
-- 但是,对于经过在表当中约束过后的,都必须满足不是null的,及时的联合主键,也都必须满足是
-- 非null的,哪怕仅仅只有一个约束的列是null,而不是全部都是null,也一样会报错
 
-- 三:另外一种添加约束的方法,即使忘记了在表中添加约束,也能在表外面进行约束
-- 并且,这种添加约束的方式可以是单列约束,也可以是联合主键约束
 
drop table yueshu;
 
create table yueshu(
NAME varchar(20),
id int ,  -- 
address varchar(20),
gender varchar(2)
);
alter table yueshu add primary key(id,name); -- 在结尾的地方,可以仅仅只添加一列,也可以同时添加多列进行
 
-- 对于表格当中的主键约束进行删除的操作,仅仅只能够删除全部的主键约束,而不能够仅仅针对个别的主键约束


主键的删除操作(包括单列以及联合主键都能够进行使用) :


-- 进行删除操作(单列以及联合主键都可以进行使用)
alter table yueshu drop PRIMARY key;
相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
存储 安全 关系型数据库
MySQL数据库约束条件概述及其重要性讨论。
正确地实现并管理好各类紧缩条件将直接影响到企业信息管理水平与服务质量,在当今大数据背景下更显得格外重要;任何设计师都需要深刻理解其原理与运作机晰承担起责任使得所托管资料安全稳固同时又具备良好伸缩灵活度迎合日益复杂商务需求变动.
378 11
|
NoSQL 关系型数据库 MySQL
2024Mysql And Redis基础与进阶操作系列(4-2)作者——LJS[含MySQL非空、唯一性、PRIMARY KEY、自增列/自增约束举例说明等详解步骤及常见报错问题对应的解决方法]
24MySQL非空、唯一性、PRIMARY KEY、自增列/自增约束举例说明等详解步骤及常见报错问题对应的解决方法(4-2) 学不会你来砍我!!!
|
存储 缓存 关系型数据库
MySQL为什么需要主键
本文介绍了MySQL中主键的重要性及最佳实践。主键用于唯一标识表中的每一行,其值必须唯一且不允许为空。主键有助于简化更新和删除操作,避免影响无关行。推荐使用与业务无关的自增ID作为Innodb表的主键,以优化存储结构、减少碎片并提高性能。此外,文章还提到不更新、不重用主键值以及避免使用可能变更的字段(如邮箱)作为主键的良好习惯。最后强调了紧凑索引结构对查询效率的关键作用。
524 0
MySQL为什么需要主键
|
存储 SQL 关系型数据库
【MySQL基础篇】MySQL约束语法
文章介绍了MySQL中表的约束概念,包括非空、唯一、主键、默认和外键约束,以及如何在创建和修改表时指定这些约束。外键约束用于保持数据的一致性和完整性,文章通过示例展示了添加、删除外键的语法,并讨论了不同的删除/更新行为,如CASCADE和SETNULL。
【MySQL基础篇】MySQL约束语法
|
存储 关系型数据库 MySQL
MySQL主键谁与争锋:MySQL为何钟爱自增主键ID+UUID?
本文深入探讨了在MySQL中使用自增类型主键的优势与局限性。自增主键通过保证数据的有序性和减少索引维护成本,提升了查询和插入性能,简化了数据库管理和维护,并提高了数据一致性。然而,在某些业务场景下,如跨表唯一性需求或分布式系统中,自增主键可能无法满足要求,且存在主键值易预测的安全风险。因此,选择主键类型时需综合考虑业务需求和应用场景。
700 2
|
关系型数据库 MySQL 数据处理
MySQL函数与约束
MySQL 提供了丰富的函数和强大的约束机制,用于数据处理和完整性维护。通过掌握这些工具,可以有效地管理和分析数据库中的数据,确保数据的一致性和准确性。无论是在日常数据查询中使用内置函数,还是在数据库设计中应用各种约束,都是确保数据库系统稳定、高效运行的关键。希望本文对您理解和应用 MySQL 函数与约束有所帮助。
290 1
|
Ubuntu 关系型数据库 MySQL
ubuntu使用aliyun源+mysql删除有外键约束的数据+查看特定目录的大小
ubuntu使用aliyun源+mysql删除有外键约束的数据+查看特定目录的大小
372 4
|
存储 SQL 关系型数据库
mysql中主键索引和联合索引的原理与区别
本文详细介绍了MySQL中的主键索引和联合索引原理及其区别。主键索引按主键值排序,叶节点仅存储数据区,而索引页则存储索引和指向数据域的指针。联合索引由多个字段组成,遵循最左前缀原则,可提高查询效率。文章还探讨了索引扫描原理、索引失效情况及设计原则,并对比了InnoDB与MyISAM存储引擎中聚簇索引和非聚簇索引的特点。对于优化MySQL性能具有参考价值。
1197 1
|
存储 关系型数据库 MySQL
MySQL(条件约束)
为了校验数据,让数据的正确性能够得到保证,约束,能够引进更多的检查操作,但是也会增加系统的成本开销
|
SQL 关系型数据库 MySQL
mysql编写sql脚本:要求表没有主键,但是想查询没有相同值的时候才进行插入
mysql编写sql脚本:要求表没有主键,但是想查询没有相同值的时候才进行插入
311 0

推荐镜像

更多