精华内容
下载资源
问答
  • 常用的sql约束条件

    2021-08-30 20:21:15
    创建表tb_UserAndRole CREATE TABLE tb_UserAndRole --用户角色表 ( ID INT PRIMARY KEY IDENTITY(1,1), UserID INT NOT NULL,--用户ID RoleID INT NOT NULL,--角色ID foreign key(UserID) ...1)主键约束

    创建表tb_UserAndRole

    CREATE TABLE tb_UserAndRole  --用户角色表
    (  
    	ID INT PRIMARY KEY IDENTITY(1,1),  
    	UserID INT NOT NULL,--用户ID  
    	RoleID INT NOT NULL,--角色ID  
    	foreign key(UserID) references tb_User(ID)
    	--tb_User表的ID作为tb_UserAndRole表的外键
    )
    

    1)主键约束(primary key)

    1)主键约束同时保证唯一性和非空
    关键字primary key
    语法形式:
    ①.定义字段是时主键约束字段 数据类型 PRIMARY KEY
    ②.定义所有字段后设置主键约束PRIMARY KEY (字段)

    2)自增约束(auto_increment)

    2)自增约束根据设置的递增条件,自动给出主键值
    关键词auto_increment
    语法形式:字段 数据类型 AUTO_INCREMENT

    3)非空约束(not null)

    3)非空约束保证字段的值不能为空
    关键词not null
    语法形式:字段 数据类型 NOT NULL

    4)设置唯一性约束

    4)设置唯一性约束确保表中的一列数据没有相同的值,可以为空
    关键字unique(unique key)
    语法形式:
    ①定义字段时设置唯一约束字段 数据类型 UNIQUE
    ②定义所有字段后设置唯一约束UNIQUE KEY(字段)

    5)设置外键约束

    5)设置外键约束外键可以不是所属数据表的主键,但会对应着另外一张数据表的主键。其主要作用是保证数据的完整性。
    关键字references
    语法形式foreign key(外键ID) references 主表名(主键ID)

    6)无符号约束

    6)无符号约束无符号 整型
    关键字unsigned
    语法形式字段 数据类型 UNSIGNED

    7)默认约束

    7)默认约束保证字段总会有值,即使没有插入值,都会有默认值!
    关键字default
    语法形式字段 数据类型 DEFAULT value

    8)检查性约束

    8)检查性约束MySQL不支持,语法不报错,但无效
    关键字是check
    语法形式s_sex CHAR(1) CHECK(s_sex=‘男’ OR s_sex=‘女’)
    检查约束(Mysql无效
    展开全文
  • SQL常用约束语句

    千次阅读 2021-02-02 15:48:42
    常用五类约束:not null:非空约束,指定某列不为空unique: 唯一约束,指定某列和几列组合的数据不能重复primary key:主键约束,指定某列的数据不能重复、唯一foreign key:外键,指定该列记录属于主表中的一条...

    常用五类约束:

    not null:非空约束,指定某列不为空

    unique: 唯一约束,指定某列和几列组合的数据不能重复

    primary key:主键约束,指定某列的数据不能重复、唯一

    foreign key:外键,指定该列记录属于主表中的一条记录,参照另一条数据

    check:检查,指定一个表达式,用于检验指定数据

    注意: MySQL不支持check约束,但可以使用check约束,而没有任何效果;

    根据约束数据列限制,约束可分为:

    单列约束:每个约束只约束一列

    多列约束:每个约束约束多列数据

    1、not null

    非空约束用于确保当前列的值不为空值,非空约束只能出现在表对象的列上。

    *Null类型特征: 所有的类型的值都可以是null,包括int、float等数据类型 空字符串””是不等于null,0也不等于null

    create table temp(

    id int not null,

    name varchar(255) not null default ‘abc’,

    sex char null

    )

    上面的table加上了非空约束,也可以用alter来修改或增加非空约束

    增加非空约束

    alter table temp modify sex varchar(2) not null;

    取消非空约束

    alter table temp modify sex varchar(2) null;

    取消非空约束,增加默认值

    alter table temp modify sex varchar(2) default ‘abc’;

    2、unique

    唯一约束是指定table的列或列组合不能重复,保证数据的唯一性。虽然唯一约束不允许出现重复的值,但是可以为多个null,同一个表可以有多个唯一约束,多个列组合的约束。在创建唯一约束的时候,如果不给唯一约束名称,就默认和列名相同。 MySQL会给唯一约束的列上默认创建一个唯一索引;

    create table temp (

    id int not null,

    name varchar(25),

    password varchar(16),

    constraint uk_name_pwd unique(name, password)

    );

    unique(name, password)表示用户名和密码组合不能重复

    添加唯一约束

    alter table temp add unique(name, password);

    修改唯一性约束

    alter table temp modify name varchar(25) unique;

    删除约束

    alter table temp drop index name;

    3、primary key

    主键约束相当于唯一约束+非空约束的组合,主键约束列不允许重复,也不允许出现空值;如果的多列组合的主键约束, 那么这些列都不允许为空值,并且组合的值不允许重复。 每个表最多只允许一个主键,建立主键约束可以在列级别创建,也可以在表级别上创建。

    MySQL的主键名总是PRIMARY, 当创建主键约束时,系统默认会在所在的列和列组合上建立对应的唯一索引。

    列模式:

    create table temp(

    id int primary key,

    name varchar(25)

    );

    create table temp2(

    id int not null,

    name varchar(25),

    pwd varchar(15),

    constraint pk_temp_id primary key(id)

    );

    组合模式:

    create table temp2(

    id int not null,

    name varchar(25),

    pwd varchar(15),

    constraint pk_temp_id primary key(name, pwd)

    );

    alter删除主键约束

    alter table temp drop primary key;

    alter添加主键

    alter table temp add primary key(name, pwd);

    alter修改列为主键

    alter table temp modify id int primary key;

    设置主键自增

    create table temp(

    id int auto_increment primary key,

    name varchar(20),

    pwd varchar(16)

    );

    auto_increment自增模式,设置自增后在插入数据的时候就不需要给该列插入值了。

    4、foreign key

    外键约束是保证一个或两个表之间的参照完整性,外键是构建于一个表的两个字段或是两个表的两个字段之间的参照关系。 也就是说从表的外键值必须在主表中能找到或者为空。 当主表的记录被从表参照时,主表的记录将不允许删除,如果要删除数据,需要先删除从表中依赖该记录的数据, 然后才可以删除主表的数据。还有一种就是级联删除子表数据。

    注意:外键约束的参照列,在主表中引用的只能是主键或唯一键约束的列,假定引用的主表列不是唯一的记录, 那么从表引用的数据就不确定记录的位置。同一个表可以有多个外键约束。

    创建外键约束:

    主表

    create table classes(

    id int auto_increment primary key,

    name varchar(20)

    );

    从表

    create table student(

    id int auto_increment,

    name varchar(22),

    constraint pk_id primary key(id),

    classes_id int references classes(id)

    );

    通常先建主表,然后再建从表,这样从表的参照引用的表才存在。

    表级别创建外键约束:

    create table student(

    id int auto_increment primary key,

    name varchar(25),

    classes_id int,

    foreign key(classes_id) references classes(id)

    );

    上面的创建外键的方法没有指定约束名称,系统会默认给外键约束分配外键约束名称,命名为student_ibfk_n, 其中student是表名,n是当前约束从1开始的整数。

    指定约束名称:

    create table student(

    id int auto_increment primary key,

    name varchar(25),

    classes_id int,

    constraint fk_classes_id foreign key(classes_id) references classes(id)

    );

    多列外键组合,必须用表级别约束语法:

    create table classes(

    id int,

    name varchar(20),

    number int,

    primary key(name, number)

    );

    create table student(

    id int auto_increment primary key,

    name varchar(20),

    classes_name varchar(20),

    classes_number int,

    foreign key(classes_name, classes_number) references classes(name, number)

    );

    删除外键约束:

    alter table student drop foreign key student_ibfk_1;

    alter table student drop foreign key fk_student_id;

    增加外键约束:

    alter table student add foreign key(classes_name, classes_number) references classes(name, number);

    自引用、自关联(递归表、树状表)

    create table tree(

    id int auto_increment primary key,

    name varchar(50),

    parent_id int,

    foreign key(parent_id) references tree(id)

    );

    级联删除:删除主表的数据时,关联的从表数据也删除,则需要在建立外键约束的后面增加on delete cascade 或on delete set null,前者是级联删除,后者是将从表的关联列的值设置为null。

    create table student(

    id int auto_increment primary key,

    name varchar(20),

    classes_name varchar(20),

    classes_number int, /*表级别联合外键*/

    foreign key(classes_name, classes_number) references classes(name, number) on delete cascade

    );

    5、check

    MySQL可以使用check约束,但check约束对数据验证没有任何作用。

    create table temp(

    id int auto_increment,

    name varchar(20),

    age int,

    primary key(id),

    check(age > 20)

    );

    上面check约束要求age必须大于20,但没有任何作用。但是创建table的时候没有任何错误或警告。

    展开全文
  • SQL 添加约束关键字

    2021-10-07 21:08:58
    - 非空约束:关键字是 NOT NULL 保证列中所有的数据不能有null值。 例如 id不能为空 CREATE TABLE eeee ( id INT NOT NULL, age INT ) - 唯一约束:关键字是 UNIQUE 保证列中所有数据各不相同。 -- 创建表时添加...

    **

    - 非空约束:关键字是 NOT NULL

    保证列中所有的数据不能有null值。
    例如 id不能为空

    CREATE TABLE eeee (
    id INT NOT NULL,
    age INT
    )
    

    - 唯一约束:关键字是 UNIQUE

    保证列中所有数据各不相同。

    -- 创建表时添加唯一约束
    CREATE TABLE 表名(
       列名 数据类型 UNIQUE [AUTO_INCREMENT],
       -- AUTO_INCREMENT: 当不指定值时自动增长); 
    CREATE TABLE 表名(
       列名 数据类型,[CONSTRAINT] [约束名称] UNIQUE(列名)
    ); 
    

    - 主键约束: 关键字是 PRIMARY KEY

    主键是一行数据的唯一标识,要求非空且唯一。一般我们都会给没张表添加一个主键列用来唯一标识数据。

    -- 创建表时添加主键约束
    CREATE TABLE 表名(
       列名 数据类型 PRIMARY KEY [AUTO_INCREMENT],); 
    CREATE TABLE 表名(
       列名 数据类型,
       [CONSTRAINT] [约束名称] PRIMARY KEY(列名)
    ); 
    

    建表完成后添加

    ALTER TABLE 表名 ADD PRIMARY KEY(字段名);
    

    - 检查约束: 关键字是 CHECK

    CREATE TABLE eeee (
    id INT,
    age INT,
    CHECK (age>1 AND age<10 )
    )
    

    保证列中的值满足某一条件。
    例如:我们可以给age列添加一个范围,最低年龄可以设置为1,最大年龄就可以设置为300,这样的数据才更合理些。
    注意:MySQL不支持检查约束。

    - 默认约束: 关键字是 DEFAULT

    保存数据时,未指定值则采用默认值。

    • 外键约束: 关键字是 FOREIGN KEY
    展开全文
  • SQLUNIQUE约束SQL UNIQUE 约束UNIQUE 约束唯一标识数据库表中的每条记录。UNIQUE 和 PRIMARY KEY 约束均为列或列集合提供了唯一性的保证。PRIMARY KEY 约束拥有自动定义的 UNIQUE 约束。请注意,每个表可以有多个 ...

    SQL UNIQUE 约束

    SQL UNIQUE 约束

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

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

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

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

    CREATE TABLE 时的 SQL UNIQUE 约束

    下面的 SQL 在 "Persons" 表创建时在 "P_Id" 列上创建 UNIQUE 约束:

    MySQL:

    CREATE TABLE Persons

    (

    P_Id int NOT NULL,

    LastName varchar(255) NOT NULL,

    FirstName varchar(255),

    Address varchar(255),

    City varchar(255),

    UNIQUE (P_Id)

    )

    SQL Server / Oracle / MS Access:

    CREATE TABLE Persons

    (

    P_Id int NOT NULL UNIQUE,

    LastName varchar(255) NOT NULL,

    FirstName varchar(255),

    Address varchar(255),

    City varchar(255)

    )

    如需命名 UNIQUE 约束,并定义多个列的 UNIQUE 约束,请使用下面的 SQL 语法:

    MySQL / SQL Server / Oracle / MS Access:

    CREATE TABLE Persons

    (

    P_Id int NOT NULL,

    LastName varchar(255) NOT NULL,

    FirstName varchar(255),

    Address varchar(255),

    City varchar(255),

    CONSTRAINT uc_PersonID UNIQUE (P_Id,LastName)

    )

    ALTER TABLE 时的 SQL UNIQUE 约束

    当表已被创建时,如需在 "P_Id" 列创建 UNIQUE 约束,请使用下面的 SQL:

    MySQL / SQL Server / Oracle / MS Access:

    ALTER TABLE Persons

    ADD UNIQUE (P_Id)

    如需命名 UNIQUE 约束,并定义多个列的 UNIQUE 约束,请使用下面的 SQL 语法:

    MySQL / SQL Server / Oracle / MS Access:

    ALTER TABLE Persons

    ADD CONSTRAINT uc_PersonID UNIQUE (P_Id,LastName)

    撤销 UNIQUE 约束

    如需撤销 UNIQUE 约束,请使用下面的 SQL:

    MySQL:

    ALTER TABLE Persons

    DROP INDEX uc_PersonID

    SQL Server / Oracle / MS Access:

    ALTER TABLE Persons

    DROP CONSTRAINT uc_PersonID

    展开全文
  • --查看约束 SELECT * FROM sysobjects WHERE OBJECT_NAME(parent_obj) = '表名' --删除约束 ALTER TABLE 表名 DROP CONSTRAINT 约束名
  • sql语句添加约束

    千次阅读 2021-01-19 12:41:53
    sql语句添加约束--主键约束(Primary Key constraint):要求主键列的数据唯一,并且不允许为空。--唯一约束(Unique Constraint):要求该列唯一,允许为空,但只能出现一个空值。--检查约束(Check Constraint):某列取值...
  • SQL Server常用约束表达式实例

    千次阅读 2021-03-09 22:03:26
    (字段 in (‘男’,‘女’) ) 或 (字段=‘男’ or 字段=‘女’) ②、某在数字在0到100之间 (字段>0 and 字段<100) ③、规定长度不能小于6位数 (len(字段)>5) ④、一定包含某字符,比如必须包含@...
  • 昨天看到这个题,那么什么是SQL约束???我来给大家详细介绍一下SQL六大约束,希望对大家有所帮助! SQL 约束: 约束: 是数据库中保证数据完整性 的方法。 约束用于限制加入表的数据的类型。 可以在创建表时规定...
  • T-SQL使用约束

    2021-01-12 15:47:15
    约束是在表中定义的用于维护数据库完整性的一些规则 常用的约束类型如下: 约束类型 备注 主键约束:(Primary Key constraint) 要求主键列唯一,并且不允许为空 唯一约束:(Unique Constraint) 要求该列唯一...
  • sqlserver 检查约束

    2020-12-20 15:24:11
    约束:限制输入数据中的某些字段(列),保证数据值或格式符合条件 [ constraint 约束名称 ] check( 约束条件 ) 列级约束:与一列关联,限制该字段输入值 ...sql语句创建列级约束sql语句创建表级约束sql语句新
  • SQLServer用SQL语句给字段设置约束

    千次阅读 2020-12-26 20:45:47
    文章目录SQL server数据库的基础学习一、用SQL语句给字段设置约束设置check约束设置default约束设置unique约束 SQL server数据库的基础学习 一、用SQL语句给字段设置约束 1、约束:分为主键约束、外键约束、check...
  • 建立外键约束可以对sql语句的增删改有约束作用。外键取值规则:空值或参照的主键值。(1)插入非空值时,如果主键表中没有这个值,则不能插入。(2)更新时,不能改为主键表中没有的值。(3)删除主键表记录时,你可以在建...
  • SQL语句常用约束类型

    2021-02-07 20:45:06
    常用五类约束:not null:非空约束,指定某列不为空unique: 唯一约束,指定某列和几列组合的数据不能重复primary key:主键约束,指定某列的数据不能重复、唯一foreign key:外键,指定该列记录属于主表中的一条...
  • SQL约束

    2021-01-10 22:37:45
      **SQL数据库的约束共分为:**主键约束、唯一约束、非空约束、默认约束、外键约束。 (1)主键约束   主键字段值不允许重复,可以确保字段中数据的唯一性,并且其值不能为空。 例如设置如下字段: 用命令插入...
  • SQL的唯一约束

    2020-12-21 19:09:20
    唯一约束 特点数据不能重复 方式1、 create table 表名( 字段1 类型1 unique, 字段2 类型2 ) 方式2、 create table 表名( 字段1 类型1 , 字段2 类型2, unique(字段1) ) 方式3、 create table ...
  • SQL 约束(Constraints) SQL 约束用于规定表中的数据规则。 如果存在违反约束的数据行为,行为会被约束终止。 约束可以在创建表时规定(通过 CREATETABLE 语句),或者在表创建之后规定(通过 ALTER TABLE 语句)...
  • 一:添加约束1.添加唯一约束:alter table student...2.添加外键约束:altertable表名addconstraintfk_字段foreignkey(字段)references关联的表名(关联的字段)3.添加check约束:altertable表名addconstraintCK...
  • sql 约束

    2021-01-14 16:41:12
    SQL Server中的约束(六种约束): https://blog.csdn.net/qq_43551373/article/details/87865739; SQL_Server 约束大全: ...depth_1-utm_source=dis
  • 本文主要向大家介绍了MySQL数据库通过sql语句添加约束和查看约束,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助。一:添加约束1.添加唯一约束:altertablestudentaddconstraintuk_nameunique(name)...
  • sql – Oracle查找约束

    2021-05-07 04:17:32
    select * from all_constraintswhere owner = ''and constraint_name = 'SYS_C00381400'/与所有数据字典视图一样,...约束名称的构造表示系统生成的约束名称。例如,如果我们在表声明中指定NOT NULL。或者确实是主键...
  • SQL添加外键约束

    2021-11-05 16:24:04
    SQL添加外键约束 alter table 表 add constraint 外键约束名称 foreign key (列) references 表 (主键列);
  • 数据的完整性实体完整性又称为行完整性,即数据库中的所有行都具有一个非空且没有重复的主键值MSSQL中通过唯一索引、PRIMARY KEY约束、UNIQUE约束、INDENTITY属性等来强制主键的唯一性域完整性又叫列完整性,以保证...
  • SQL中的非空约束

    2020-12-22 15:29:11
    非空约束 not null 如果某个表的某个字段在输入的时候不能有空值,那么就可以使用非空约束 如:表中的性别 给a表中的性别加上非空约束 create table a( id int, age int. sex varchar(5) not null )
  • --新闻分类表 if exists(select * from sysobjects where name='NewsCategory') drop table NewsCategory go create table ...不然就会报错,这就是所谓的外键约束,这个外键约束着News表中对CatergoryId的修改。
  • SQL中的常用数据类型: 整数:int 小数:double 字符串:varchar(长度),建议 用2的整数倍 日期:date 格式: ‘YYYY-MM-DD’
  • python之SQL表的约束

    2021-07-31 20:23:21
    python之SQL表的约束1 前言2 约束类型2.1 主键约束2.2 非空约束2.3 唯一约束2.4 检查约束check约束2.5 外键约束3 约束的其它操作3.1 添加约束3.2 删除约束 1 前言 表的约束是为了限定每一个字段的数值。 2 约束类型 ...
  • SQL中的外键约束

    2020-12-22 15:38:20
    constraint 外键约束名 foreign key (学生id) references 学生表(id) ) 给成绩表添加数据时,学生id的值必须在学生表中存在 如果成绩表中有对应学生表的数据,就不能删除学生表中的数据 ...
  • SQL 约束(Constraints)SQL 约束用于规定表中的数据规则。如果存在违反约束的数据行为,行为会被约束终止。约束可以在创建表时规定(通过 CREATE TABLE 语句),或者在表创建之后规定(通过 ALTER TABLE 语句)。SQL ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 252,657
精华内容 101,062
关键字:

sql约束名