一、数据类型介绍

数据类型 字节长度 范围或用法
bigint 8 无符号[0,2^64-1],有符号[-2^63 ,2^63 -1]
binary(M) M 类似Char的二进制存储,只包含byte串而非字符串,它们没有字符集的概念,排序和比较操作都是基于字节的数字值
bit 1 无符号[0,255],有符号[-128,127]
blob Max:64K 二进制的对象,大小写敏感
char(M)  M 定长字符串
date 3 以YYYY-MM-DD的格式显示,比如:2009-07-19
datetime 8 以YYYY-MM-DD HH:MM:SS的格式显示,比如:2009-07-19 11:22:30
decimal(M,D) M+1或M+2 存储精确的数值
double(M,D) 8 双精度浮点
enum 1或2  最大可达65535个不同的枚举值,单选字符串数据类型,适合存储表单界面中的“单选值”
float(M,D) 单精度浮点数
geometry   存储空间点数据
geometrycollection   geometry集合类
int 4 无符号[0,2^32-1],有符号[-2^31,2^31-1] 
integer 无符号[0,2^32-1],有符号[-2^31,2^31-1] 
json   json格式数据
linestring   点之间的线性插值曲线
longblob Max:4G  大小写敏感 
longtext Max:4G 大小写不敏感
mediumblob Max:16M 大小写敏感
mediumint 3 无符号[0,2^24-1],有符号[-2^23,2^23-1]
mediumtext Max:16M 大小写不敏感
multilinestring   点之间的线性插值曲线的集合 
multipoint   点的集合 
multipolygon   多边形的集合 
numeric(M,D) M+1或M+2 精确存储数值,同decimal
point   二维空间中的点 
polygon   多边形 
real(M,D)   浮点数,REAL就是DOUBLE ,如果SQL服务器模式包括REAL_AS_FLOAT选项,REAL是FLOAT的同义词而不是DOUBLE的同义词 
set  

多选字符串数据类型,适合存储表单界面的“多选值”

insert into enum_set_table(id,gender,hobby) values(null,'F','music,movie,footbal');

smallint 无符号[0,65535],有符号[-32768,32767] 
text Max:64K  大小写不敏感 
time 以HH:MM:SS的格式显示。比如:11:22:30 
timestamp 以YYYY-MM-DD的格式显示,比如:2009-07-19 
tinyblob Max:255  大小写敏感 
tinyint 整数[0,255] 
tinytext Max:255  大小写不敏感 
varbinary(M) 类似varchar的变长二进制存储 
varchar(M) 变长字符串,MySQL要求一个行定义长度不能超过65535个字节,不包括text、blob等大字段类型,varchar长度受此长度限制,和其他非大字段加起来不能超过65535个字节。字符类型若为gbk,每个字符占用2个字节,字符类型若为utf8,每个字符最多占用3个字节。
year 以YYYY的格式显示。比如:2009 

二、外键删除更新规则

CASCADE:父表delete、update的时候,子表会delete、update关联记录

SET NULL:父表delete、update的时候,子表会将关联记录的外键字段所在列设为null,所以注意在设计子表时外键不能设为not null

RESTRICT:如果想要删除父表的记录时,而在子表中有关联该父表的记录,则不允许删除父表中的记录

NO ACTION:标准SQL的关键字,在MySQL中与RESTRICT相同

mysql知识汇总的更多相关文章

  1. 理论篇-MySQL知识汇总

    1. 唯一索引 普通索引允许被索引的数据列包含重复的值.唯一索引则是不允许有重复的值,当然 null 除外,唯一索引不仅仅可以存储 null , 还可以存储多个 null.这么做的好处是: 简化了My ...

  2. 【数据库_Mysql】Mysql知识汇总

    1.将多列字段合并显示用CONCAT(XX,XX,...): 2.查询表中某字段重复的数据: 查重复字段:select 字段 from table group by 字段 having count(* ...

  3. MySql面试题、知识汇总、牛客网SQL专题练习

    点击名字直接跳转到链接: Linux运维必会的100道MySql面试题之(一) Linux运维必会的100道MySql面试题之(二) Linux运维必会的100道MySql面试题之(三) Linux运 ...

  4. web前端project师知识汇总

    分类: Web开发应用  一.何为Web前端project师?           前端project师,也叫Web前端开发project师.他是随着web发展.细分出来的行业.Web前端开发proj ...

  5. Oracle手边常用70则脚本知识汇总

    Oracle手边常用70则脚本知识汇总 作者:白宁超 时间:2016年3月4日13:58:36 摘要: 日常使用oracle数据库过程中,常用脚本命令莫不是用户和密码.表空间.多表联合.执行语句等常规 ...

  6. Oracle 数据库知识汇总篇

    Oracle 数据库知识汇总篇(更新中..) 1.安装部署篇 2.管理维护篇 3.数据迁移篇 4.故障处理篇 5.性能调优篇 6.SQL PL/SQL篇 7.考试认证篇 8.原理体系篇 9.架构设计篇 ...

  7. Vertica 数据库知识汇总篇

    Vertica 数据库知识汇总篇(更新中..) 1.Vertica 集群软件部署,各节点硬件性能测试 2.Vertica 创建数据库,创建业务用户测试 3.Vertica 数据库参数调整,资源池分配 ...

  8. 【转】ACM博弈知识汇总

    博弈知识汇总 转自:http://www.cnblogs.com/kuangbin/archive/2011/08/28/2156426.html 有一种很有意思的游戏,就是有物体若干堆,可以是火柴棍 ...

  9. 最全的jQuery知识汇总

    本帖最后由 断天涯大虾 于 2016-12-26 10:22 编辑<ignore_js_op> jQuery是什么? jQuery是javascript编写一个可重用的JavaScript ...

随机推荐

  1. winfrom datagridview中DataGridViewTextBoxColumn的联动处理

    这个问题有两种方法 第一种是用DataGridview中自带的DataGridViewTextBoxColumn 控件,第二种是动态添加combobox控件 方法一: 首先 窗体上拖拽一个 DataG ...

  2. 洛谷.4245.[模板]任意模数NTT(MTT/三模数NTT)

    题目链接 三模数\(NTT\): 就是多模数\(NTT\)最后\(CRT\)一下...下面两篇讲的都挺明白的. https://blog.csdn.net/kscla/article/details/ ...

  3. 【ACM】 1231 最大连续子序列

    [1231 最大连续子序列 ** Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) To ...

  4. [BZOJ3038]遥远的国度

    Description: 给定一棵树,每次询问u节点在以v为根时的子树权值最大值 Hint: \(n \le 10^5\) Solution: 这个模型还是很重要的 考虑树剖 以1节点为根建树 当\( ...

  5. MySql 5.7.20版本免安装版配置过程

    下载地址为: https://dev.mysql.com/downloads/mysql/ 最下面根据自己的操作系统选择合适的型号 下载完以后解压缩到自定义的路径.这里注意的是路径中不要存在中文. 解 ...

  6. Java 字符编码 ASCII、Unicode、UTF-8、代码点和代码单元

    1 ASCII码 统一规定英语字符与二进制位之间的关系.ASCII码一共规定了128个字符的编码.例如,空格“SPACE”是32(二进制00100000),大写字母A是65(二进制01000001). ...

  7. Egret 项目文件夹配置和基本容器、动画

    Egret 项目文件夹配置和基本容器.动画: class Main extends egret.DisplayObjectContainer { //src是resource codede 缩写,所有 ...

  8. html冲刺

    html知识点回顾与面试题<!--1.<DOCTYPE>告诉浏览器当前文档要以何种HTML或者XHTML规范解析2.语义标签strong 粗体em 斜体del 删除线ins 下划线 ...

  9. JAVA自学笔记23

    JAVA自学笔记23 1.多线程 1)引入: 2)进程 是正在运行的程序.是系统进行资源分配和调用的独立单位.每一个进程都有它自己的内存空间和系统资源. 多进程: 单进程的计算机只能做一件事情,而现在 ...

  10. Hibernate(9)_双向n对n

    1.概述 ①双向 n-n 关联需要两端都使用集合属性 ②双向n-n关联必须使用连接表 ③集合属性应增加 key 子元素用以映射外键列, 集合元素里还应增加many-to-many子元素关联实体类 ④在 ...