一 默认值约束

  约束语句 default  ‘默认值’

  在建立表的时候在想要加默认约束的字段名,数据类型后面加default ‘默认值’

例如 :

  create table emp(

      uid  int,

      name varchar(10),

      dizhi varchar(10) default '山东淄博'

  );

  这样当对dizhi不赋值时,会默认赋值为  ‘山东淄博’

  当对dizhi赋值时或赋null值是  ‘山东淄博’默认值就不会显示了。

二 非空约束

  约束语句  not null

  在建立表的时候在想要加非空约束的字段名,数据类型后面加not null;

例如:

 create table emp(

      uid  int not null,

      name varchar(10),

      dizhi varchar(10)

  );

  这里对字段uid 设置的非空属性,那么 当给 uid 赋值null的时候或者给其他值赋值不给UID赋值的时候,就会报错

  但是空字符串可以赋值到uid里

三 唯一

  讲道理都是唯一了竟然不用only    - - .

  唯一的约束语句是 unique ,在建立表的时候在想要加唯一约束的字段名,数据类型后面加unique;

例如:

create table emp(

      uid  int unique,

      name varchar(10),

      dizhi varchar(10)

  );

  这样uid字段就会加上唯一约束,唯一即为不重复的意思,所以往uid里赋值时不能存在一模一样的uid值。

四 主键

  主键的定义是非空加唯一,一个表必须建立一个主键来用于精确的索引到数据的内容。

  我觉得如果表里有确认不会重复且字段  可以用它作为主键 ,如果没有,建议自己建列无意义的数据作为主键。

  主键的约束语句是 primary key ,在建立表的时候在想要加主键约束的字段名,数据类型后面加primary key;

例如:

create table emp(

      uid  int primary key,

      name varchar(10),

      dizhi varchar(10)

  );

  因为主键本身就是非空且唯一,所以设置为主键后就不用再加 not null 和 unique。

五 自增长

   自增长的语句是  auto_increment   需要自增长的字段必须为 int 类型  并且 必须为主键

  在建立表的时候在想要加自增长约束的字段名,数据类型后面加primary key  auto_increment;

例如:

  

create table emp(

      uid  int primary key auto_incerment,

      name varchar(10),

      dizhi varchar(10)

  );

  这样当不给uid赋值的时候会默认为uid赋值一个int 数字  添加第一条是1,添加第二条是2,以此类推 。

  当给uid附一个数字值之后再插入其他数据且不写uid的时候  uid会从你上一条的赋值加1继续赋值。

六 外键

  其实单独看两个表的时候即使他们有外键,但是外键和主键之间并没有直接联系

  之后建立外键约束  或者 表连接的时候才能显现。

  外键并没有语句,为了方便只是用一个表的主键名作为另一个表的字段名,而且副表的数据不能超出主表的主键内容。

例如:

主表 部门表:

  create table dept(

   did  int  primary key,

   bumenmingcheng  varchar(10)

 );

副表 员工表:

 create table emp(

   eid int primary key,

   did  int ,

   money  double

  外键约束: constraint fk_emp_dept  foreign key(did)  refrrences dept(did)

 );

  其中 在员工表里 did就是外键

  而外键约束可以加也可以不加,加了外键的内容就必须符合主表的did内容。   不加为好。

黄埃散漫风萧索,云栈萦纡登剑阁

      

MySQL数据库的约束的更多相关文章

  1. day38:MySQL数据库之约束&索引&外键&存储引擎

    目录 part1:数据类型 part2:约束 part3:主键索引 PRI &唯一索引 UNI &普通索引 MUL part4:外键:foreign key part5:在外键中设置联 ...

  2. MySQL数据库——数据约束

    1 什么数据约束 对用户操作表的数据进行约束 2 默认值(缺省约束) 作用: 当用户对使用默认值的字段不插入值的时候,就使用默认值. 注意: 1)对默认值字段插入null是可以的 2)对默认值字段可以 ...

  3. MySql数据库数据类型及约束介绍

    1,MySql中数据类型介绍 整型及浮点型 数据类型 存储范围 字节 TINYINT 有符号值:-2^到2^7-1 无符号值:0到2^8-1 2 SMALLINT 有符号值:-2^15到2^15-1 ...

  4. MySQL数据库有外键约束时使用truncate命令的办法

    MySQL数据库操作中,Delete与Truncate两个命令都可以删除一个数据表中的全部数据,使用办法分别是: DELETE FROM t_question TRUNCATE TABLE t_que ...

  5. Mysql 数据库设置三大范式 数据库五大约束 数据库基础配置

    数据库设置三大范式 1.第一范式(确保每列保持原子性) 第一范式是最基本的范式.如果数据库表中的所有字段值都是不可分解的原子值,就说明该数据库满足第一范式. 第一范式的合理遵循需要根据系统给的实际需求 ...

  6. MySQL数据库--外键约束及外键使用

    什么是主键.外键关系型数据库中的一条记录中有若干个属性,若其中某一个属性组(注意是组)能唯一标识一条记录,该属性组就可以成为一个主键. 比如: 学生表(学号,姓名,性别,班级) 其中每个学生的学号是唯 ...

  7. MySql数据库约束

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

  8. 关系型数据库MySql 数据类型与约束

    MySql数据库 :数据类型与约束 注意 :  在创建数据表的时候,需要对数据表中的字段设置 数据类型和约束, 便于检测用户输入的数据是否正确有效. 1 数据类型 数据类型的选用原则 : 够用就行,尽 ...

  9. MYSQL数据库约束类型

    07.14自我总结 MYSQL数据库约束类型 一.主键约束(primary key) 主键约束要求主键列的数据唯一,并且不能为空.主键分为两种类型:单字段主键和多字段联合主键. 1.单字段主键 写法 ...

随机推荐

  1. 蜂鸟E203系列——Linux调试(GDB+Openocd)

    欲观原文,请君移步 本文基于文章<蜂鸟E203系列--利用 Hbrid-E-SDK 环境开发程序> GDB 简介 GDB(GNU Project Debugger),是 GNU 工具链中的 ...

  2. 软件测试工程师应该怎样规划自己?成为年薪30W+测试工程师(乾坤未定,皆是黑马)

    今天在知乎上被邀了一个问题,软件测试工程师应该怎样规划自己?16年毕业,技术方面已经渣到不行,因为之前的公司没有Python自动化测试这个要求,有些迷茫.我把我的问题回答贴出来希望可以帮助到更多有类型 ...

  3. Redis作为缓存可能会出现的问题及解决方案

    Redis是个大话题,只要是去面试Java开发,几乎必问.基础一点的问Redis是什么东西?用来做什么?Redis支持哪些数据类型?Redis的性能为什么那么好?复杂一点的就会问到缓存穿透.缓存击穿. ...

  4. Redis如何存储和计算一亿用户的活跃度

    1 前段时间,在网上看到一道面试题: 如何用redis存储统计1亿用户一年的登陆情况,并快速检索任意时间窗口内的活跃用户数量. 觉得很有意思,就仔细想了下 .并做了一系列实验,自己模拟了下 .还是有点 ...

  5. 关于maven的一份小笔记

    简介 项目里一直用的 maven,几乎天天和这个"熟知"的工具打交道,但是,最近我发觉自己对 maven 了解的还不够,例如,什么是 goal?什么是 phase?等等.趁着最近有 ...

  6. web自动化 -- HTMLreport(一)测试报告自定义测试用例名,重写ddt

    一.需求痛点 1.HTMLreport测试报告的用例名不明确 2.希望可以自定义HTMLreport测试报告的用例名 3.痛点截图 二.解决办法 1.原因分析 HTMLreport测试报告中的用例名是 ...

  7. 初识Elastic search—附《Elasticsearch权威指南—官方guide的译文》

    本文作为Elastic search系列的开篇之作,简要介绍其简要历史.安装及基本概念和核心模块. 简史 Elastic search基于Lucene(信息检索引擎,ES里一个index—索引,一个索 ...

  8. 从零开始学Python网络爬虫PDF高清完整版免费下载|百度网盘

    百度网盘:从零开始学Python网络爬虫PDF高清完整版免费下载 提取码:wy36 目录 前言第1章 Python零基础语法入门 11.1 Python与PyCharm安装 11.1.1 Python ...

  9. 题解 P1201 【[USACO1.1]贪婪的送礼者Greedy Gift Givers】

    这一题挺简单的,但是如果是纯模拟的话.会十分麻烦 这里介绍一个\(STL\)映射\(map\) \(map\)的最大优点是可以使用任意数据类型作为数组的下标 \(map\)的定义形式为 map< ...

  10. 《Python Web开发学习实录》高清PDF版|百度网盘免费下载|Python Web开发学习实录

    <Python Web开发学习实录>高清PDF版|百度网盘免费下载|Python Web开发学习实录 提取码:9w3o 内容简介 Python是目前流行的动态脚本语言之一. 李勇,本书共1 ...