ylbtech-SQL-W3School-高级:SQL PRIMARY KEY 约束
1.返回顶部
1、

SQL PRIMARY KEY 约束

PRIMARY KEY 约束唯一标识数据库表中的每条记录。

主键必须包含唯一的值

主键列不能包含 NULL 值

每个表都应该有一个主键,并且每个表只能有一个主键

SQL PRIMARY KEY Constraint on CREATE TABLE

下面的 SQL 在 "Persons" 表创建时在 "Id_P" 列创建 PRIMARY KEY 约束:

MySQL:

CREATE TABLE Persons
(
Id_P int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
PRIMARY KEY (Id_P)
)

SQL Server / Oracle / MS Access:

CREATE TABLE Persons
(
Id_P int NOT NULL PRIMARY KEY,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)

如果需要命名 PRIMARY KEY 约束,以及为多个列定义 PRIMARY KEY 约束,请使用下面的 SQL 语法:

MySQL / SQL Server / Oracle / MS Access:

CREATE TABLE Persons
(
Id_P int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
CONSTRAINT pk_PersonID PRIMARY KEY (Id_P,LastName)
)

SQL PRIMARY KEY Constraint on ALTER TABLE

如果在表已存在的情况下为 "Id_P" 列创建 PRIMARY KEY 约束,请使用下面的 SQL:

MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE Persons
ADD PRIMARY KEY (Id_P)

如果需要命名 PRIMARY KEY 约束,以及为多个列定义 PRIMARY KEY 约束,请使用下面的 SQL 语法:

MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE Persons
ADD CONSTRAINT pk_PersonID PRIMARY KEY (Id_P,LastName)

注释:如果您使用 ALTER TABLE 语句添加主键,必须把主键列声明为不包含 NULL 值(在表首次创建时)

撤销 PRIMARY KEY 约束

如需撤销 PRIMARY KEY 约束,请使用下面的 SQL:

MySQL:

ALTER TABLE Persons
DROP PRIMARY KEY

SQL Server / Oracle / MS Access:

ALTER TABLE Persons
DROP CONSTRAINT pk_PersonID
2、
2.返回顶部
 
3.返回顶部
 
4.返回顶部
 
5.返回顶部
1、
2、
 
6.返回顶部
 
作者:ylbtech
出处:http://ylbtech.cnblogs.com/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

最新文章

  1. Lodash.js的库
  2. xamarin android webview XHR错误
  3. cakephp 打印出SQL语句
  4. Android PowerImageView实现,可以播放动画的强大ImageView
  5. Oracle On 、Where、Having 区别
  6. redis.conf 配置详解 (转)
  7. 基本的git命令
  8. delphi调用 java 的 WebService服务端.
  9. 中国海洋大学第四届朗讯杯高级组 Cash Cow(模拟)
  10. 项目实战9—企业级分布式存储应用与实战MogileFS、FastDFS
  11. 火狐兼容window.event.returnValue=false;
  12. 19,CSS 滤镜
  13. http协议和telnet指令讲解
  14. Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver'. The driver is automatically registered via the SPI and manual loading of the driver class
  15. 提纲挈领webrtc音频处理算法之写在前面的话
  16. kubernetes 创建系统用户来支持访问 dashboard
  17. 什么是java字节码?
  18. Request库学习
  19. 002 Spark的编译
  20. innobackupex per table

热门文章

  1. IE浏览器下载后台返回的Excel文件,报错400
  2. 面试总结关于Spring面试问题(精选)
  3. 【python+ddt】DDT模块的使用
  4. Android休眠唤醒机制
  5. 用arduino的uno开发板为nano板子烧写bootloader
  6. 远程连接服务器数据库报错:Host ‘XXXXXX’ is blocked because of many connection errors
  7. C语言——for循环和while循环的效率区别——类似哨兵思想
  8. c++类的基本形式(一个简单类的简单sample,命名空间)
  9. 13、Spring Boot 2.x 多数据源配置
  10. HDU 6150 - Vertex Cover | 2017 中国大学生程序设计竞赛 - 网络选拔赛