精华内容
下载资源
问答
  • oracle怎么查看中的约束
    千次阅读
    2021-05-04 06:27:57

    查询外键约束的列名:

    select * from user_cons_columns cl where cl.constraint_name = 外键名称

    select table_name,constraint_name,constraint_type from user_constraints

    where table_name='大写的表名'

    select table_name,constraint_name,constraint_type from dba_constraints

    where table_name='大写的表名'

    ---------另外以下可以只查看表中的索引

    select * from USER_INDEXES where table_name = '大写的表名'

    select * from ALL_INDEXes where table_name = '大写的表名'

    我们可以使用下面语句从all_constraints视图中查看某表上的约束:

    SELECT constraint_name, table_name, r_owner, r_constraint_name

    FROM all_constraints

    WHERE table_name = 'table_name' and owner = 'owner_name';

    另一个视图ALL_CONS_COLUMNS也包括组成表上约束列的信息。

    更多相关内容
  • MySQL数据库表约束

    万次阅读 多人点赞 2018-01-16 14:48:27
    为了防止往数据中插入错误的数据,在MySQL中,定义了一些维护数据库完整性的规则,即约束。 常见的约束:    上表中列举的约束条件都是针对中字段进行限制, 从而保证数据中数据的正确性和...

           为了防止往数据表中插入错误的数据,在MySQL中,定义了一些维护数据库完整性的规则,即表的约束。

    常见的表的约束:

          

        上表中列举的约束条件都是针对表中字段进行限制, 从而保证数据表中数据的正确性和唯一性。


    一、主键约束

           在MySQL中,为了快速查找表中的某条信息,可以通过设置主键来实现。主键约束是通过PRIMARY KEY

    定义的,它可以唯一标识表中的记录,这就好比身份证可以用来标识人的身份一样。在MySQL中,主键约束

    分两种,具体如下:

          1、单字段主键

               单字段主键指的是由一个字段构成的主键,其基本语法如下:

             

              上述案例中,表student创建了id、name和grade三个字段,其中id字段是主键。

          2、多字段主键

              多字段主键指的是多个字段组合而成的主键,其基本的语法格式如下所示:

              

               上述案例中,student创建了id、name和grade三个字段,其中id和name两个字段组合可以唯一

        确定一条记录。

      【补充】一个表最多可以创建一个主键。


    二、外键约束

          如果表A的主键是表B中的字段,则该字段称为表B的外键;另外表A称为主表,表B称为从表。外键是用来

    实现参照完整性的,不同的外键约束方式将可以使两张表紧密的结合起来,特别是修改或删除的级联操作将使

    得日常维护更轻松。外键主要用来保证数据的完整性和一致性。其基本语法如下:

         

           【补充】一个表允许有多个外键,且外键只适用于InnoDB表,MyISAM表不支持外键。InnoDB表和

    MyISAM表的主要区别是:InnoDB表支持事务、行锁和外键,MyISAM不支持;InnoDB表索引式修改效率较

    MyISAM高,MyISAM表查询、插入和删除效率较InnoDB高,而且MyISAM索引和数据分离,索引压缩存储,

    而InnoDB索引和数据紧密结合,不支持压缩,所以MyISAM内存利用率比InnoDB高;另外MyISAM的移植性

    也更强。


    三、非空约束

           非空约束指的是字段的值不能为NULL,在MySQL中,非空约束是通过NOT NULL定义的,其基本语法

    如下:

        

           上述案例中,表student包含id、name和grade三个字段。其中id为主键,name为非空字段。

         【补充】一个表可以有多个非空约束字段。

    四、唯一约束

           唯一约束用于保存数据表中字段的唯一性,类似于主键,即表中字段值不能重复出现。唯一约束

    是通过UNIQUE定义的,其基本语法如下:

         

           上述案例中,表student包含id、name和grade三个字段。其中id为主键,name字段为唯一值,

    不能重复。

         【补充】一个表可以有多个唯一约束字段。


    五、默认约束

           默认约束用于给数据表中的字段指定默认值,即当在表中插入一条新纪录时,如果没有给这个字段

    赋值,那么,数据库系统会自动为这个字段插入默认值。默认值是通过DEFAULT关键字定义的,其

    基本语法如下:

         

           上述案例中,表student包含id、name和grade三个字段。其中id为主键,grade字段的默认值为0。

     【补充】一个表可以有多个默认约束字段。


    六、自增约束

           在数据表中,若想为表中插入新记录自动生成唯一的ID,可以使用AUTO_INCREMENT约束来实现。

    AUTO_INCREMENT约束的字段可以是任何整数类型。默认情况下,改字段的值是从1开始自增的。其基

    本语法如下:

         

            上述案例中,表student包含id、name和grade三个字段。其中id为主键,且没插入一条新纪录,

    id都会自动增加。

    【补充】一个表只能设置一个自增约束字段。



           

                


        

      




    展开全文
  • navicat表约束怎么弄

    千次阅读 2021-04-19 05:37:14
    数据库中约束分为一下几种●主键约束(Primary Key constraint):要求主键列数据唯一,并且不允许为空。●唯一约束(Unique constraint):要求该列唯一,允许为空,但只能出现一个空值。●检查约束(Check constraint)...

    f96bb55b12dd61d31815834372c4c6b9.png

    数据库中约束分为一下几种

    ●主键约束(Primary Key constraint):要求主键列数据唯一,并且不允许为空。

    ●唯一约束(Unique constraint):要求该列唯一,允许为空,但只能出现一个空值。

    ●检查约束(Check constraint):某列取值范围限制,格式限制等,如有关年龄、邮箱(必须有@)的约束。

    ●默认约束(Default constraint):某列的默认值,如在数据库里有一项数据很多重复,可以设为默认值。

    ●外键约束(Foreign Key constraint):用于在两个表之间建立关系,需要指定引用主表的哪一列。

    推荐教程:MySQL入门视频教程

    下面我们就为大家介绍一下外键约束的创建过程。

    先介绍一下基本情况。现在有两个表一张是teacher表一张是dept表,现在我想把teacher表中的dept属性设置为外键,关联dept表中的code属性。具体情况如图;好了,基本情况介绍完毕,现在开始教你们navicat for mysql 怎么设置外键。

    68ccd00640d4e2b4a91d3d33f58c4946.png

    1、打开我的navicat,然后找到我的teacher表,选中它,然后点击菜单栏上的‘design table’。

    15baec9bb14cdeaffe5341244fd2dfe6.png

    2、在弹出的对话框中找到“Foreign Keys”,然后单机。

    d05fbd5dc014a294ed5e12b22510f1df.png

    3、然后会出现一个设置外键的界面,一共有七列。简单介绍一下这几列的意思。

    ‘name’:可以不填,你一会保存成功系统会自动生成。

    ‘FieldName’:就是你要把哪个键设置为外键。这里选择‘dept’

    ‘Reference DadaBase’:外键关联的数据库。

    ‘Reference Table‘ :关联的表 这里是dept表

    ‘Forgin filed Names’:关联的的字段,这里是code

    ‘ondelete’:就是删除的时候选择的动作。这里我的选择是setNull,意思就是当关联的表删除以后,teacher》dept字段会设置为null。

    ‘onupdate’:就是更新的时候选择的动作。这里我的选择是CASCADE,意思就是当关联的表更新以后,teacher》dept字段会设置为级联更新。

    1c18e4e9054c1a818183d620cd869e16.png

    4、设置完成后点击‘save’保存退出,也可以点击‘add Foreign Key’再添加一个外键。

    eb9586ae17bbbeb7fb665306207574a1.png

    展开全文
  • MySQL的表约束

    千次阅读 2019-06-09 16:55:39
    真正约束字段的是数据类型,但是数据类型约束很单一,需要有一些额外的约束,才能更好的保证数据的合法性,从业务逻辑角度保证数据的正确性。比如有一个字段是Email,它是unsigned int类型的,而且要求每个Email号都...

    真正约束字段的是数据类型,但是数据类型约束很单一,需要有一些额外的约束,才能更好的保证数据的合法性,从业务逻辑角度保证数据的正确性。比如有一个字段是Email,它是unsigned int类型的,而且要求每个Email号都是不同的,即unique属性。可用于表示的约束很多,这里主要介绍如下几个:null/not null,default,comment,zerofill,primary key,auto_increment,unique key。

    1、空属性——null(默认的)和not null(不为空)
    段基本都是为null,但是实际开发时尽可能保证字段不为空,因为数据为空没办法参与运算,如下所示。
    在这里插入图片描述
    相加之后还是为空,如下所示。
    在这里插入图片描述
    【例1】创建一个班级表,包含班级名和班级所在的教室,如果班级没有名字,就不知道在哪里班级;如果不知道教室名字,就不知道在哪里上课。
    在这里插入图片描述
    当插入数据时,因为没有给class_room添加数据而出错,因为将它设置为not null了。
    在这里插入图片描述
    2、默认值——default
    某一种数据会经常性的出现某个具体的值,可以在一开始就指定好,在需要真实数据的时候,用户可以选择性的使用默认值。
    【例2】创建一个学生表,默认学生性别为男。
    在这里插入图片描述
    默认值生效的情况:当插入数据时不给该字段数值就使用默认值。如果给相应字段数值了,就使用新添的数值,看下图的age和sex字段。
    在这里插入图片描述
    3、列描述——comment
    comment没有实际的含义,专门用来描述字段,会根据表创建语句保存,用来解释的。
    【例3】
    在这里插入图片描述
    通过desc查看不到注释信息:
    在这里插入图片描述
    通过show可以看到:
    在这里插入图片描述
    4、补0——zerofill
    【例4】创建numbers表,表中含有两个整形字段,如下图所示。
    在这里插入图片描述
    通过show查看numbers表的建表语句,如下图所示。
    在这里插入图片描述
    可以看到int(11),这个表示什么意思?整型不是4字节吗?这个11又表示什么?其实,没有serofill这个属性,括号内的数字是含无意义的,a和b字段就是前面创建的变量,如下所示:
    在这里插入图片描述
    但是,对字段添加zerofill属性后,显示的结果就不一样了。修改numbers表的属性,对a字段添加zerofill属性,再进行查找,如下图所示。
    在这里插入图片描述
    这次可以看到a的值由原来的6变成000006,这就是zerofill属性的作用,如果宽度小于设定的宽度(这里设定为6),就会自动填充0.要注意的是,这只是最后显示的结果,在MySQL中实际存储的还是6。可以用hex函数来证明,如下图所示,数据库内部存储的还是6,000006只是设置了zerofill属性后的一种格式化输出而已。
    在这里插入图片描述
    5、主键
    primary key用来唯一的约束该字段里面的数据,不能重复、不能为空,一张表中最多只能有一个主键,主键所在的列通常是整数类型。设置主键的方式是:
    (1)创建表的时候直接在字段上指定主键
    在这里插入图片描述
    (2)在创建表的时候,在所有字段之后,使用primary key(主键列表)来创建主键,如果有多个字段作为主键可以使用复合键。
    在这里插入图片描述
    如图,id和course字段作为主键,表示当id和course都相同时才会报错。
    在这里插入图片描述
    (3)当表创建好了以后,可以再次追加主键,其格式为:alter table 表名 add primary key(字段列表),但是主键对应的字段中不能重复,一旦重复,操作失败。
    在这里插入图片描述
    在这里插入图片描述
    (4)删除主键
    其格式为:alter table 表名 drop primary key;
    在这里插入图片描述
    6、自增长——auto_increment
    当对应的字段不给值,会被自动的被系统触发,系统会从当前字段中已经有的最大值+1操作,得到一个新的不同的值。通常和主键搭配使用,作为逻辑主键。自增长的特点:任何一个字段要做自增长,前提是本身是一个索引(key一栏有值);自增长字段必须是整数;一张表最多只能有一个自增长
    在这里插入图片描述
    7、唯一键——unique
    一张表中往往有很多字段需要唯一性,数据不能重复,但是一张表中只能由一个主键。而唯一键就可以解决表中有多个字段需要唯一性约束的问题。唯一性的本质与主键差不多,唯一键允许为空,而且可以多个为空,空字段不做唯一性比较。
    在这里插入图片描述
    8、外键——foreign key
    外键用于定义主表和从表主键的关系:外键约束主要定义在外表上,主表则必须是有主键约束或unique约束。当定义外键后,要求外键列数据必须在主表列存在或为null。语法:foreign key(字段名) reference 主表(列)。
    【例】创建一个主表myclass,从表stu,它们的关系如下所示。
    在这里插入图片描述
    在这里插入图片描述
    当插入一个班级号为3的学生,因为没有这个班级,所以插入不成功。但是,可以插入班级号为null的学生,假如刚来一个学生还没有分配班级。
    在这里插入图片描述
    9、综合案例
    有一个商品的数据,记录客户及购物情况,有以下三个表组成:
    (1) 商品goods表,表中包含商品编号goods_id、商品名goods_name、单价unitprice、商品类别category、供应商provider。
    (2) 客户customer表,表中包含客户号customer_id、姓名name、住址address、邮箱Email、性别sex、身份证card_id。
    (3) 购买信息表purchase,表中包含购买订单号order_id、客户号customer_id、商品号goods_id、购买数量nums。
    要求:
    1)每个表的主外键;
    2)客户的姓名不能为空;
    3)邮箱不能重复;
    4)客户的姓名(男,女)

    –创建goods表
    在这里插入图片描述
    –创建customer表
    在这里插入图片描述
    –创建purchase
    在这里插入图片描述

    展开全文
  • 1、约束 约束,是对表中的数据进行限定,保证数据的正确性、有效性和完整性,约束分为以下几类: 主键约束:primary key 非空约束:not null 唯一约束:unique 外键约束:foreign key 1.1 非空约束:not ...
  • 数据库约束条件

    千次阅读 2020-08-16 20:54:35
    主键约束可以用两种方式定义:列级主键约束级主键约束 列级主键约束演示: create table dept_htlwk( deptno varchar(20) primary key, --列级约束条件 dname varchar(20), location varchar(40) ); 级主键...
  • MySQL数据库中数据约束条件

    千次阅读 2022-03-31 19:19:30
    MySQL数据库中数据约束条件
  • MySQL创建约束条件(四)

    千次阅读 多人点赞 2019-11-15 14:09:16
    上一章时,我们学习了 MySQL的数据类型, 就像Java 知道了 int,string 之后,就该学习类了, 现在,我们知道了数据类型,就该去学习 Table了。 在创建时,一定要在 database 里面进行创建, 既先使用 use ...
  • 约束与列级约束 约束与列级约束 (1)对一个数据列建立的约束,称为列级约束 (2)对多个数据列建立的约束,称为约束 (3)列级约束既可以在列定义时声明,也可以在列定以后声明 (4)约束只能在列...
  • SQL数据库创建表约束(Constraints)

    万次阅读 2019-04-14 22:41:27
    SQL 约束用于规定中的数据规则。 如果存在违反约束的数据行为,行为会被约束终止。 约束可以在创建时规定(通过 CREATE TABLE 语句),或者在创建之后规定(通过 ALTER TABLE 语句)。 SQL CREATE TABLE + ...
  • MySQL为添加外键约束

    千次阅读 2021-01-18 22:13:53
    添加外键约束的语法...为student添加外键约束执行成功后,使用DESC来查看学生和班级可以看出,grade中的id是主键,student中的gid是外键使用show create table,查看的详细结构可以看出,gid为st...
  • 列级约束约束

    千次阅读 2019-04-08 11:25:23
    约束又分为列级约束约束,它们的区别: (1)列级约束:只能应用于一列上。 约束:可以应用于一列上,也可以应用在一个中的多个列上。 (即:如果你创建的约束涉及到该的多个属性列,...
  • 约束是用来规范中结构的,是一种限制,为了保证数据的可靠性和稳定性 二:常见的约束有哪些以及作用 ① not null 非空,用于保证该字段的值不能为空 比如姓名,学号等 ② default 默认约束,用于保证该字段有...
  • alter table stu5 add constraint 编号 foreign key (bh) ...说明:stu2和stu5是两张,“编号”为字段bh的约束名(是stu5中的一个属性),bh是stu2中的主键,而bh并不是stu5的主键,那么则称stu2为主,stu5为...
  • oracle查询约束

    千次阅读 2019-06-03 16:07:23
    1.查询出所有的唯一键约束的 禁用sql select 'alter table ' || table_name || ' disable constraint '||constraint_name||';' from user_constraints where constraint_type='U'; 如下: alter table SYENTINFO2 ...
  • DB2表约束

    千次阅读 2018-05-22 21:00:10
    DB2支持的表约束包括非空约束[NOT NULL],主键约束[PRIMARY KEY],唯一性约束[UNIQUE],外键约束[FOREIGN KEY]和检查性约束[CHECK] 1:非空约束[NOT NULL]空值[NULL]是不存在的值,不是0也不是空字符串。默认情况下表中...
  • 文章目录 数据类型 数据表示方式 数据表创建 Management Studio 建表 SQL 指令建表 数据表约束 Constrain NULL / NOT NULL UNIQUE 列约束 表约束 PRIMARY KEY 列约束 表约束 FOREIGN KEY 列约束 表约束 CHECK 列约束...
  • SQL Server缺省约束、列约束和表约束

    千次阅读 2019-09-30 16:56:57
    SQL Server缺省约束是SQL Server数据库中的一种约束,下面就为您介绍SQL Server缺省约束、列约束和表约束的定义方法啊,供您参考。 SQL Server缺省约束 SQL Server缺省约束通过定义列的缺省值或使用数据库的缺省值...
  • mysql修改时添加默认约束和删除默认约束 直接po代码和截图 # CREATE TABLE testMyIndex2( id int, address VARCHAR(130), email VARCHAR(40), hobby VARCHAR(160), userName VARCHAR(50) ); #修改时添加默认...
  • 数据库中的如何设置约束?(精简版)

    千次阅读 多人点赞 2022-02-17 19:16:51
    什么是主键?什么是外键?什么是唯一约束?如何自增,如何........
  • --查找的所索引(包括索引名,类型,构成列:SELECT T.*, I.INDEX_TYPEFROM USER_IND_COLUMNS T, USER_INDEXES IWHERE T.INDEX_NAME = I.INDEX_NAMEAND T.TABLE_NAME = I.TABLE_NAMEAND T.TABLE_NAME = 表名--查找...
  • 的完整性约束-外键约束

    千次阅读 2021-01-24 16:18:00
    的完整性约束-外键约束 外键约束(FOREIGN KEY,缩写FK)是用来实现数据库的参照完整性的。外键约束可以使两张紧密的结合起来,特别是针对修改或者删除的级联操作时,会保证数据的完整性。 外键是指中某个...
  • 【SQL】删除约束条件

    千次阅读 2018-10-25 16:00:45
    SQL:删除约束条件 2018.10.25 前言 某项目采用Hibernate,并配置hibernate.hbm2ddl.auto为update1,而实体类A中a成员变量声明为: @Column(length = 45, unique=true) private String a; 而后需求改动,该...
  • Oracle为添加约束

    千次阅读 多人点赞 2019-06-29 20:17:57
    创建一个学生和院系:院系为主,学生为从 create table student (sid number(8,0), name varchar2(10), sex char(2), birthday date, email varchar2(20) depid number(5,0) ); create table ...
  • Oracle创建约束、修改

    千次阅读 2018-10-17 14:22:44
    创建 第一种方式,语法如下: --column_name:列名 --type:数据类型 --注意:多个列名之间用逗号分隔,最后一列不要加逗号 create table table_name( column_name type, column_name type ) 第二种方式,语法...
  • 数据库中的常见七大约束

    万次阅读 2018-05-14 20:15:55
    真正约束字段的是数据类型,但是数据类型约束很单一,需要有一些额外的约束,更好的保证数据的合法性,从业 务逻辑角度保证数据的正确性。比如有一个字段是email,要求是唯一的。 1、空属性not null:not null ...
  • mysql修改时怎么添加主键约束

    千次阅读 2021-01-18 19:43:53
    当在修改时要设置中某个字段的主键约束时,要确保设置成主键约束的字段中值不能够有重复的,并且要保证是非空的。(推荐教程:mysql视频教程)主键(PRIMARY KEY)的完整称呼是“主键约束”,是 MySQL 中使用最为...
  • sql中约束和列级约束

    万次阅读 多人点赞 2017-03-19 16:02:41
    (1) 对于基本表的约束分为列约束和表约束 约束是限制用户输入到表中的数据的值的范围,一般分为列级约束与表级约束。 列级约束有六种:主键Primary key、外键foreign key 、唯一 unique、检查 checck 、默认...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 473,901
精华内容 189,560
关键字:

属于表的约束