07.14自我总结

MYSQL数据库约束类型

一.主键约束(primary key)

主键约束要求主键列的数据唯一,并且不能为空。主键分为两种类型:单字段主键和多字段联合主键。

1.单字段主键

写法

  • 创建列表数据时

    create table a(

    ​ name char(9) primary key,

    ​ age int

    );

  • 创建列表数据结束后完毕后

    create table a(

    ​ name char(9) ,

    ​ age int,

    ​ primary key(name)

    )

  • 创建表格完后

    alter table test add primary key (name);

2.多字段联合主键

主键由多个字段联合组成。语法规则:Primary Key[字段1,字段2,....,字段n]

2.自动增长

只能与primary key 联用
语法:字段 数据类型 primary key auto_increment n #n为起始位置,可以不填不填默认从1开始

二.外键约束(foreign key)

外键用来在两个表的数据之间建立连接,它可以是一列或者多列。一个表可以有一个或者多个外键。一个表的外键可以为空,若不为空,则每一个外键值必须等于另一个表中主键的某个值。

外键的作用:保证数据应用的完整性。

​ 主表(父表):对于两个具有关联关系的表而言,相关联字段中的主键所在的那个表即是主表。

​ 从表(子表):对于两个具有关联关系的表而言,相关联字段中的外键所在的那个表即是从表。

必须先创建主表再创建从表

创建从表的时候写法末尾处添加 foreign key (从表内的字段) references 主表名称(主表内字段)

如果表创建完毕后我们添加这个条件alter table 从表名称 add oreign key (从表内的字段) references 主表名称(主表内字段)

三.使用非空约束(Not Null)

非空约束指字段的值不能为空。

非空约束 语法规则:字段名 数据类型 not null

创建表格后 alter table test modify 段名 数据类型 not null;

四.唯一性约束(Unique)

指定唯一约束

唯一约束 语法规则:字段名 数据类型 Uniquel

再所有列创建完毕后:unique (字段名称)

创建表格后 alter table test modify 段名 数据类型 Unique;

五.默认约束(Default)

默认约束指定某列的默认值。

语法规则: 字段名 数据类型 Dfault 默认值

创建表格后 alter table test modify 段名 数据类型 Dfault 默认值;

MYSQL数据库约束类型的更多相关文章

  1. MYSQL数据库索引类型及使用

    MYSQL数据库索引类型包括普通索引,唯一索引,主键索引与组合索引,这里对这些索引的做一些简单描述: (1)普通索引 这是最基本的MySQL数据库索引,它没有任何限制.它有以下几种创建方式: 创建索引 ...

  2. Mysql数据库日志类型查询与配置详解

    在mysql中日志分为很多种,下面小编来给大家介绍Mysql数据库日志类型查询与使用,希望对各位同学会有所帮助 mysql常见的日志类型有五种:错误日志.二进制日志.查询日志.慢查日志和中继日志. 一 ...

  3. MYSQL数据库-约束

    约束是一种限制,它通过对表的行或列的数据做出限制,来确保表的数据的完整性.唯一性. MYSQL中,常用的几种约束: 约束类型: 主键 默认值 唯一 外键 非空 关键字: PRIMARY KEY DEF ...

  4. mysql数据库索引类型和原理

    索引初识: 最普通的情况,是为出现在where子句的字段建一个索引.为方便讲述,我们先建立一个如下的表. CREATE TABLE mytable ( id serial primary key, c ...

  5. mysql数据库查找类型不匹配

    无意中看到10级学长的博客,提到了mysql数据库类型查找不匹配的问题,博客地址是:卢俊达 . 数据库中建表中会对每个属性进行类型划分,然后在查找数据库select时: MySQL 的文档 (Type ...

  6. MySql数据库约束

    <MySQL技术内幕:InnoDB存储引擎>本书从源代码的角度深度解析了InnoDB的体系结构.实现原理.工作机制,并给出了大量实践,本着将书读薄的思想,循序渐进的记录对本书学习的读书笔记 ...

  7. MySQL数据库索引类型、MySQL索引的优化及MySQL索引案例

    关于MySQL索引的好处,如果正确合理设计并且使用索引的MySQL是一辆兰博基尼的话,那么没有设计和使用索引的MySQL就是一个人力三轮车.对于没有索引的表,单表查询可能几十万数据就是瓶颈,而通常大型 ...

  8. oracle数据库date类型和mysql数据库datetime类型匹配

    oracle数据库有date类型,但是没有datetime类型 mysql数据库既有date类型也有datetime类型. Oracle数据库的date类型和mysql的date类型是不一样的,Ora ...

  9. java中存储mysql数据库时间类型

    Mysql 与 java 的时间类型 MySql的时间类型有 Java中与之对应的时间类型   date                 java.sql.Date   Datetime        ...

随机推荐

  1. Spring MVC的工作原理,我们来看看其源码实现

    前言 开心一刻 晚上陪老丈人吃饭,突然手机响了,我手贱按了免提……哥们:快出来喝酒!哥几个都在呢!我:今天不行,我现在陪老丈人吃饭呢.哥们:那你抓紧喝,我三杯白酒,把我岳父放倒了才出来的,你也快点.看 ...

  2. C# 遍历窗体控件顺序问题

    今天在做C# winform 窗体控件遍历时遇到控件顺序的问题,也就是控件被遍历的先后问题.实际情况如下所述. 窗体界面如下: 界面构成是:主界面有一个 Panel (Panel_14),Panel_ ...

  3. Webpack Waringing Critical dependencies

    报错信息如下: 出错原因先上图: 未注释部分使用了require的同时使用了es6的语法. 官方解释如下: 解决方法就是放开代码中的注释部分,不要使用es6语法

  4. Nginx 部署 Ant Design pro

    利用Ant Design pro开发的项目,如何用Nginx部署呢? 第一步:把项目打包,打包命令如下: npm run build 运行完毕会在项目目录下生成dist文件夹. 第二步:想要测试打包好 ...

  5. c# log4net 配置使用

    新增配置文件log4net.config,内容如下 <?xml version="1.0" encoding="utf-8" ?> <conf ...

  6. 窗体图片背景(两种方法:设置Brush.Bitmap指向图片,别的控件也可以这样)

    var   Bitmap: TBitmap; procedure TForm1.FormCreate(Sender: TObject); begin   Bitmap := TBitmap.Creat ...

  7. 浅谈网络爬虫爬js动态加载网页(一)

    由于别的项目组在做舆情的预言项目,我手头正好没有什么项目,突然心血来潮想研究一下爬虫.分析的简单原型.网上查查这方面的资料还真是多,眼睛都看花了.搜了搜对于我这种新手来说,想做一个简单的爬虫程序,所以 ...

  8. OSGI资料

    http://osgi.codeplex.com/ http://www.iopenworks.com/

  9. 使用Nodejs实现实时推送MySQL数据库最新信息到客户端

    下面我们要做的就是把MySQL这边一张表数据的更新实时的推送到客户端,比如MySQL这边表的数据abc变成123了,那使用程序就会把最新的123推送到每一个连接到服务器的客户端.如果服务器的连接的客户 ...

  10. SYN1621型 定位定向授时设备

    SYN1621型 定位定向授时设备 定位定向授时设备使用说明视频链接: http://www.syn029.com/h-pd-274-0_310_39_-1.html 请将此链接复制到浏览器打开观看 ...