精华内容
下载资源
问答
  • 主键约束

    2021-01-04 19:46:16
    给一张表添加主键 让表的id作为表的主键 主键约束的主要作用(非空加唯一性) ...表级主键约束就是讲一个字段值放到主键约束中,而复合主键主要是将多个字段放到主键中。 主键值自增 ...

    给一张表添加主键

    让表的id作为表的主键

    主键约束的主要作用(非空加唯一性)

    带有主键约束的值不能为null也不能重复

    主键的相关术语和主键的作用

    表级主键约束就是讲一个字段值放到主键约束中,而复合主键主要是将多个字段放到主键中。

    主键值自增

    展开全文
  • 本节文章主要介绍了oracle删除主键查看主键约束及创建联合主键,示例代码如下,需要的朋友可以参考下
  • 主键约束和唯一约束

    千次阅读 2019-03-07 21:30:59
    主键约束和唯一约束主键约束和唯一约束的区别普通索引和唯一索引Mysql中的索引普通索引(非唯一索引)唯一索引唯一索引主键约束的唯一索引唯一约束的唯一索引创建唯一索引删除主键约束和唯一约束自动创建的唯一索引 ...


    主键约束和唯一约束都会创建唯一索引

    主键约束和唯一约束的区别

    • 不同之处在于主键约束的索引键(唯一索引)在定义上不允许为NULL,而唯一约束的索引键(唯一索引)在定义上允许为NULL
    主键约束 唯一约束
    所在的列不允许空值 所在的列允许空值
    一个表上只能有一个主键约束 一个表上可以有多个唯一约束或一个

    普通索引和唯一索引

    Mysql中的索引

    唯一索引和普通索引使用的结构都是B-tree,执行时间复杂度都是O(log n)。
    在这里插入图片描述

    1.Table
    表的名称。
    2.Non_unique
    如果索引不能包括重复词,则为0。如果可以,则为1。
    3.Key_name
    索引的名称。
    4.Seq_in_index
    索引中的列序列号,从1开始。
    5.Column_name
    列名称。
    6.Collation
    列以什么方式存储在索引中。在MySQL中,有值‘A’(升序)或NULL(无分类)。
    7.Cardinality
    索引中唯一值的数目的估计值。
    8.Sub_part
    如果列只是被部分地编入索引,则为被编入索引的字符的数目。如果整列被编入索引,则为NULL。
    9.Packed
    指示关键字如何被压缩。如果没有被压缩,则为NULL。
    10.Null
    如果列含有NULL,则含有YES。如果没有,则该列含有NO。
    11.Index_type
    用过的索引方法(BTREE, FULLTEXT, HASH, RTREE)。
    12.Comment
    多种评注

    普通索引(非唯一索引)

    普通索引(由关键字KEY或INDEX定义的索引)的唯一任务是加快对数据的访问速度。因此,应该只为那些最经常出现在查询条件(WHEREcolumn=)或排序条件(ORDERBYcolumn)中的数据列创建索引。只要有可能,就应该选择一个数据最整齐、最紧凑的数据列(如一个整数类型的数据列)来创建索引。

    唯一索引

    普通索引允许被索引的数据列包含重复的值。如果能确定某个数据列将只包含彼此各不相同的值,在为这个数据列创建索引的时候就应该用关键字UNIQUE把它定义为一个唯一索引。

    这么做的好处:一是简化了MySQL对这个索引的管理工作,这个索引也因此而变得更有效率;二是MySQL会在有新记录插入数据表时,自动检查新记录的这个字段的值是否已经在某个记录的这个字段里出现过了;如果是,MySQL将拒绝插入那条新记录。也就是说,唯一索引可以保证数据记录的唯一性。事实上,在许多场合,人们创建唯一索引的目的往往不是为了提高访问速度,而只是为了避免数据出现重复。

    唯一索引

    主键约束的唯一索引

    • 主键约束的索引键在定义上不允许为NULL

    1.在创建主键约束时,自动为主键列创建一个唯一索引,并且索引列不允许为null
    2.主键约束创建的唯一索引,可以是聚集索引(clustered),也可以是非聚集索引(nonclustered)

    id int not null primary key nonclustered;
    id int not null primary key clustered;
    

    唯一约束的唯一索引

    • 唯一约束的索引键上的NULL值是相等的,不允许重复的NULL值出现在索引键或其组合。

    1.在关系表中,唯一约束的列是唯一的,但是可以为null
    2.在唯一性约束中,null值是相等的
    3.如果唯一性约束的列是单列,那么只有一行数据列能够为null
    4.如果唯一性约束的列是多列,那么列的任意一种组合,不能相同
    5.在创建唯一性约束时,强制在指定的列上创建一个唯一性索引。在默认情况下,创建唯一性的非聚簇索引,通过clustered 或 nonclustered来指定创建的索引是聚集索引,还是非聚集索引

    id int unique nonclustered;
    id int unique clustered;
    

    创建唯一索引

    使用create unique index命令创建唯一索引

    create unique nonclustered index idx_unique_id on Test(name);
    create unique clustered index cidx_unique_id  on Test(name)
    

    在这里插入图片描述

    删除主键约束和唯一约束自动创建的唯一索引

    由于唯一索引是由主键约束或唯一性约束自动创建的,因此,必须删除约束,才能删除索引。

    alter table Test drop key  [PK__constraint_name]
    alter table Test drop key  [UQ__constraint_name]
    

    在这里插入图片描述

    展开全文
  • MySQL主键约束

    2020-11-23 08:44:38
    1、主键约束 特点: (1)一个表有且只能有一个主键约束 (2)主键约束意味着,唯一并且非空 (3)主键约束名PRIMARY (4)创建主键会自动创建对应的索引,同样删除主键对应的索引也会删除 2、在建表的时候如何指定...

    1、主键约束
    特点:
    (1)一个表有且只能有一个主键约束
    (2)主键约束意味着,唯一并且非空
    (3)主键约束名PRIMARY
    (4)创建主键会自动创建对应的索引,同样删除主键对应的索引也会删除

    2、在建表的时候如何指定主键约束

    create table 【数据库名.】表名称(
    	字段名1 数据类型  primary key,
    	字段名2 数据类型,
    	。。。。
    );
    

    例如:

    create table test.t_stu(
    	sid int primary key,
    	sname varchar(20),
    	gender char
    );
    
    mysql> desc t_stu;
    +--------+-------------+------+-----+---------+-------+
    | Field  | Type        | Null | Key | Default | Extra |
    +--------+-------------+------+-----+---------+-------+
    | sid    | int(11)     | NO   | PRI | NULL    |       |
    | sname  | varchar(20) | YES  |     | NULL    |       |
    | gender | char(1)     | YES  |     | NULL    |       |
    +--------+-------------+------+-----+---------+-------+
    3 rows in set (0.00 sec)
    
    insert into t_stu values(1,'张三','男'),(1,'李四','女');#错误的
    
    mysql> insert into t_stu values(1,'张三','男'),(1,'李四','女');
    ERROR 1062 (23000): Duplicate entry '1' for key 'PRIMARY'  违反了主键约束
    
    insert into t_stu values(1,'张三','男'),(2,'李四','女');
    

    3、建表后如何指定主键约束

    alter table 【数据库名.】表名称 add primary key(字段列表);
    
    create table test.t_stu(
    	sid int,
    	sname varchar(20),
    	gender char
    );
    
    alter table test.t_stu add primary key(sid);
    

    4、主键约束分为两种:
    (1)单列主键约束
    (2)复合主键约束
    建表时如何指定复合主键约束:

    create table 【数据库名.】表名称(
    	字段名1 数据类型,
    	字段名2 数据类型,
    	。。。。,
    	primary key(字段列表)
    );
    

    建表后如何指定复合主键约束:

    alter table 【数据库名.】表名称 add primary key(字段列表);
    
    create table t_course(
    	cid int primary key,
    	cname varchar(20)
    );
    
    #现在要求sid和cid的组合是主键,是唯一的
    create table xuanke(
    	sid int,
    	cid int,
    	score int,
    	primary key(sid,cid)
    );
    

    5、删除主键约束

    alter table 【数据库名.】表名称 drop primary key;
    
    展开全文
  • 数据库主键约束

    2020-12-09 08:20:05
    mssql数据库的主键约束中,主键名查询: exec sp_pkeys '数据表名' 修改主键名称的方法: --第一步,删除主键约束 alter table 表名 drop constraint 主键名; --第二步,添加主键约束 alter table 表名 add ...
        
    • mssql数据库的主键约束中,主键名查询:
    exec sp_pkeys '数据表名'
    
    • 修改主键名称的方法:
    --第一步,删除主键约束
    alter table  表名 drop constraint 主键名;
    --第二步,添加主键约束
    alter table 表名 add constraint 主键名 primary key(字段名);
    
    展开全文
  • 主键约束 mysql

    2021-04-02 02:20:54
    主键约束 mysql 建表时添加 示例 删除主键 追加主键
  • 约束1、约束概念2、非空约束2.1 创建表时添加约束2.2 创建表后,添加非空约束2.3 删除name的非空约束3、唯一约束3.1 创建表时添加约束3.2 创建表后,添加唯一约束3.3 删除唯一约束4、主键约束4.1 创建表时,添加主键...
  • 这里写目录标题约束非空约束唯一约束主键约束外键约束检查约束三级目录 约束 约束:在创建表时,可以给表的字段添加相应的约束,添加约束的目的是为了保证表中数据的合法性,有效性,完整性。 非空约束 非空约束...
  • 主键约束:创建表时,添加主键约束,并且完成主键自增长auto_increment 主键约束:删除自动增长 主键约束:添加自动增长 1.4 约束种类--唯一约束 唯一约束:在创建表时,添加唯一约束 唯一约束:删除唯一约束 ...
  • Oracle主键约束

    千次阅读 2017-11-22 11:39:28
    主键约束可以由多个字段构成,这种情况被称为联合主键或复合主键   三 主键约束 1、在创建表时设置主键约束 CREATE TABLE tabl_name( column_name datatype PRIMARY_KEY,... ) SQL> create table
  • SQL Server主键约束

    2020-05-13 19:02:20
    PRIMARY KEY:主键约束唯一标识数据库表中的每条记录。主键必须包含唯一的值。主键列不能包含 NULL 值。每个表都应该有一个主键,并且每个表只能有一个主键。主键约束操作包含了添加约束和删除约束,修改约束其实是...
  • 主键约束----复合主键

    2020-01-12 18:33:29
    主键约束 (一)概述 1、关键字 :primary key 2、特点:增加主键约束的列(字段)的值必须是非空 + 唯一的,一个表只有一个主键约束 3、作用:保证表中不会出现两条无法区分的记录 4、要求:每一张表都必须有主键...
  • 主键约束、唯一约束、非空约束、默认约束 1、主键约束:每个表中最多有一个主键约束,定义为主键的字段不能重复,不能为null值。 字段名 数据类型 primary key; primary key(字段1,字段2.....);   2、非空...
  • MySQL主键约束、非空约束、唯一约束、外键约束 概念:对表中的数据进行约束(限定),保证数据的正确性、有效性和完整性 分类: 主键约束:primary key 非空约束:not null 唯一约束:unique 外键约束:foreign...
  • --约束--主键约束

    2021-06-18 19:33:31
    主键约束:primary key 1、注意: 1、含义:非空且唯一 2、一张表只能有一个字段为主键 3、主键就是表中记录的唯一标识 2、在创建表时,添加主键约束: create table sut3( id int PRIMARY KEY,-- 给id添加...
  • 主键约束和唯一约束都会创建唯一索引,不同之处在于主键约束的索引键在定义上不允许为NULL,而唯一约束的索引键在定义上允许为NULL;唯一约束认为索引键上的NULL值是相等的,不允许重复的NULL值出现在索引键或其组合...
  • 注意:一张表中最多有一个主键约束。主键类型:单字段主键、多字段联合主键。 唯一约束 删除主键约束 显示 添加唯一约束 默认约束 ...
  • 添加主键约束学号SNO 表(二)Course(课程表) 添加主键约束课程号CON,添加外键约束教工编号TON 表(三)Score(成绩表) 添加两个外键约束学号SNO和课程号CNO,主键约束是Sno+ Cno。 表(四)...
  • 唯一性约束和主键约束的区别:  (1).唯一性约束允许在该列上存在NULL值,而主键约束的限制更为严格,不但不允许有重复,而且也不允许有空值。  (2).在创建唯一性约束和主键约束时可以创建聚集索引和非聚集...
  • Mysql约束详解什么是约束约束的分类非空约束唯一性约束主键约束外键约束检查约束 什么是约束 约束(constraint),在创建表的时候,我们可以给表中字段加一些约束,来保证表中数据的完整性,可靠性。 约束的分类 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 13,334
精华内容 5,333
关键字:

主键约束