目录:
一、ORACLE
二、sqlserver
三、DB2
四、mysql
五、主键定义及作用
一、ORACLE
1、创建表的同时创建主键约束
(1)无命名
create table student (
studentid int primary key not null,
studentname varchar(8),
age int);
(2)有命名
create table students (
studentid int ,
studentname varchar(8),
age int,
constraint yy primary key(studentid));
2、表建好后添加主键
alter table 表名 add constraint 主键名 primary key(主键字段);
例:
alter table jack add constraint pk_id primary key(object_id);
3、删除主键
ALTER TABLE 表名 DROP CONSTRAINT 主键名;
例:
ALTER TABLE jw_jxrw_wxlsrwkcb DROP CONSTRAINT PK_JW_JXRW_WXLSRWKCB;
二、sqlserver
1、创建表的同时创建主键约束
(1)无命名
CREATE TABLE Personsfff
(
Id_P int primary key NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
CONSTRAINT pk1_PersonID PRIMARY KEY (Id_P,LastName)
)
(2)有命名
CREATE TABLE Personsfff
(
Id_P int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
CONSTRAINT pk1_PersonID PRIMARY KEY (Id_P,LastName)
)
2、表建好后添加主键
alter table 表名 add constraint 主键名 primary key(字段名1,字段名2……)
例:
alter table Personsfff add constraint PK_Personsfff primary key(Id_P)
3、删除主键
alter table 表名 drop constraint 主键名
例:
alter table jw_jxrw_wxlsrwkcb DROP constraint PK_JW_JXRW_WXLSRWKCB;
三、DB2
1、创建表的同时创建主键约束
(1)无命名
CREATE TABLE YWYJ201910.EIMS_EMERGENCY_ENTER (
SID VARCHAR(50) primary key NOT NULL,
ENTERID VARCHAR(50) NOT NULL,
DATA_TYPE VARCHAR(25) NOT NULL,
DEPT_NAME VARCHAR(100),
ENTER_SID VARCHAR(50),
CONSTRAINT PK_EIMS_EMERGENCY_ENTER PRIMARY KEY(SID)
)
(2)有命名
CREATE TABLE YWYJ201910.EIMS_EMERGENCY_ENTER (
SID VARCHAR(50) NOT NULL,
ENTERID VARCHAR(50) NOT NULL,
DATA_TYPE VARCHAR(25) NOT NULL,
DEPT_NAME VARCHAR(100),
ENTER_SID VARCHAR(50),
CONSTRAINT PK_EIMS_EMERGENCY_ENTER PRIMARY KEY(SID)
)
2、表建好后添加主键
ALTER TABLE 表名 ADD constraint 主键名 primary key(主键字段)
例:
ALTER TABLE XZXK.XZXK_ITEM_DATATABLE_160 ADD constraint PK_ID primary key(DATATABLEID)
3、删除主键
alter table 表名 drop primary key
例:
alter table db2inst1.aaa drop primary key
四、mysql
1、创建表的同时创建主键约束
(1)单字段主键
CREATE TABLE EIMS_EMERGENCY_ENTER (
SID VARCHAR(50) primary key NOT NULL,
ENTERID VARCHAR(50) NOT NULL,
DATA_TYPE VARCHAR(25) NOT NULL,
DEPT_NAME VARCHAR(100)
)
(2)联合主键
CREATE TABLE EIMS_EMERGENCY_ENTER (
SID VARCHAR(50) NOT NULL,
ENTERID VARCHAR(50) NOT NULL,
DATA_TYPE VARCHAR(25) NOT NULL,
DEPT_NAME VARCHAR(100),
primary key(SID,ENTERID)
)
mysql中不能创建命名主键
2、表建好后添加主键
ALTER TABLE <数据表名> ADD PRIMARY KEY(<列名>);
例:
ALTER TABLE EIMS_EMERGENCY_ENTER ADD PRIMARY KEY(SID);
3、删除主键
ALTER TABLE TABLE_NAME DROP PRIMARY KEY;
例:
ALTER TABLE EIMS_EMERGENCY_ENTER DROP PRIMARY KEY;
五、主键定义及作用
数据库主键,指的是一个列或多列的组合,其值能唯一地标识表中的每一行,通过它可强制表的实体完整性。
主键主要是用于其他表的外键关联,以及本记录的修改与删除。
当创建或更改表时可通过定义 PRIMARY KEY 约束来创建主键。一个表只能有一个 PRIMARY KEY 约束,而且 PRIMARY KEY 约束中的列不能接受空值。
由于 PRIMARY KEY 约束确保唯一数据,所以经常用来定义标识列。
作用:
1)保证实体的完整性;
2)加快数据库的操作速度
3)在表中添加新记录时,DBMS会自动检查新记录的主键值,不允许该值与其他记录的主键值重复
4)DBMS自动按主键值的顺序显示表中的记录。如果没有定义主键,则按输入记录的顺序显示表中的记录
网友评论