1. /*进阶12
  2. SQL 数据类型介绍
  3. 数值型:
  4. 整数: Tinyint(1b) < mediumint(3b)<smallint(2b) <int(4b) <bigint(8b)
  5. ( 默认有符号;
  6. 1/无符号类型:int unsigned; 正数轴长度加一倍;
  7. 2/如果插入的数据超出了规定的返回,则返回临界值
  8. 3/如果不设置长度,会有默认的长度;长度代表了显示的最大宽度,如果不够会用0在左边,但必须搭配zerofill填充!
  9. --------------------)
  10.  
  11. 小数: 1)....(M,D): M表示整数部位长度,D表示小数1部位长度;
  12. 2)M溢出后表示为9999.999;
  13.  
  14. 定点数: dec(M,D),decimal(M,D),
  15. 1.默认为decimal(10,0)
  16. 2.精度更高,比如货币运算等运算则考虑使用
  17. 浮点数:
  18. 1.float(M,D) ,浮点数类型,4 个字节;
  19. 2.double(M,D) ,8个字节
  20. 枚举型: enum(...........);不区分大小写;
  21. set 类型 : 不区分大小写,set类型最多里面可以保存0~64 个成员;
  22.  
  23. -------------------
  24.  
  25. 字符型:
  26. 较短的文本:char(M:0--255) : (M可以省略,默认为1)可插入字符数上限 ,效率高,空间开支大
  27. varchar(M:0--65535) : (M不可以省略)可变的字符数长度 ,效率低,空间相对低
  28. 较长的文本:text / blob(较长的二进制数据)
  29. 其他:
  30. binary 和 varbinary用于保存较短的二进制;
  31. enum 用于保存枚举
  32. set用于保存集合
  33. 日期型:
  34. date : 4b,仅保存年月日: 1000-01-01 , 9999-12-31
  35. time : 仅保存时分秒
  36. datetime : 8b ,不受时区影响, 最小值:1000-01-01 00:00:00 ,最大值:9999-12-31 23:59:59
  37. timestamp(时间戳): 4b, 随时区改变而改变, 1970年-->2038年
  38.  
  39. */
  1. #1 溢出保护
  2. DROP TABLE IF EXISTS tab_int;
  3. CREATE TABLE tab_int(
  4. t1 INT,
  5. t2 INT UNSIGNED
  6.  
  7. );
  8. INSERT INTO tab_int VALUES(100000000000000,-100); #2147483647,0
  9. DESC tab_int;
  10. SELECT * FROM tab_int;
  11. #2 设置位数,0填充宽度
  12. CREATE TABLE tab2_int(
  13. t1 INT(7) ZEROFILL,
  14. t2 INT(7) UNSIGNED ZEROFILL
  15.  
  16. );
  17. INSERT INTO tab2_int VALUES(123,123); # 0000123 , 0000123
  18. DESC tab2_int;
  19. SELECT * FROM tab2_int;
  20. #3 测试溢出
  21. CREATE TABLE tab_float(
  22. f1 FLOAT(5,2),
  23. f2 DOUBLE(5,2),
  24. f3 DECIMAL(5,2)
  25. );
  26.  
  27. SELECT * FROM tab_float;
  28. INSERT INTO tab_float VALUE(123.456,123.4444,123.55); #123.46,123.44,123.55
  29. INSERT INTO tab_float VALUE(123.456,123.4444,123456.55); #123.46,123.44,999.99
  30.  
  31. #4 测试enum 枚举型
  32. CREATE TABLE tab_char(
  33. row1 ENUM('a','b','c','d')
  34. );
  35. INSERT INTO tab_char VALUES('a'); #a
  36. INSERT INTO tab_char VALUES('M'); #' '
  37. INSERT INTO tab_char VALUES('A'); #'a'
  38. SELECT * FROM tab_char;
  39.  
  40. #5 测试set 集合类型
  41. DROP TABLE IF EXISTS tab_set;
  42. CREATE TABLE tab_set(
  43. row1 SET('a','b','c','d')
  44. );
  45. INSERT INTO tab_set VALUES('a,c,d'); #a
  46.  
  47. SELECT * FROM tab_set;
  48.  
  49. #四:日期型
  50.  
  51. CREATE TABLE tab_date(
  52. t1 DATETIME,
  53. t2 TIMESTAMP
  54. );
  55. INSERT INTO tab_date VALUES(NOW(),NOW()); #2018-10-29 15:13:24,2018-10-29 15:13:24
  56. SELECT * FROM tab_date;
  57.  
  58. SHOW VARIABLES LIKE 'time_zone';
  59.  
  60. SET time_zone='+9:00'; # 2018-10-29 15:13:24 ,2018-10-29 16:13:24

MySQL进阶12-- 数据类型介绍: 数值型/字符型/日期型-- 正负溢出保护/枚举型/set型/时间戳的更多相关文章

  1. MySQL 中的数据类型介绍(转)

    据我统计,MySQL支持39种(按可使用的类型字段统计,即同义词也作多个)数据类型.下面的介绍可能在非常古老的mysql版本中不适用. 转载出处:http://blog.csdn.net/anxpp/ ...

  2. MySQL 中的数据类型介绍

    1.MySQL 数据类型 MySQL中定义数据字段的类型对你数据库的优化是非常重要的. MySQL支持多种类型,大致可以分为三类:数值.日期/时间和字符串(字符)类型. 2.数值类型(12) 2.1. ...

  3. MySQL中的数据类型 [数值型、字符串型、时间日期型]

    MySQL中的数据类型 [数值型.字符串型.时间日期型] MySQL中各数据类型 1. 数值类型(整型) 类型 数据大小 类型 (无符号:unsigned) 数据大小 存储空间 tinyint -12 ...

  4. 一、初识MySQL数据库 二、搭建MySQL数据库(重点) 三、使用MySQL数据库 四、认识MySQL数据库的数据类型 五、操作MySQL数据库的数据(重点)

    一.初识MySQL数据库 ###<1>数据库概述     1. 数据库         长期存储在计算机内的,由组织的可共享的数据集合         存储数据的仓库         文件 ...

  5. MySQL:数据类型介绍

    数据类型介绍 一.整数类型(可以添加自增约束条件) 数据类型 存储需要 有符号 无符号 tinyint 1个字节 -2^7~2^7-1 0~2^8 smallint 2个字节 -2^15~2^15-1 ...

  6. MySQL全面瓦解3:数据类型介绍与分析

    概述 MySQL支持很多数据类型,以便我们能在复杂的业务场景中支持各种各样的数据格式,存储适当的数据内容.我们在设计数据库时,正确的使用数据库类型对整个数据库的整洁和高效,会有很大的帮助. 目前常用的 ...

  7. mysql进阶(十)不靠谱的FLOAT数据类型

    今天在设计数据表时,突然发现原来FLOAT原来是很不靠谱的,所以在这里建议大家换成DOUBLE类型, 原因是: 在mysql手册中讲到,在MySQL中的所有计算都是使用双精度完成的,使用float(单 ...

  8. Mysql(三)-2:数据类型

    一 介绍 存储引擎决定了表的类型,而表内存放的数据也要有不同的类型,每种数据类型都有自己的宽度,但宽度是可选的 详细参考: http://www.runoob.com/mysql/mysql-data ...

  9. 存储引擎和表的操作(mysql中的数据类型、完整性约束)

    一.存储引擎 .概念 MySQL中的数据用各种不同的技术存储在文件(或者内存)中.这些技术中的每一种技术都使用不同的存储机制.索引技巧.锁定水平并且最终提供广泛的不同的功能和能力. 通过选择不同的技术 ...

随机推荐

  1. colaboratory安装指定版本的tensorflow

    查看当前安装的tensorflow版本 !pip show tensorflow 安装指定版本 !pip install tensorflow==2.0 这速度,香不香.

  2. nginx配置访问本地静态资源

    下面说说如何在windows下使用nginx作为静态资源服务器, 1.修改config目录下,这个配置文件,基本上所有的配置都在这里面做, 2.主要的配置参数如下,一些无关的参数我直接去掉了,注意,里 ...

  3. ztree通过id获取节点对象

    var treeObj = $.fn.zTree.getZTreeObj("treeId"); var node = treeObj.getNodeByParam("id ...

  4. Linux 下 安装 Jmeter

    Linux下安装jmeter 1.1 下载JMeter 官方网站下载最新版本: http://jmeter.apache.org/download_jmeter.cgi    两个只是解压方式不一样而 ...

  5. linux ubuntu 网卡配置---固定IP

    需要修改/etc/network/interfaces和/etc/resolvconf/resolv.conf.d/base两个文件. 1) /etc/network/interfaces文件: 首先 ...

  6. git当前项目免密提交

    在项目目录下,执行: vim .git/config 在url后边添加用户名密码即可 ``` [core] repositoryformatversion = filemode = true bare ...

  7. RocketMQ之一:RocketMQ整体介绍

    常用MQ介绍及对比--<MQ详解及四大MQ比较> RocketMQ环境搭建--<RocketMQ之三:RocketMQ集群环境搭建> RocketMQ物理部署结构 Rocket ...

  8. 别再裸奔了,你的项目代码安全吗,再不加密就out了

    在工作中,有时候我们需要部署自己的Python代码 或进行私有化部署时,尤其现在都是通过docker镜像部署,我们并不希望别人能够看到自己的Python源程序. 加密Python源代码的方式,是将.p ...

  9. PAT(B) 1049 数列的片段和(C)规律

    题目链接:1049 数列的片段和 (20 point(s)) 题目描述 给定一个正数数列,我们可以从中截取任意的连续的几个数,称为片段.例如,给定数列 { 0.1, 0.2, 0.3, 0.4 },我 ...

  10. WUSTOJ 1305: 最短路(Java)

    题目链接: