数据库约束定义及分类

约束

约束定义及分类:

Constraint,对数据库中的数据做要求,以保证设计出来的数据库及其中的数据真实可用。

约束分为

  • 行完整性约束(三范式)
  • 列完整性约束。
  • 主键约束

Alter table 表名 add constraint PK_表名_列名 primary key(列名);

创建表时可以简写

Create table tt(ttid int primary key);

Create table tt(ttid int,primary key(ttid));

创建的主键名是PK_随机的十六进制代码

 

外键约束

外键约束是加在外键表中,外键表中也有主键。

Alter table 外键表 add constraint FK_外键表名_外键列 foreign key(外键列) references 主键表(主键列);

 

删除外键约束

alter table 表名 drop foreign key FK_表名_列名;

在创建表时还可以简写

Create table 表名(

T1id int primary key auto_increment,

Scid int,

Foreign key(scid) references 主表(主键列)

);

 

唯一约束

Alter table 表名 add constraint UQ_表名_列名 unique(列名);

在创建表时还可以简写

Create table 表名(

T1id int primary key auto_increment,

Scid int,

unique(列名)

);

 

默认值约束

Alter table 表名 alter 列名 set default 值;

  • 对于允许为空的列并且设置了默认值,插入时省略该列值为默认值;

Insert into 表名(主键[省略掉设置了默认值而且允许为空的列]) values(null);

  • 设置默认值,插入可以使用default关键字调用默认值;

Insert into 表名(主键,默认值列) values(null,default);

  • 插入时不要默认可以自由指定。

Insert into 表名(主键,默认值列) values(null,’其他值’);

创建表时又可以简写

Create table 表名(

默认值列 default 值

);

 

检查约束

Alter table 表名 add constraint CK_表名_列名 check(表达式);

ALTER table Student add constraint CK_Student_sname check(sname is not null);

 

创建表时可以简写

Create table Student(

Sname not null

);

 

Alter table Student add constraint CK_Student_sAge check(sAge>=18 and sAge<=60);

等同于

Alter table Student add constraint CK_Student_sAge check(sAge between 18 and 60);

 

MYSQL不知道检查约束!!

 

  • 对于由于操作系统或者浏览器外界元素的编码导致的乱码,在数据库中可以通过一个指令来纠正。

Set names 对应数据的编码;

Set character set 对应数据库的编码;

本文来自投稿,不代表重蔚自留地立场,如若转载,请注明出处https://www.cwhello.com/2930.html

如有侵犯您的合法权益请发邮件951076433@qq.com联系删除

(0)
上一篇 2017年10月22日 22:28
下一篇 2017年10月24日 08:28

相关推荐

  • 分享数据库update语句的作用是什么。

    数据库update语句用于修改已存在的数据记录。 数据库update语句的作用是什么 在数据库管理系统中,update语句是一种用于修改数据库表中现有记录的SQL语句,它允许用户根据指定的条件更改表中的数据,本文将详细介...

    2024年7月5日
    02
  • 我来说说独立云虚拟主机租用可以干什么。

    独立云虚拟主机租用可以用于以下用途:1. 网站托管:将自己的网站托管在独立云虚拟主机上,可以享受更高的网站访问速度和更稳定的服务器环境,同时还可以根据需要自由地安装和配置各种网站应用程序。2. 应用程序...

    2024年7月15日
    02
  • 小编分享mongodb验证登陆怎么设置。

    您可以通过以下步骤设置MongoDB验证登录:,1. 连接到MongoDB,创建一个管理员账户。,2. 修改MongoDB配置文件以启用授权认证。,3. 通过管理员账户连接到admin数据库。,4. 在admin数据库中创建用户并分配角色。...

    2024年7月9日
    03
  • 教你mysql删除数据库。

    MySQL删除数据库的命令是`DROP DATABASE`,其基本语法如下: DROP DATABASE database_name; `database_name`是你想要删除的数据库的名称,这个命令会立即删除指定的数据库,并且不会将其数据复制到其他地方,在执...

    2024年6月20日
    02
  • 教你5步教你怎样使用宝塔面板搭建小程序。

    宝塔面板搭建小程序教程:1.安装宝塔;2.创建网站并绑定域名;3.下载并上传小程序代码;4.配置数据库;5.申请微信开发者工具。 宝塔面板是一款简单易用的服务器管理工具,它可以帮助用户轻松搭建和管理网站、数据...

    2024年7月9日
    07
  • 小编分享香港虚拟空间哪个好。

    香港是亚洲的网络中心,虚拟主机的选择众多。硅云虚拟主机以带宽为限而不限月流量,配备CN2、BGP网络,快速有效覆盖全球,非常适合客户遍及全球的企业网站。DMIT是一家专门经营香港主机的主机商,其VPS使用CN2 GI...

    2024年7月10日
    02
  • 小编分享选择数据库服务器的五个原则是什么意思。

    选择数据库服务器的五个原则是:1、高性能原则,要满足运营系统运行和业务处理的需要和一定时期业务量的增长;2、可靠性原则,考虑服务器单个节点和服务器与相关辅助系统之间连接的整体可靠性或稳定性;3、可扩展...

    2024年7月27日
    04
  • 小编分享mysql数据库在哪里打开。

    MySQL是一个开源的关系型数据库管理系统,它被广泛用于各种规模的应用程序中,在MySQL中,数据库是存储数据的基本单位,每个数据库都有自己的表、视图、索引等对象,MySQL的数据库在哪里呢? 我们需要了解MySQL的...

    2024年6月28日
    01

联系我们

QQ:951076433

在线咨询:点击这里给我发消息邮件:951076433@qq.com工作时间:周一至周五,9:30-18:30,节假日休息