3-1约束

1、约束保证数据的完整性和一致性;
2、约束分表级约束(两个或两个个以上字段的约束)和列级约束(一个字段约束);
3、NOT NULL       非空;
PRIMARY KEY       主键约束;
UNIQUE KEY         唯一约束;
DEFAULT               默认约束;
FOREIGN KEY        外键约束。
空值与非空值:
NULL 与 NOT NULL 
自动编号:
AUTO_INCREMENT 自动编号,必须与主键组合使用,默认情况下起始值为1,每次增量为1;
主键:
PRIMARY KEY  主键约束,每张鼠标只存在一个主键,主键保证记录的唯一性,主键自动为NOT NULL;
#CREATE TABLE tb3(
id SMALLINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,       #设置主键 和自动编号
username VACHAR(20) NOT NULL);
唯一约束:
UNIQUE KEY 唯一约束,可以保证记录的唯一性,可以为空值(只有一个NULL值),每张数据表可以存在多个唯一约束
#CREATE TABLE tb4(
id SMALLINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
username VACHAR(20) NOT NULL UNIQUE KEY,     #设置姓名唯一约束 
age TINYINT UNSIGNED);
默认约束:
DEFAULT  当插入记录时,如果没有明确为字段赋值,则自动赋予默认值。
#CREATE TABLE tb5(
id SMALLINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
username VACHAR(20) NOT NULL UNIQUE KEY,
sex EMUI('1','2','3') DEFAULT '3');       #设置默认性别字段为3
外键约束:
要求:父表和子表必须使用相同的存储引擎,只能为InnoDB,且禁止使用临时表;外键列和参照列必须具有相似的数据类型,其中数字的长度或者是否有符号位必须相同;而字符的长度则可以不同;外键列和参照列必须创建索引。如外键列不存在索引,mysql将自动创建索引。
#默认存储引擎:bin目录下 my.ini文件中  修改成INNODB;
针对外键约束的参照操作:
1、CASCADE:从父表删除或更新且自动删除或更新子表中匹配的行;
2、SET NULL:从父表删除或更新行,并设置子表中的外键列;
3、RESTRICT:拒绝父表的删除或更新操作;
4、NO ACTION:标准SQL的关键字,再mysql中与RESTRICT相同。
表级约束和列级约束:对一个数据列建立的约束 为列级约束;对多个数据列建立的约束称为表级约束。
表级约束只能再列定义后声明,列级约束可以再列定义时声明,也可以再列定义后声明。

菜鸟的MySQL学习笔记(二)的更多相关文章

  1. 菜鸟的MySQL学习笔记(一)

    本学习笔记是照搬慕课网<与MySQL的零距离接触>内容,特此感谢! 1-1 mysql的安装与配置 Windows环境下的MSI安装: 1.安装: 双击MSI文件->用户协议-> ...

  2. MySQL学习笔记(二):MySQL数据类型汇总及选择参考

    本文主要介绍了MySQL 的常用数据类型,以及实际应用时如何选择合适的类型.  ******几个通用的简单原则:******* 1. 更小的通常更好.但是要确保没有低估需要存储的值的范围,如果无法确定 ...

  3. MySQL学习笔记(二)

    连接与断开服务器 应该以下面的方式连接MySQL服务器,而不是将密码以明文方式输入连接. C:\> mysql -h host -u user -pEnter password: ******* ...

  4. MySQL学习笔记二:权限管理

    1. 创建和删除用户,mysql中的用户是由用户名和主机名来确定的 create user "user_name@host_name" identified by passwd; ...

  5. sql分类及基本sql操作,校对规则(mysql学习笔记二)

    sql针对操作对象分为不同语言 数据操作(管理)语言 DML或者将其细分为 ( 查询  DQL 管理(增,删,改)  DML) 数据定义语言(对保存数据的格式进行定义) DDL 数据库控制语言(针对数 ...

  6. MySQL学习笔记二

    Ø function 函数 函数的作用比较大,一般多用在select查询语句和where条件语句之后.按照函数返回的结果, 可以分为:多行函数和单行函数:所谓的单行函数就是将每条数据进行独立的计算,然 ...

  7. 菜鸟的MySQL学习笔记(五)

    7.自定义函数 用户自定义函数(user-defined function,UDF)是一种对MySQL扩展的途径,其用法与内置函数相同.包含了两个必要条件,参数与返回值.没有必然内在联系. 函数可以返 ...

  8. 菜鸟的MySQL学习笔记(四)

    MySQL中的运算符和函数: 1.字符函数: 2.数值运算符与函数: 3.比较运算符与函数: 4.日期时间函数: 5.信息函数: 6.聚合函数: 7.加密函数等:   6-1.字符函数: CONCAT ...

  9. 菜鸟的MySQL学习笔记(三)

    4-1插入记录INSERT INSERT [INTO] tbl_name [(col_name)] {VALUES|VALUE} ({expr|DEFAULT},...), (...), ...   ...

随机推荐

  1. HDU5418.Victor and World(状压DP)

    #include <iostream> #include <cstring> #include <cstdio> #include <cmath> #i ...

  2. DATASNAP倒底能承受多大的负载能力

    DATASNAP是针对企业数据中间件市场而推出来的产品,如果在其它领域用它可能就不会合适. DATASNAP通信使用INDY10,INDY是阻塞型SOCKET. 1.如果使用TCP/IP长连接,DAT ...

  3. oc学习之路----APNS消息推送从证书到代码(2015年4月26号亲试可用)

    前言:看这篇博客之前要准备:首先的有一个99刀的个人开发者账号或者199刀的企业开发者账号,其次你用的是apns消息推送,(本人之前四处打听有没有其他消息推送的方法:收获如下:首先如果想做到apns的 ...

  4. SQL Server 2000的安全配置

    SQL Server 2000的安全配置 数据库是电子商务.金融连同ERP系统的基础,通常都保存着重要的商业伙伴和客户信息.大多数企业.组织连同政府 部门的电子数据都保存在各种数据库中,他们用这些数据 ...

  5. Cocos2d-x学习笔记之Cocos2d-x开发环境搭建

    作者:刘昊昱 博客:http://blog.csdn.net/liuhaoyutz Cocos2d-x源码包下载地址: http://cocos2d-x.org/projects/cocos2d-x/ ...

  6. Dreamweaver中清除php代码中多余空行的方法

    使用DW自带的搜索功能,利用正则表达式 使用正则表达式搜索:\r\n\s*\r\n即可搜到代码中的空行,再用回车符\n替换即可消除代码中的多余空行

  7. mongdb使用场景

    你期望一个更高的写负载 默认情况下,对比事务安全,MongoDB更关注高的插入速度.如果你需要加载大量低价值的业务数据,那么MongoDB将很适合你的用例.但是必须避免在要求高事务安全的情景下使用Mo ...

  8. chrome浏览器频频崩溃,如何解决?

    之前chrome常崩溃,也没有找到原因,就将就着用吧,一直用到今天, 今天连续几次崩了,突然想到,难道是因为我访问的域名没有解析(能想到这个,是因为今天分配公司域名测试的时候常输错),于是就输入一个不 ...

  9. selenium中定位iframe框

    这是使用谷歌看到的源码.想要往里面输入内容,需要使用js. 这个iframe没有id,不能通过id直接定位到.但可以通用TagName来定位到iframe. WebDriver中定位的代码如下: St ...

  10. C# 解决DrawImage绘制图片拉伸产生渐变

    ImageAttributes ImgAtt = new ImageAttributes(); ;                 ImgAtt.SetWrapMode(System.Drawing. ...