数据库约束定义及分类

约束

约束定义及分类:

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

相关推荐

  • mysql 服务注册。

    MySQL服务注册是为了让MySQL数据库能够被其他程序或服务所访问和使用。 MySQL服务器的注册是一个相对简单的过程,但需要一些基本的步骤和知识,在这篇文章中,我们将详细介绍如何注册MySQL服务器。 1、下载并安装My…

    2024年7月15日
    00
  • 我来教你lnmp是什么意思。

    【lnmp是什么意思】:LAMP、Nginx、MySQL和PHP的组合,其中L表示Linux操作系统,M表示MySQL数据库,N表示Nginx Web服务器,P表示PHP编程语言,lnmp是Linux、Nginx、MySQL和PHP的缩写,这个组合是一种常见的Web服务…

    2024年6月18日
    00
  • 关于MySQL双向关联实现数据同步,快速修改数据。

    在数据库中,双向关联是一种常见的数据结构,它可以帮助我们在不同的表之间建立联系,实现数据的快速查询和修改,在MySQL中,我们可以通过创建外键约束来实现双向关联,本文将详细介绍如何在MySQL中实现双向关联,…

    2024年6月20日
    00
  • 关于宝塔一键部署轻松实现利用部署及管理。

    宝塔一键部署,简化了服务器的利用、部署和管理过程。 在现代的软件开发和运维过程中,部署和管理是两个非常重要的环节,部署是将软件应用到生产环境的过程,而管理则是确保软件在生产环境中正常运行和维护的过程,…

    2024年7月10日
    00
  • mongodb数据库连接的步骤是什么。

    连接MongoDB数据库的步骤主要有两种,一种是通过Shell进行连接,另一种是通过图形化界面客户端进行连接。对于Shell连接,可使用如下格式的代码:mongodb://admin:123456@localhost/test,admin”和”1234…

    2024年7月21日
    00
  • 我来分享如何在mysql中轻松修改数据表结构类型。

    在MySQL中,数据表结构是定义数据库中存储的数据类型和属性的方式,随着应用程序的发展,您可能需要修改数据表结构以满足新的需求,在本教程中,我们将介绍如何在MySQL中轻松修改数据表结构。 (图片来源网络,侵删…

    2024年6月20日
    00
  • mysql.zip怎么安装。

    MySQL是一种广泛使用的关系型数据库管理系统,它提供了一种高效、可靠的数据存储和检索方式,对于许多用户来说,安装MySQL可能会遇到一些困难,特别是在没有图形界面的服务器上,为了解决这个问题,MySQL官方提供了…

    2024年6月20日
    00
  • 经验分享织梦安装详细教程。

    一、织梦插件怎么安装 1. 下载织梦插件文件 你需要在官方网站或其他可信赖的资源网站上下载织梦插件的压缩包,下载完成后,解压到一个文件夹中。 2. 进入后台管理界面 登录你的织梦网站后台管理界面,通常网址为: …

    2024年6月16日
    00

联系我们

QQ:951076433

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