精华内容
下载资源
问答
  • oracle 数据库 数据的5个约束类型

    千次阅读 2017-07-16 15:59:22
    主键约束:用来唯一标示表中的一个列,一个表中的主键约束只能有一个,但是可以在一个主键约束中包含多个列,也称为联合约束。 外键约束:用来约束两个表中列之间的关系。 唯一约束:用来唯一标示表中的列。...
    oracle 数据库 数据表的5个约束类型:
    1.主键约束
    2.外键约束
    3.唯一约束
    4.检查约束
    5.非空约束


    主键约束:用来唯一标示表中的一个列,一个表中的主键约束只能有一个,但是可以在一个主键约束中包含多个列,也称为联合约束。


    外键约束:用来约束两个表中列之间的关系。

    唯一约束:用来唯一标示表中的列。与主键约束不同的是,在一个数据表中可以有多个唯一约束。

    检查约束:用来约束表中列的输入值得范围,比如在输入性别时,要求数据库中只能输入男或者女,就可以使用检查约束来约束该列。

    非空约束:约束该列一定要输入值。



    ---------------------------------------------------------------------------------------
    创建一个带检查约束的表:
    使用PL/SQL语句创建检查约束的语法如下所示:
    CONSTRAINT constraint_name CHECK(condition)

    [语法说明:]
        CONSTRAINT:关键词
        constraint_name:约束名称
        condition:约束条件

    列如:创建BOOKINFO表时,给图书价格加上一个检查约束,要求图书价格在10元到100元之间。
    CREATE TABLE BOOKINFO
    (
        BOOKID INT,
        BOOKNAME CAHR,
        PUBLISH VARCHAR2(20),
        PUBDATE VARCHAR2(20),
        PRICE    DECIMAL,
        AUTHOR    CHAR,
        STORE    VARCHAR2(1),
        READER INT,
        REMARKS VARCHAR2(50),
        CONSTRAINT    CK_PRICE    CHECK(PRICE>=10 AND PRICE <= 100)
    );


    ---------------------------------------------------------------------------------------
    创建一个带非空约束的表:

    举例:在创建BOOKINFO表时,给图书名称加上一个非空约束。
    CREATE TABLE BOOKINFO
    (
    BOOKID INT NOT NULL,
    BOOKNAME CHAR NOT NULL,
    PUBLISH VARCHAR2(20),
    PUBDATE VARCHAR2(20),
    PRICE DECIMAL,
    AUTHOR CHAR,
    STORE VARCHAR2(1),
    READER INT,
    REMAERKS VARCHAR2(50)
    );

    ----------------------------------------------------------------------------------------
    创建一个带唯一约束的表
    语法格式:
        CONSTRAINT constraint_name UNIQUE(column_name)

        【语法说明】
        UNIQUE:唯一约束的关键词
        column_name:唯一约束的名称。

    举例:创建BOOKINFO表时,为图书名称(BOOKNAME)列添加唯一约束
    create table bookinfo
    (
        bookid int,
        bookname char,
        publish    varchar2(20),
        pubdate    varchar2(20),
        price decimal,
        author    char,
        store    varchar2(1),
        reader int,
        remarks varchar2(50),
        CONSTRAINT UN_BOOKNAME UNIQUE (bookname)
    );
    ------------------------------------------------------------------------------------------
    创建一个带外键约束的表
    语法格式:
        CONSTRAINT constraint_name    FOREIGN KEY    (column_name)
        REFERENCE  table_name (column_name)
        ON   DELETE    CASCADE

    [语法说明:]
    CONSTRAINT:创建约束的关键字
    FOREIGN KEY:外键约束的关键字
    REFERENCE:引用外表的关键词
    table_name:需要引用的外表,column_name表示该表的列。

    举例:
    create table publishinfo
    (
        publishid varchar(20) primary key,
        publishname varchar(30)
    );

    create table bookinfo
    (
        bookid int,
        bookname char,
        publish varchar2(20),
        pubdate    varchar2(20),
        price    decimal,
        author    char,
        store    int,
        reader     int,
        remarks    varchar2(50),
        constraint fk_publish foreign key(publish) references publishinfo(publishid) on delete cascade
    );

    创建BOOKINFO表,该表带有外键约束,约束名称为"FK_PUBLISH"。相关列为publish,该外键和PUBLISHINFO表中的publishid列相关联。
    展开全文
  • 数据库表约束

    2019-05-07 12:36:45
    以下操作均在下表中进行: CREATE table login( ...PRIMARY KEY 约束唯一标识数据库表中的每条记录,主键必须包含唯一的值,且不能为 NULL ,每个表都应该有一个主键,并且每个表只能有一个主键。 对id列...

    以下操作均在下表中进行:

    CREATE table login(
    id CHAR(36),
    user_name VARCHAR(15),
    password VARCHAR(15) NOT NULL
    )
    

    1、主键 PRIMARY KEY
    PRIMARY KEY 约束唯一标识数据库表中的每条记录,主键必须包含唯一的值,且不能为 NULL ,每个表都应该有一个主键,并且每个表只能有一个主键。
    对id列创建 PRIMARY KEY约束:

    ALTER TABLE login
    ADD PRIMARY KEY (id)
    
    • 执行插入操作:
    INSERT INTO login (id,user_name,password) VALUES ('1','tom','123456')
    

    插入成功,表更新为:
    在这里插入图片描述

    • 执行插入操作:
    INSERT INTO login (id,user_name,password) VALUES ('1','lucy','123456')
    

    插入失败,表未更新:
    在这里插入图片描述

    • 执行插入操作:
    INSERT INTO login (id,user_name,password) VALUES (NULL,'jack','123456')
    

    插入失败,表未更新:
    在这里插入图片描述

    • 执行插入操作:
    INSERT INTO login (id,user_name,password) VALUES ('2','jack','123456')
    

    插入成功,表更新为:
    在这里插入图片描述

    2、UNIQUE

    UNIQUE 约束也可以唯一标识数据库表中的每条记录,UNIQUE 约束可以在一个表中有多个。
    对user_name列创建 UNIQUE 约束:

    ALTER TABLE login
    ADD UNIQUE (user_name)
    
    • 执行插入操作:
    INSERT INTO login (id,user_name,password) VALUES ('3','lucy','123456')
    

    插入成功,表更新为:
    在这里插入图片描述

    • 执行插入操作:
    INSERT INTO login (id,user_name,password) VALUES ('4','lucy','123456')
    

    插入失败,表未更新:
    在这里插入图片描述
    3、NOT NULL
    NOT NULL 约束字段值不允许为null,且NOT NULL约束只能在创建表时对字段进行约束。

    • 执行插入操作:
    INSERT INTO login (id,user_name,password) VALUES ('4','john',null)
    

    插入失败,表未更新:
    在这里插入图片描述

    • 执行插入操作:
    INSERT INTO login (id,user_name,password) VALUES ('4','john','123456')
    

    查入成功,表更新为:
    在这里插入图片描述
    4、外键 FOREIGN KEY
    FOREIGN KEY 约束用于预防破坏表之间连接的动作,能防止非法数据插入外键列,因为外键列值必须在它指向的那个表中存在。
    创建表address,表中l_id指向login表中的id,进行查入操作:

    CREATE TABLE address(
    a_id CHAR(10) PRIMARY KEY,
    mobile CHAR(11),
    address VARCHAR(15),
    l_id CHAR(36),
    FOREIGN KEY (l_id) REFERENCES login(id)
    )
    INSERT INTO address (a_id,mobile,address,l_id) VALUES ('1','12345678901','郑州','1')
    

    查入成功:
    在这里插入图片描述

    • 执行插入操作:
    INSERT INTO address (a_id,mobile,address,l_id) VALUES ('2','12345678901','郑州','5')
    

    插入失败,因为l_id位address的外键,指向login表中id,但此次插入l_id为5,login中不存在id为5的信息。

    • 删除表login:
    DROP TABLE login
    

    删除失败,表中存在外键指向待删除表主键。
    5、check
    指定列值必须满足check中条件,否则无法进行添加或修改;一个字段可以定义多个check约束。
    注意:MySQL数据库不支持该约束!

    展开全文
  • 数据库约束

    2020-01-11 17:19:10
    约束的作用: 对表中的数据进行限制,保证数据的正确性...1) 主键数在一个表中,只能有一个。不能出现多个主键。主键可以单列,也可以是多列。 2) 自增长只能用在主键上 主键约束 用来唯一标识数据库中的每一条记...
    • 约束的作用:
      对表中的数据进行限制,保证数据的正确性、有效性和完整性。一个表如果添加了约束,不正确的数据将无
      法插入到表中。
      约束在创建表的时候添加比较合适
    • 约束分类
      在这里插入图片描述

    疑问:如果一个字段设置了非空与唯一约束,该字段与主键的区别?
    1) 主键数在一个表中,只能有一个。不能出现多个主键。主键可以单列,也可以是多列。
    2) 自增长只能用在主键上

    主键约束

    • 用来唯一标识数据库中的每一条记录。主键是给数据库和程序使用
      的,不是给最终的客户使用的。所以主键有没有含义没有关系,只要不重复,非空就行。
    • 主键非空,唯一。
    创建主键
    	1.  在创建表的时候给字段添加主键
    	字段名  字段类型 PRIMARY KEY
    		id INT PRIMARY KEY
    	2.  在已有表中添加主键
    	ALTER TABLE  表名 ADD PRIMARY KEY( 字段名);
    		ALTER TABLE student4 ADD PRIMARY KEY(id);
    
    删除主键
    	alter table st5 drop primary key;
    
    主键自增
    	1. 创建时指定起始值
    	CREATE TABLE  表名(
    	列名 int primary key AUTO_INCREMENT
    	) AUTO_INCREMENT= 起始值;
    	
    	2. 创建后修改起始值
    		ALTER TABLE  表名 AUTO_INCREMENT= 起始值;
    
    

    唯一约束

    • 表中某一列不能出现重复的值
    • null 没有数据,不存在重复的问题
    字段名  字段类型 UNIQUE
    

    非空约束

    • 某一列不能为 null
    字段名  字段类型 NOT NULL
    

    默认值

    字段名  字段类型 DEFAULT  默认值
    

    外键约束

    • 什么是外键:在从表中与主表主键对应的那一列,如:员工表中的 dep_id
      主表: 一方,用来约束别人的表
      从表: 多方,被别人约束的表
      在这里插入图片描述
    添加外键
    	1. 新建表时增加外键:
    		[CONSTRAINT] [ 外键约束名称] FOREIGN KEY( 外键字段名) REFERENCES  主表名( 主键字段名)
    			员工表 CONSTRAINT emp_depid_fk FOREIGN KEY(dep_id) REFERENCES department(id)
    	2. 已有表增加外键:
    		ALTER TABLE  从表 ADD [CONSTRAINT] [ 外键约束名称] FOREIGN KEY ( 外键字段名) REFERENCES  主表( 主
    		键字段名);
    			ALTER TABLE employee ADD CONSTRAINT emp_depid_fk FOREIGN KEY(dep_id) REFERENCES department(id)
    删除外键
    	ALTER TABLE employee DROP FOREIGN KEY emp_depid_fk	
    

    外键级联

    • 在修改和删除主表的主键时,同时更新或删除副表的外键值
      在这里插入图片描述
    创建外键约束
    CONSTRAINT emp_depid_fk FOREIGN KEY (dep_id) REFERENCES
    department(id) ON UPDATE CASCADE ON DELETE CASCADE
    
    展开全文
  • mysql 创建唯一约束表

    千次阅读 2019-08-28 11:15:46
    说明: UNIQUE 约束唯一标识数据库表中的每条记录。 UNIQUE 和 PRIMARY KEY ...请注意,每个表可以有多个 UNIQUE 约束,但是每个表只能有一个 PRIMARY KEY 约束。 1、创建一个测试表: create table test(...

    说明:

        UNIQUE 约束唯一标识数据库表中的每条记录。

        UNIQUE 和 PRIMARY KEY 约束均为列或列集合提供了唯一性的保证。

        PRIMARY KEY 拥有自动定义的 UNIQUE 约束。

     请注意,每个表可以有多个 UNIQUE 约束,但是每个表只能有一个 PRIMARY KEY 约束。


    1、创建一个测试表:

    create table test(
        id int unsigned auto_increment,
        name varchar(50) not null,
        age int unsigned,
        unique(name),
        primary key(id)
    )engine=innodb charset=utf8

    2、插入数据测试

        insert into test(name,age) values('张三',21)
    查询
        

    再添加相同name名称的数据会报错添加不上

    展开全文
  • 两张emp和sales ``` CREATE TABLE emp ( ID NUMBER NOT NULL CONSTRAINT pk_emp_id PRIMARY KEY, NAME VARCHAR2(64) NOT NULL, dept VARCHAR2(64) NOT NULL ); CREATE TABLE sales ( eID NUMBER NOT...
  • 一、主键约束 ...当数据库表使用了主键后,SQLite将自动创建表“SQLITE_SEQUENCE”表中...一个表只能有一个主键约束 主键特点:唯一、自增 案例如下: 创建一个teacher表 CREATE TABLE teacher( id INTEGER PRIMA...
  • 一个数据列建立的约束,称为列级约束 对多个数据列建立的约束,称为约束 列级约束既可以在列定义时声明,也可以定义后声明 约束只能在列定义后声明 一般使用列级约束 NOT NULL和DEFAULT只有列级...
  •  主键约束可以在表中定义一个主键值,它可以确定表中每一条记录,每个表只能有一个主键约束只能有一个主键约束的意思并不是说受主键约束的列只能有一个),并且受主键约束的列不能为空值。如果主键约束定义在...
  • SQL 添加唯一约束

    2017-07-31 13:32:40
    SQL UNIQUE 约束 UNIQUE 约束唯一标识数据库表中的每条记录。 UNIQUE 和 PRIMARY KEY 约束...请注意,每个表可以有多个 UNIQUE 约束,但是每个表只能有一个 PRIMARY KEY 约束。 SQL UNIQUE Constraint on CREATE TAB...
  • oracle-连表约束

    2019-10-29 18:53:46
    day 03 ******************** 五个约束:限制 primary key foreign key/references not null unique check 主键 外键 非空 唯一 ... 一张表只能有一个主键 数据库会在具有唯一性的列上自动添加唯一性约...
  • 用户在我们商城上买商品并付完款后会有一个 orderId 号,拿着这个号和用户的token(当然是我们程序员处理的) 去请求一个连接可以得到优惠券 我在后台还需要保存派送记录,由于orderid 是唯一的,而且每个...
  • MySQL2约束

    2021-03-16 11:24:45
    -- 主键约束:非空且唯一,一张只能有一个主键,我们也建议你在中提供主键。 -- 添加主键的方式: -- 1.建表时添加主键 create table test( username verchar(20) primary key, password v
  • 约束 概念:对表中的数据进行限定,保证数据的正确性,...一张表只能有一个字段为主键,主键就是表中记录的唯一标识 -- 在创建表时,添加主题约束 CREATE TABLE stu( id INT PRIMARY KEY, age int ); --...
  • 文章目录初涉主键约束 (PRIMARY KEY)初涉唯一约束(UNIQUE KEY)MYSQL初...2、每张数据表只能存在一个主键 3、主键保证记录的唯一性 4、主键自动为 NOT NULL 注意: 若人问,TINYINT(m)代表了什么。 TINYINT(...
  • 这章接上一章数据的基本操作,因为我也是刚开始...注意:每个数据中最多只能有一个主键约束,定义为 PRIMATY KEY的字段不能有重复值 且不能为 NULL值 单字段主键: 单字段主键指的是由一个字段构成的主键: 语法如
  • 三、约束 ​ 对编辑的数据进行类型限制,不满足约束条件的直接报错 ​ unsigned:无符号 ​ not null:不为空 ...​ 注:主键非空且唯一,在一个表里面,只能有一个字段是主键 ​ auto_increment :自
  • 主键约束:primary key 唯一 非空 一张必须有主键,只能有一个主键 自增约束:auto_increment (mysql特有) 从1开始每次自增1 要求字段必须是整形 唯一约束:unique 要求该字段在中只能出现一次 ...
  • 约束

    2015-11-27 00:06:40
    约束级的强制规定 以下五种约束:NOT NULL,UNIQUE ,PRIMARY KEY,FOREIGN KEY,CHECK ...作用范围:列级约束只能作用在一个列上,而表约束可以作用在多个列上(当然表约束也可以作用在一个列上)。 定义方式
  • SQL基本使用-表约束

    2019-07-25 11:59:29
    非空且唯一,一张表只能有一个字段是主键,主键就是表中的唯一标识。 CREATE TABLE stu( id INT PRIMARY KEY, phone VARCHAR(20) UNIQUE ); 表格创建后,删除主键 ALTER TABLE stu DROP PRIMARY K...
  • 大部分数据库有一个承接的功能就是某个每条记录的唯一性,通过唯一性来保证这张表的数据是不重复的。使用的场景很多,例如银行,每个人只能开一个1类账户,怎么来保证所有的人来银行开账户都是...
  • 创建约束(1)主键约束 主键(PRIMARY KEY)约束的作用 不允许输入重复的值 不能取空值 当主键是由多个属性组成时某一属性上的数据可以重复但其组合必须是唯一的每个属性的值都不能为空 一个表只能有一个主键 二创建...
  • 数据库中约束条件

    千次阅读 2018-07-04 15:50:25
    约束条件(CONSTRAINT)1)主键约束 主键(Primary Key,简称PK) 特征: 主键约束=不能重复+不能为空 一张只能存在一个主键,主键可以是一列,也可以是多列组合(联合主键)。 主键约束定义方式两种: 列级...
  • 主键一张表只能有一个 唯一约束: 列表的内容必须唯一,不能出现重复情况,为空 唯一约束不可以作为其他表的外键 可以有多个唯一约束 关于外键: 外键约束:forerign key,一般在多的一方添加外键,...
  • Java 数据库之约束,多表查询 一 约束 数据库中的约束:对插入表中的数据做出一种限定,为了保证数据的有效性和完整性 主键约束 primary key ...非空且唯一,一张表只能有一个主键 如何添加主键: create tab...
  • SQLServer中有五种约束,Primary Key约束、Foreign Key约束、Unique约束、Default约束和Check约束,今天使用SQL Server2008来演示下这几种约束的创建和使用的方法。...一个表只能有一个主键,而且主...
  • 2.4约束 防止数据中插入错误的数值,而定义的维护数据库完整性的规则 约束条件 ...注意:每个数据中最多只能有一个主键约束,定义为primary key的字段不能有重复值且不能为null值 1.单字段
  • 首先我们先来学习一下约束的类型哪些:主键约束:要求主键列不能为空,要求主键列唯一外键约束:用于在两个表之间建立关系,需要指定引用主键表的主键是哪列非空约束:要求该列不能为空值唯一约束:要求该列的值...

空空如也

空空如也

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

一个表只能有一个约束