SQL学习之primary key约束
目录
- 参考源
- SQL primary key 约束
- primary key
- create table 时的 SQL primary key 约束
- MySQL / SQL Server / Oracle / MS Access
- alter table 时的 SQL primary key 约束
- MySQL / SQL Server / Oracle / MS Access
- 删除 primary key 约束
- MySQL
- SQL Server / Oracle / MS Access
参考源
- 简单教程
- https://www.twle.cn/l/yufei/sql/sql-basic-primarykey.html
- 菜鸟教程
- https://www.runoob.com/sql/sql-primarykey.html
SQL primary key 约束
SQL primary key
又称 主键 , 用于约束唯一标识数据库表中的每条记录
- 主键必须包含唯一的值
- 主键列不能包含 NULL 值
- 每个表都应该有一个主键,并且每个表只能有一个主键
primary key
如果想要唯一标识某一条记录,或者阻止一个表中存在相同的两条记录,或者阻止一个表中的某个字段存在相同的记录,我们要怎么做?
当然是在插入或者更新的时候检查表或者字段是否存在,如果存在可以删除或者修改,不存在则插入
有没有更简单的方法呢? 有的,就是给表添加一个唯一索引,这样数据库系统会自己主动检查是否存在重复记录
如果这个唯一索引加在唯一标识一条记录的列 (字段) 上,那么它有一个好听的名字,叫做 主键
当然了,主键 的功能远远不止这些,它还是表存储数据时的物理索引
—简单教程https://www.twle.cn/l/yufei/sql/sql-basic-primarykey.html
create table 时的 SQL primary key 约束
创建表时可以使用 primary key
关键字给表添加 primary
约束
但要注意,添加的列必须设置为 not null
;
MySQL / SQL Server / Oracle / MS Access
CREATE TABLE lesson (id int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,name varchar(32) default '',views int(11) NOT NULL default '0',created_at DATETIME
);
虽然一个表只能有一个 primary key
,但一个 primary key
可以包含多个列
添加多个列可以使用 primary key
关键字,括号内添加多个列,多列之间用逗号分隔
CREATE TABLE lesson (id int(11) NOT NULL AUTO_INCREMENT,name varchar(32) default '',views int(11) NOT NULL default '0',created_at DATETIME,PRIMARY KEY (id,name)
);
如果需要给primary key
约束命名,可以使用 constraint
关键字
CREATE TABLE lesson (id int(11) NOT NULL AUTO_INCREMENT,name varchar(32) default '',views int(11) NOT NULL default '0',created_at DATETIME,CONSTRAINT pk_lession_id PRIMARY KEY (id,name)
);
alter table 时的 SQL primary key 约束
如果一个表已经创建,而又想给表添加 primary key
约束,可以使用 alter table
命令
MySQL / SQL Server / Oracle / MS Access
ALTER TABLE lesson ADD PRIMARY KEY (id);
一个 primary key 包含多列
ALTER TABLE lesson ADD CONSTRAINT pk_lesson PRIMARY KEY (id,name);
给 primary key 约束命名
ALTER TABLE lesson ADD CONSTRAINT pk_lesson_id PRIMARY KEY (id);
删除 primary key 约束
如果想要删除 primary key
约束,可以使用下面的 SQL 语句
MySQL
ALTER TABLE lessson DROP PRIMARY KEY
SQL Server / Oracle / MS Access
ALTER TABLE lesson DROP CONSTRAINT pk_lesson_id
SQL学习之primary key约束相关推荐
- SQL语法之PRIMARY KEY 约束
SQL学习 学习SQL语法 SQL语法 SQL学习 SQL PRIMARY KEY 约束 SQL PRIMARY KEY Constraint on CREATE TABLE SQL PRIMARY ...
- SQL学习之foreign key约束
目录 参考源 SQL foreign key 约束 FOREIGN KEY 作用 create table 时的 SQL foreign key 约束 MySQL SQL Server / Oracl ...
- SQL PRIMARY KEY 约束
SQL PRIMARY KEY 约束 PRIMARY KEY 约束唯一标识数据库表中的每条记录. 主键必须包含唯一的值. 主键列不能包含 NULL 值. 每个表都应该有一个主键,并且每个表只能有一个主 ...
- 零基础带你学习MySQL—primary key主键(二十三)
零基础带你学习MySQL-primary key主键(二十三) 一.约束 二.主键 三.主键的细节说明 主键不能重复而且不能为空 一张表最多只能有一个主键,但可以是复合键 使用desc 表名 可以看到 ...
- mysql的primary key_MySQL Primary Key约束
在本教程中,您将学习如何使用MySQL主键(Primary Key)约束来创建表的主键. MySQL主键简介 MySQL主键(Primary Key)是唯一标识表中每行的列或一组列.当定义表的主键时, ...
- mysql constraint primary key_SQL PRIMARY KEY 约束
原标题:SQL PRIMARY KEY 约束 SQL PRIMARY KEY 约束 PRIMARY KEY 约束唯一标识数据库表中的每条记录. 主键必须包含唯一的值. 主键列不能包含 NULL 值. ...
- 【升级U8+】升级U8错误:违反了 PRIMARY KEY 约束‘PK_NB_VisibleField’
[升级错误] C:\U8SOFT\Admin\SQLFILE8600\Main\Ufdata\dprd_nb.sql 错误信息: -2147217873 违反了 PRIMARY KEY 约束 'PK_ ...
- PRIMARY KEY约束
PRIMARY KEY约束 PRIMARY KEY简介 主键是唯一标识表中每一行的列或一组列. 可以使用 PRIMARY KEY 约束为表创建主键. 如果主键只包含一列,则可以将 PRIMARY KE ...
- 【升级U8+】违反了 PRIMARY KEY 约束 ‘PK_VoucherPrefabricate‘。不能在对象 ‘dbo.VoucherPrefabricate‘ 中插入重复键。
[升级错误] C:\U8SOFT\Admin\SQLFILE8610\Main\Ufdata\data\NL\Data_Data_QM_mix_NL.sql 错误信息: -2147217873 违反了 ...
最新文章
- 如何欣赏一个深度学习框架?
- Java Volatile keyword
- ThinkPHP5表单令牌+表单数据验证验证规则
- leetcode(78)子集
- Anaconda下tensorflow虚拟环境的创建以及遇到的问题(Ubuntu)
- 【springboot 踩坑记录】拦截器中无法注入bean
- 华为鸿蒙os内测,华为“鸿蒙OS”内测信息曝光:界面与EMUI有6个明显不同
- jQuery实现瀑布流
- 3S基础知识:MapX应用教程—创建地图对象
- 本地文件夹同步软件大全与性能比较(附下载链接)
- Java自定义动态数组
- 华为手机备份的通讯录是什么文件_华为通讯录怎么导入新手机(三种方法帮你导通讯录)...
- 微信支付对账单的详细说明
- “苏宁秒送”,苏宁易购探索新零售的有力武器
- FOC控制-以SVPWM理论控制矢量磁场
- 【机器学习线性代数】06 解方程组:从空间的角度再引入
- 服务器sata硬盘安装系统,#####SATA、RAID、SCSI硬盘用U盘安装原版XP、2003系统######支持服务器硬盘!...
- 【笔记】LaTex安装及使用(五)Endnote批量查找、导入和导出参考文献
- win服务器系统路由器,Windows server 2012 之路由功能
- Gradle 配置代理
热门文章
- android点击通知栏消失,手机通知栏不见了怎么办
- 三次样条python_如何在python中进行三次样条插值?
- sign (数学符号函数)
- html中select标签默认选择,HTML中的select标签如何设置默认选中的选项
- 荣耀搭载鸿蒙发布会,华为荣耀电视搭载鸿蒙两秒开机?卢伟冰:发布会实测冷启动半分钟...
- LeetCode 206.反转链表
- 关于知道区块的geohash值,求区块中点坐标和四角坐标
- 交换机如何配置SNMP(简单网络管理协议)
- uml图中的连线和方框代表什么含义?
- java jar包 资源_java jar包资源下载