数据库约束定义及分类

约束

约束定义及分类:

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建库命令怎么使用。

    使用CREATE DATABASE命令在MySQL中创建新的数据库。 MySQL是一种常用的关系型数据库管理系统,它提供了丰富的功能和灵活的操作方式,在使用MySQL时,我们经常需要创建新的数据库来存储和管理数据,本文将详细介绍如…

    2024年7月20日
    02
  • MySQL中如何定位慢查询?

    做压测的时候有的接口非常的慢,接口的响应时间超过了2秒以上,在运维的监控系统Skvwalking中,在展示的报表中可以看到是哪一个接口比较慢,分析这个接口,可以看到哪部分比较慢,从而知道SQL的具体的执行时间,定…

    2023年8月29日
    01
  • 我来分享宝塔一键迁移。

    宝塔一键迁移是一款非常实用的工具,可以帮助用户轻松地将网站从一个服务器迁移到另一个服务器,下面是关于宝塔一键迁移的详细介绍和使用方法。 一、什么是宝塔一键迁移? 宝塔一键迁移是一款由宝塔面板开发的在线…

    2024年6月18日
    00
  • 教你mysql least的用法是什么。

    MySQL中的LEAST()函数用于返回参数列表中的最小值,它可以接收多个参数,这些参数可以是数字、列名或者子查询,LEAST()函数在比较参数时,会将它们隐式转换为相同的数据类型,然后返回最小的那个值,如果参数列表中…

    2024年6月18日
    00
  • 分享数据库update语句的作用是什么。

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

    2024年7月5日
    00
  • 说说如何构建一个网站,如何快速构建一个网站。

    一、如何构建一个网站 要构建一个网站,首先需要了解网站的基本组成部分,包括前端、后端和数据库,接下来,我们将分别介绍如何搭建这三个部分。 1. 前端:前端是用户直接看到的页面,包括HTML、CSS和JavaScript等…

    2024年6月15日
    01
  • 关于探寻MySQL数据库背后的神奇一千张表的挑战与应对。

    在数据库世界中,MySQL是一个被广泛使用的开源关系型数据库管理系统,它以其高性能、稳定性和灵活性而闻名,被广泛应用于各种规模的企业和组织中,随着数据量的不断增长,数据库的性能和可扩展性成为了一个重要的挑…

    2024年6月20日
    02
  • 小编分享纯真ip数据库。

    纯真IP数据库是一个专门收集和整理各种纯真、可爱、有趣的IP资源的网站,这个数据库包括了动漫、游戏、小说等多种领域,旨在为广大用户提供一个便捷的获取纯真IP资源的平台,在这里,你可以找到各种你喜欢的纯真IP,…

    2024年6月28日
    00

联系我们

QQ:951076433

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