您的位置:MYSQL中文网 > sql 约束 SQL PRIMARY KEY 约束

sql 约束 SQL PRIMARY KEY 约束

2023-03-14 15:30 MySQL教程

sql 约束 SQL PRIMARY KEY 约束

sql 约束

SQL 约束是一种数据库约束,它可以限制用户在表中插入、更新和删除数据的方式。它可以帮助保证数据库中的数据的完整性和一致性。SQL 约束可以在创建表时被定义,也可以在表已经存在时被修改。

SQL 约束有多种不同的类型,包括主键约束、外键约束、唯一性约束、非空性约束、检查性约束和默认性约束。

-- 主键约束 
ALTER TABLE table_name 
ADD CONSTRAINT constraint_name PRIMARY KEY (column1, column2, ... column_n); 
 
-- 外键约束 
ALTER TABLE table_name 
ADD CONSTRAINT constraint_name FOREIGN KEY (column1, column2, ... column_n) 
REFERENCES parent_table (column1, column2, ... column_n); 
  
-- 唯一性约束  
ALTER TABLE table_name   ADD CONSTRAINT constraint_name UNIQUE (column1, column2, ... column_n);  

 -- 非空性约束   ALTER TABLE table_name   MODIFY (column1 datatype NOT NULL,   column2 datatype NOT NULL,...);   

 -- 检查性约束    ALTER TABLE table_name    ADD CONSTRAINT constraint_name CHECK (condition);   

 -- 默认性约束    ALTER TABLE table_name    MODIFY (column1 datatype DEFAULT value);     

SQL PRIMARY KEY 约束

SQL PRIMARY KEY 约束


SQL PRIMARY KEY 约束

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

主键必须包含唯一的值。

主键列不能包含 NULL 值。

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


CREATE TABLE 时的 SQL PRIMARY KEY 约束

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

MySQL:

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

SQL Server / Oracle / MS Access:

CREATE TABLE Persons
(
P_Id 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
(
P_Id int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
CONSTRAINT pk_PersonID PRIMARY KEY (P_Id,LastName)
)

注释:在上面的实例中,只有一个主键 PRIMARY KEY(pk_PersonID)。然而,pk_PersonID 的值是由两个列(P_Id 和 LastName)组成的。


ALTER TABLE 时的 SQL PRIMARY KEY 约束

当表已被创建时,如需在 "P_Id" 列创建 PRIMARY KEY 约束,请使用下面的 SQL:

MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE Persons
ADD PRIMARY KEY (P_Id)

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

MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE Persons
ADD CONSTRAINT pk_PersonID PRIMARY KEY (P_Id,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

阅读全文
以上是MYSQL中文网为你收集整理的sql 约束 SQL PRIMARY KEY 约束全部内容。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
相关文章
© 2024 MYSQL中文网 mysqlcn.com 版权所有 联系我们
桂ICP备12005667号-29 Powered by CMS