精华内容
下载资源
问答
  • 唯一约束和主键约束的区别:  (1).唯一性约束允许在该列上存在NULL值,而主键约束的限制更为严格,不但不允许有重复,而且也不允许有空值。  (2).在创建唯一约束和主键约束时可以创建聚集索引和非聚集...
    唯一性约束和主键约束的区别:
        (1).唯一性约束允许在该列上存在NULL值,而主键约束的限制更为严格,不但不允许有重复,而且也不允许有空值。

        (2).在创建唯一性约束和主键约束时可以创建聚集索引和非聚集索引,但在 默认情况下主键约束产生聚集索引,而唯一性约束产生非聚集索引。

    约束和索引, 前者是用来检查数据的正确性,后者用来实现数据查询的优化,目的不同。

    1.主键约束(PRIMARY KEY)

    1) 主键用于唯一地标识表中的每一条记录,可以定义一列或多列为主键。 
    2) 是不可能(或很难)更新. 
    3) 主键列上没有任何两行具有相同值(即重复值),不允许空(NULL).
    4) 主健可作外健,唯一索引不可;

    2.唯一性约束(UNIQUE)
    1) 唯一性约束用来限制不受主键约束的列上的数据的唯一性,用于作为访问某行的可选手段,一个表上可以放置多个唯一性约束.
    2) 只要唯一就可以更新. 
    3) 即表中任意两行在  指定列上都不允许有相同的值,允许空(NULL).
    4) 一个表上可以放置多个唯一性约束

    展开全文
  • 唯一约束和主键约束的区别

    千次阅读 2017-10-18 23:42:00
    主键又称主键约束,它也是一种约束,看下它和唯一约束的创建语法: alter table Person add constraint PK_Id primary key (Id) alter table Person add constraint UQ_Name unique (Name) 主键和唯一...
    主键又称主键约束,它也是一种约束,看下它和唯一约束的创建语法:

    alter table Person add constraint PK_Id primary key (Id)

    alter table Person add constraint UQ_Name unique (Name)


    主键和唯一约束都要求字段值唯一,除此外,它们还有如下区别:
    ·同一张表只能有一个主键,但能有多个唯一约束;
    ·主键字段值不能为NULL,唯一约束字段值可以为NULL;
    ·主键字段可以做为其他表的外键,唯一约束字段不可以做为其他表的外键;
    ·SQLServer默认为主键字段创建聚集索引,为唯一约束字段创建非聚集索引;


    主键,唯一,但是不能为空;唯一约束,唯一,但是可以为空
    展开全文
  • 唯一约束和主键约束的区别 1.主键约束(PRIMARY KEY)1) 主键用于唯一地标识表中的每一条记录,可以定义一列或多列为主键。 2) 是不可能(或很难)更新. 3) 主键列上没有任何两行具有相同值(即重复值),不...

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

    1.主键约束(PRIMARY KEY

    1) 主键用于唯一地标识表中的每一条记录,可以定义一列或多列为主键。 
    2) 是不可能(或很难)更新. 
    3) 主键列上没有任何两行具有相同值(即重复值),不允许空(NULL).
    4) 主健可作外健,唯一索引不可;

    2.唯一性约束(UNIQUE
    1) 唯一性约束用来限制不受主键约束的列上的数据的唯一性,用于作为访问某行的可选手段,一个表上可以放置多个唯一性约束.
    2) 只要唯一就可以更新. 
    3) 即表中任意两行在  指定列上都不允许有相同的值,允许空(NULL).
    4) 一个表上可以放置多个唯一性约束

    数据类型bigint、int、smallint和tinyint的区别

    bigint

    从 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型数据(所有数字)。存储大小为 8 个字节。

    int

    从 -2^31 (-2,147,483,648) 到 2^31 - 1 (2,147,483,647) 的整型数据(所有数字)。存储大小为 4 个字节。int 的 SQL-92 同义字为 integer。

    smallint

    从 -2^15 (-32,768) 到 2^15 - 1 (32,767) 的整型数据。存储大小为 2 个字节。

    tinyint

    从 0 到 255 的整型数据。存储大小为 1 字节。

    展开全文
  • 如题,是什么!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!...
  • 唯一约束和主键约束有什么区别????
  • 约束1、约束概念2、非空约束2.1 创建表时添加约束2.2 创建表后,添加非空约束2.3 删除name的非空约束3、唯一约束3.1 创建表时添加约束3.2 创建表后,添加唯一约束3.3 删除唯一约束4、主键约束4.1 创建表时,添加主键...

    1、约束概念

    概念:对表中的数据进行限定,保证数据的正确性、有效性和完整性。

    约束的分类:

    1. 主键约束:primary key
    2. 非空约束:not null
    3. 唯一约束:unique
    4. 外键约束:foreign key

    2、非空约束

    not null, 某一列的值不能为空

    2.1 创建表时添加约束

    CREATE TABLE stu(
    	id int,
    	name VARCHAR(20) NOT NULL  -- NAME 为非空
    );
    

    image-20210331150332794

    2.2 创建表后,添加非空约束

    -- 创建表后,添加非空约束
    ALTER TABLE stu MODIFY name VARCHAR(20) NOT NULL;
    

    2.3 删除name的非空约束

    alter table stu modify name varchar(20);
    

    3、唯一约束

    unique,某一列的值不能重复

    注意:

    1. 唯一约束可以有null值,但是只能有一个null

    3.1 创建表时添加约束

    CREATE TABLE stu(
    	id INT,
    	phone_number VARCHAR(20) UNIQUE  -- 手机号
    );
    

    image-20210331152409662

    3.2 创建表后,添加唯一约束

    ALTER TABLE stu MODIFY phone_number VARCHAR(20) UNIQUE;
    

    image-20210331153739167

    3.3 删除唯一约束

    -- 删除唯一约束  
    ALTER TABLE stu DROP INDEX phone_number;
    

    image-20210331153010163

    4、主键约束

    主键约束:表示非空且唯一

    注意:

    1. 一张表只能有一个主键
    2. 主键就是一张表中记录的唯一标识

    4.1 创建表时,添加主键约束

    CREATE TABLE stu(
    	id INT PRIMARY KEY,
    	NAME VARCHAR(20)
    );
    
    

    image-20210331154347025

    4.2 删除主键

    ALTER TABLE stu DROP PRIMARY KEY;
    

    image-20210331154620461

    4.3 创建表后,添加主键

    ALTER TABLE stu MODIFY id INT PRIMARY KEY;
    

    image-20210331154757352

    4.4 自动增长

    如果某一列是数值类型的,使用auto_increment可以完成值得自动增长。

    自动增长的数据只跟上一个数据有关。

    • 在创建表时添加主键约束,并完成自动增长

      CREATE TABLE stu(
      	id INT PRIMARY KEY auto_increment, -- 给id添加主键约束
      	NAME VARCHAR(20)
      );
      

      image-20210331155407445

    • 删除自动增长

      ALTER TABLE stu MODIFY id INT;
      
    • 添加自动增长

      ALTER TABLE stu MODIFY id INT AUTO_INCREMENT;
      

    5、外键约束

    5.1 创建表时添加外键

    语法:

    create table 表名(
    	...
    	外键列
    	constraint 外键名称 foreign key 外键列名称 reference 主表名称(主表列名称)
    );
    

    image-20210331204854341

    image-20210331204921753

    image-20210331205035297

    image-20210331205051763

    5.2 删除外键

    alter table 表名 drop foreign key 外键名;
    

    image-20210331205724243

    5.3 添加外键

    alter table 表名 add constraint 外键名称 foreign key 外键列名称 reference 主表名称(主表列名称)
    

    image-20210331205933946

    5.4 级联操作

    • 添加级联的操作

      alter table 表名 add constraint 外键名称 foreign key 外键列名称 reference 主表名称(主表列名称) on update cascade on delete cascade;
      
    • 级联的更新

      添加外键的时候设置级联

      alter table 表名 add constraint 外键名称 foreign key 外键列名称 reference 主表名称(主表列名称) on update cascade;
      

      image-20210331211215364

    • 级联的删除

      alter table 表名 add constraint 外键名称 foreign key 外键列名称 reference 主表名称(主表列名称) on update cascade on delete cascade;
      

      image-20210331211554022

    展开全文
  • 主键约束(primary key):既不能为null也不能重复 外键约束(foreign key): 检查约束(check)(mysql不支持,但是Oracle有): 一般usename(唯一性约束) password(非空约束) 非空约束 not null 可
  • 唯一约束:unique 主键约束:primary key 外键约束:foreign key 默认约束:Default 检查约束:Check 非空约束:not null 某一列的值不能为空 创建表时添加约束 CREATE TABLE stu( id INT, NAME VARCHAR(20) ...
  • 主键约束和唯一约束

    千次阅读 2019-03-07 21:30:59
    主键约束和唯一约束主键约束和唯一约束的区别普通索引和唯一索引Mysql中的索引普通索引(非唯一索引)唯一索引唯一索引主键约束的唯一索引唯一约束的唯一索引创建唯一索引删除主键约束和唯一约束自动创建的唯一索引 ...
  • 1.主键约束(PRIMARY KEY) 1) 主键用于唯一地标识表中的每一条记录,可以定义一列或多列为...1) 唯一性约束用来限制不受主键约束的列上的数据的唯一性,用于作为访问某行的可选手段,一个表上可以放置多个唯一性...
  • 唯一约束(unique)3.1注意事项4.主键约束(primary key)4.1添加主键4.2联合主键4.3注意事项5.外键约束5.1注意事项:6.check 约束 (了解) 1.非空约束(not null) 非空约束 限定某个字段不能为null create table ...
  • 1.Unique约束和Primary key约束用来保证同一表中指定的列上没有重复值,这两个约束都产生唯一索引确保数据一致性,默认情况下,Unique约束产生唯一的非聚集索引,Primary key约束产生唯一的聚集索引。Primary key...
  • 主键约束:primary key 非空约束:not null 唯一约束:unique 外键约束:foreign key 1.1 非空约束:not null 1)在创建表时添加约束: CREATE TABLE stu( id INT, NAME VARCHAR(20) NOT NULL -- name为非空...
  • 删除唯一约束和主键

    千次阅读 2015-10-26 10:55:03
    //mysql 添加唯一约束 ALTER TABLE 表 ADD index (XXX); //mysql 删除唯一约束 ALTER TABLE 表 DROP INDEX XXX; //mysql 添加主键 ALTER TABLE 表 ADD PRIMARY KEY ( XXX ); //mysql 删除主键 ALTER TABLE 表 ...
  • 10. 数据库约束-主键约束-唯一约束-非空约束-默认值约束概述约束其实就是一种限制,用于修饰表中的列. 通过这种限制来保证表中数据的正确性、有效性完整性。约束的类型约束名约束关键字主键...
  • 主键约束和唯一约束都会创建唯一索引,不同之处在于主键约束的索引键在定义上不允许为NULL,而唯一约束的索引键在定义上允许为NULL;唯一约束认为索引键上的NULL值是相等的,不允许重复的NULL值出现在索引键或其组合...
  • 2.定义主键约束 语法格式: CREATE TABLE [schema.] table( column datatype [DEFAULT expr] [colunm_constraint(完整性约束)], ... [table_constraint(完整性约束)]; ) eg: CREAT...
  • 一、如何添加主键约束和唯一性约束1、添加主键约束执行语法:alter table tableName add primarykey(column_name);#千万别忘了加(),同时要保证表结构中没有其他的主键,因为一个表中只能有一个主键。2、添加唯一性...
  • 1.主键约束(PRIMARYKEY)1)主键用于唯一地标识表中的每一条记录,可以定义一列或多列为主键。2)是不可能(或很难)更新.3)主键列上没有任何两行具有相同值(即重复值),不允许空(NULL).4)主健可作外健,唯一索引不可;...
  • 主键约束:primary key 2.非空约束:not null 3.唯一约束:unique 4.外键约束:foreign key 非空约束:not null 1.创建表时添加约束 create table stu( id INT name varchar(20) not nu...
  • 一、非空约束(只能在列级设置,不能在表级设置) 1、在创建表时设置非空约束 CREATE TABLE table_name( column_name datatype NOT NULL,…… );     2、在修改表时添加非空约束 ALTER TABLE table_name ...
  • MySQL主键约束和唯一性约束都是索引,它们的区别是:主键字段可以确保唯一性,但主键字段不能为NULL.唯一性约束可以确保唯一性,MySQL主键约束和唯一性约束都是索引,它们的区别是:mysql-workbench无法创建多字段...
  • 约束类型按功能包括有:非空约束、主键约束唯一约束、默认约束、外键约束、 【自动编号】AUTO_INCREMENT 起始值为1,增量为1。 自动编号的字段必须为数值型,若为浮点数小数位数必须为0。 自动编号必须和主键组合...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,585
精华内容 1,434
关键字:

唯一约束和主键约束