MySql数据库数据类型及约束介绍
1,MySql中数据类型介绍
|
整型及浮点型 |
||
|
数据类型 |
存储范围 |
字节 |
|
TINYINT |
有符号值:-2^到2^7-1 无符号值:0到2^8-1 |
2 |
|
SMALLINT |
有符号值:-2^15到2^15-1 无符号值:0到2^16-1 |
2 |
|
MEDIUMINT |
有符号值:-2^23到2^23-1 无符号值:0到2^24-1 |
3 |
|
INT |
有符号值:-2^31到2^31-1 无符号值:0到2^32-1 |
4 |
|
BIGINT |
有符号值:-2^63到2^63-1 无符号值:0到2^64-1 |
8 |
|
浮点型 |
||
|
数据类型 |
存储范围 |
字节 |
|
FLOAT(M,D) |
有符号值:-3.402823466E+38~-1.175494351E-38和0 无符号值:0和(1.175494351E-38,3.402823466E+38) M是数字总位数,D是小数点后面的倍数。如果M和D被省略,根据硬件条件的限制进行对应保存,最在精确到小数点后7位小数。 |
4 |
|
DOUBLE(M,D) |
有符号值:-1.7976931348623157 E+308~-2.2250738585072014E-308和0 无符号值:0和2.2250738585072014E-308~1.7976931348623157E+308 M是数字总位数,D是小数点后面的倍数。如果M和D被省略,根据硬件条件的限制进行对应保存,最在精确到小数点后7位小数。 |
8 |
|
日期和时间类型 |
||
|
数据类型 |
存储范围 |
字节 |
|
TIME |
HH:MM:SS -838:59:59 ~ 838:59:59 |
3 |
|
DATE |
YYYY-MM-DD 1000-01-01 ~ 9999-12-31 |
3 |
|
DATETIME |
YYYY-MM-DD HH:MM:SS 1000-01-01 00:00:00 ~ 9999-12-31 23:59:59 |
8 |
|
TIMESTAMP |
YYYY-MM-DD HH:MM:SS 1970-01-01 00:00:01 ~ 2038 |
4 |
|
YEAR |
YYYY 1901 ~ 2155 |
1 |
|
字符类型 |
||
|
数据类型 |
存储范围 |
字节 |
|
CHAR(M) |
0<=M<=255 |
M个字节 |
|
VARCHAR(M) |
可变长度L,最多65535 |
L+1 |
|
TINYTEXT |
可变长度L,最多2^8-1个字符 |
L+1 |
|
TEXT |
可变长度L,最多2^16-1个字符 |
L+2 |
|
MEDIUMTEXT |
可变长度L,最多2^24-1个字符 |
L+3 |
|
LONGTEXT |
可变长度L,最多2^32-1个字符 |
L+4 |
|
ENUM(‘value1’,’value2’.) |
最多65535 |
1或2 |
|
SET(‘value1’,’value2’,...) |
最多64个成员 |
1或2或3或4或8 |
2,MySql数据库中约束介绍:
|
约束类型 |
约束说明 |
|
NOT NULL |
非空约束 |
|
PRIMARY KEY |
主键约束 |
|
UNIQUE KEY |
唯一约束 |
|
DEFAULT |
默认约束 |
|
FOREIGN KEY |
外键约束 |
|
约束介绍:约束作用是保证数据的完整性和一致性,分为表级约束和列级约束。 |
|
3,外键约束(FOREIGN KEY)介绍:
目的和作用:保持数据一致性,完整性,可以实现表与表之间一对一或一对多关系。
外键约束要求:
A:父表和子表必须有相同的存储引擎,且存储引擎必须是InnoDB。这个可以在数据MySql的配置文件中查看及修改,如下图:
B:不能使用临时表进行操作,且外键列和参照列必须具有相似的数据类型,如果是以数字类型作为外键,则数据符号及长度要相同 。
C:外键列和参照列必须创建索引,如果外键列不存在索引的话,MySql将自动创建索引。
4,外键约束的参照操作:
|
参照操作类型 |
说明 |
|
CASCADE |
父表进行删除或更新操作,将自动删除或更新子表中匹配的数据。 |
SET NULL
父表进行删除或更新操作,将子表中对应数据外键设备为NULL。如果使用此参照类型,子表对应字段没有指定NOT NULL。
RESTRICT
拒绝对父表进行删除或更新操作。
NO ACTION
MySql中的关键字,与RESTRICT的作用相同 。
6,MySql中外键约束语句操作:
1,创建一个老师对应的表,就一个id和name字段:
CREATE TABLE teacher(id INT PRIMARY KEY,name VARCHAR(10));
2,创建一个学生表,一个学生指定有一个老师,通过teacher表的id字段进行外建约束。
CREATE TABLE student(id INT PRIMARY KEY,name VARCHAR(10),teacher_id INT,FOREIGN KEY(teacher_id) REFENERCES teacher(id));
这样就把两张表teacher与student进行了外键关联。
MySql数据库数据类型及约束介绍的更多相关文章
- MySQL数据库数据类型之集合类型SET测试总结
MySQL数据库提供针对字符串存储的一种特殊数据类型:集合类型SET,这种数据类型可以给予我们更多提高性能.降低存储容量和降低程序代码理解的技巧,前面介绍了首先介绍了四种数据类型的特性总结,其后又分别 ...
- Mysql 常见数据类型及约束
Mysql 常见数据类型及约束 最近在跟几个不太懂技术的同事(哈哈, 其实我也不懂), 要整一个数据库项目, 然后前端, 后端, 都没有像样的, 数据输出还不是由我们控制.... 这可难受了, 然后总 ...
- 查看MySQL数据库表的命令介绍
如果需要查看MySQL数据库中都有哪些MySQL数据库表,应该如何实现呢?下面就为您介绍查看MySQL数据库表的命令,供您参考. 进入MySQL Command line client下查看当前使用的 ...
- MYSQL数据库数据类型
07.14自我总结 MYSQL数据库数据类型 一.整数类型和浮点数典型 1.有符号/没符号 对于整数和负整数来说,默认情况下是有符号范围的 默认是有符号 有符号和没符号其实就是有没有包括负数,有符号是 ...
- MySQL数据库--外键约束及外键使用
什么是主键.外键关系型数据库中的一条记录中有若干个属性,若其中某一个属性组(注意是组)能唯一标识一条记录,该属性组就可以成为一个主键. 比如: 学生表(学号,姓名,性别,班级) 其中每个学生的学号是唯 ...
- oracle数据库数据类型和约束
今天为大家分享一下关键数据库里面的数据类型和约束.我们都知道国家要讲法律,干什么事情都要遵守法律,比如小的时候你上学的时候要遵守课堂纪律.不能迟到和早退,同样的我们在数据库中创建一些表.或者查询一些表 ...
- mysql数据库的权限体系介绍
一.权限体系简介: MySQL的权限体系在实现上比较简单,相关权限信息主要存储在mysql.User.mysql.db.mysql.Host.mysql_table_priv和mysql.column ...
- mysql数据库 --数据类型、约束条件
今日内容 表的详细使用 1.创建表的完成语法 2.字段类型 整型.浮点型.字符类型.日期类型.枚举与集合类型 3.约束条件 primary key.unique.not null.default 一. ...
- MySQL基本数据类型和约束方式
常用数据类型 1.mysql中的基本数据类型 整型.浮点型.字符类型.日期类型.枚举和集合. 2.常用的约束条件 PRIMARY KEY.UNIPUE KEY.NOT NULL.FOREIGN KEY ...
随机推荐
- java定时任务实现的几种方式(Timer、Spring Task、Quartz)
Timer JDK自带的Timer类,允许调度一个TimerTask任务. Demo: /** * Timer测试类 */ public class TimerDemo { public static ...
- 02-nginx信号量
刚才完了nginx的编译,nginx的编译还是挺简单的.控制nginx:重启.关闭.只有孤零零的一个二进制文件nginx 通过信号来控制它,Linux操作系统进程与进程之间通过信号来通信.荷兰的一位计 ...
- Composert 的命令
(1) php artisan ----查看所有的命令帮助 (2) php artisan make:controller StudentController ----创建一个控 ...
- jmeter 插件
- 171. Excel Sheet Column Number Excel表格的字母转成数字
[抄题]: Given a column title as appear in an Excel sheet, return its corresponding column number. For ...
- 面试题:各大公司Java后端开发面试题总结 已看1 背1 有用 链接有必要看看
ThreadLocal(线程变量副本) --整理 Synchronized实现内存共享,ThreadLocal为每个线程维护一个本地变量. 采用空间换时间,它用于线程间的数据隔离,为每一个 ...
- 面试题:HashMap和ConcurrentHashMap的区别,HashMap的底层源码。
Hashmap本质是数组加链表.根据key取得hash值,然后计算出数组下标,如果多个key对应到同一个下标,就用链表串起来,新插入的在前面. ConcurrentHashMap:在hashMap的基 ...
- 黑盒测试实践--Day6 11.30
黑盒测试实践--Day6 11.30 今天完成任务情况: 应用设计的场景用例,完成测试用例的编写 完成测试用例在自动化测试工具QTP上的测试 分析测试结果得到缺陷报告 小靳 软件测试 今天主要钻研了q ...
- eWebEditor9.x整合教程-Xproer.WordPaster
版权所有 2009-2017 荆门泽优软件有限公司 保留所有权利 官方网站:http://www.ncmem.com/ 产品首页:http://www.ncmem.com/webplug/wordpa ...
- SharePoint 2013在浏览器中打开pdf文档
在没有安装Office Web Apps的情况下,SharePoint 2013是支持在IE上直接打开pdf和Excel文档的(只能查看,不能编辑,部分Excel会报错). 当然,需要现在管理中心做一 ...