使用主键约束

一、主键约束

(1) 主键是一列或多列的组合,能够唯一地标识表中的一条记录,加快数据库查询的速度
(2) 主键约束要求主键列的数据唯一,并且不允许为空,主键和记录之间的关系是一一对应的
(3) 主键分为两种类型:单字段主键和多字段联合主键,单字段主键由一个字段组成,多字段联合主键由多个字段联合组成

二、单字段主键

mysql> CREATE TABLE tb_emp2
    -> (
    -> id       INT(11) PRIMARY KEY,    # 定义列的同时定义主键
    -> name     VARCHAR(25),
    -> deptId   INT(11),
    -> salary   FLOAT
    -> );
mysql> CREATE TABLE tb_emp3
    -> (
    -> id       INT(11),
    -> name     VARCHAR(25),
    -> deptId   INT(11),
    -> salary   FLOAT,
    -> PRIMARY  KEY(id)      # 定义完所有列之后指定主键
    -> ); 

三、多字段联合主键:定义数据表 tb_emp4,假设表中间没有主键 id ,为了唯一地确定一个员工,可以把 name 、deptId 联合起来做为主键

mysql> CREATE TABLE tb_emp4
    -> (
    -> name     VARCHAR(25),
    -> deptId   INT(11),
    -> salary   FLOAT,
    -> PRIMARY  KEY(name,deptId)
    -> );
时间: 2024-10-01 07:50:24

使用主键约束的相关文章

主键约束,唯一性约束,唯一性索引

1)主键列:比如我们在表A中指定ID为主键,Oracle数据库会自动创建一个同名的唯一索引 可以通过 select constraint_name,constraint_type from user_indexes ui where ui.table_name='A'来查看主键上的唯一索引,如果此时我们在给ID列去创建唯一性索引或者非唯一性索引的话,都会报错,当然指定主键之后自动也会生成主键约束,主键就是一种约束 (2)非主键列:我们在非主键列上创建一个唯一性约束,Oracle同样自动创建了一个

SQL存储原理及聚集索引、非聚集索引、唯一索引、主键约束的关系(补)

索引类型 1.          唯一索引:唯一索引不允许两行具有相同的索引值 2.          主键索引:为表定义一个主键将自动创建主键索引,主键索引是唯一索引的特殊类型.主键索引要求主键中的每个值是唯一的,并且不能为空 3.          聚集索引(Clustered):表中各行的物理顺序与键值的逻辑(索引)顺序相同,每个表只能有一个 4.          非聚集索引(Non-clustered):非聚集索引指定表的逻辑顺序.数据存储在一个位置,索引存储在另一个位置,索引中包含指

主键约束

不多说,直接上干货! (1)主键约束PRIMARY KEY (2)每张数据表只能存在一个主键 (3)主键保证记录的唯一性 (4)主键自动为NOT NULL (1)主键约束PRIMARY KEY 1 create table tb3( 2 id smallint unsigned auto_increment primary key, 3 username varchar(30) not null 4 ); 注意:auto_increment必须和主键一起使用,但是这并不代表主键一定要和auto_

oracle数据库添加,查询,删除主键约束

     主键约束在每个表中只有一个,但是一个主键约束可以由多个列组成 可以在创建表的时候就创建主键约束,也可以通过alter语句添加主键约束 1:添加主键约束 [1] 语法: CREATE TABLE 表名(        字段名  primary key,      字段名....., ); 示例: CREATE TABLE student(  id number primary key, name varchar(20), age number(3), email varchar2(50)

主键约束和唯一性约束

主键约束和唯一性约束都是索引,它们的区别是: 主键字段可以确保唯一性,但主键字段不能为NULL. 唯一性约束可以确保唯一性,但唯一性约束的字段可以为NULL 唯一性约束对含有NULL的记录不起作用,即可以重复加入含有NULL的记录,主键字段不能为NULL mysql-workbench无法创建多字段唯一性约束,可以在命令行手工增加增加多字段唯一性性约束mysql>alter table cmd_end_regexp add constraint dev_series_uniq UNIQUE(de

Oracle如何删除主键约束的同时也删除索引

一.现象 在oracle10g中删除主键约束后,在插入重复数据时候仍然报“ORA-00001”错误. 二.原因 Oracle在的10g版本中对内部函数"atbdui"进行了调整,导致在删除约束的时候无法删除用户创建的索引.这个现象被Oracle分类到了“PROBLEM”. 三.方法 在删除约束的时候需要显示的指定“drop index”选项来完成索引的级链删除. 例:alter table table_name drop constraint constraint_name casca

Oracle数据库,非空约束、主键约束、外键约束、唯一约束

非空约束:设置列时,可为空默认可为空,去掉对号之后设置数据不可为空: 唯一约束:在键中设置,唯一约束名称.类型Unique.列名:设置应用完成之后,此列数据具有唯一性:即数据不可重复 主键约束:主键列自动具有非空约束和唯一约束,一个表只能有一个主键约束(自动生成索引,提高查询效率)

Oracle的主键约束、唯一约束与外键约束

http://www.shangxueba.com/jingyan/122163.html主键:  1.主键约束: 一个表只能有一个主键约束.主键可以是单个字段,也可以是多个字段.无论是哪种情况,其所有字段都是NOT NULL.  2.Unique约束:一个表可以有多个Unique约束,Unique的字段可以为NULL.  3.主键与Unique:不同点在于一个表只能有一个主键约束,但是可以有多个Unique约束:主键所有字段都是not null,unique可以是null:相同点在于都能保证唯

主键约束 primary key

主键的作用: 可以唯一标识 一条数据,每张表里面只能有一个主键,.主键特性: 非空且唯一.当表里没有主键的时,第一个出现的非空且为唯一的列,被当成主键. 例子:create table tb3(     id int primary key,    name varchar(20) not null); 唯一标识 一条数据 #删除主键约束mysql -> alter table tb3           -> drop primary key #添加主键约束mysql> alter t