1. bit(m)

二进制位,m表示二进制的长度,其范围为1-64,默认值为1

2. tinyint(m)

小整数,其相对于int范围较小,可用来保存一些小范围的整数数值

分为有符号和无符号类型,范围如下

signed: -128 -- 127

unsigned: 0 -- 255

注意:tinyint是占一个字节的,其中的m并不表示m个字节或m个tinyint数据,而是表示数据在显示的时候显示的最小长长度。如果字符长度小于m时,会拿某个字符进行填充。例如如果为2的话,插入1时,显示为01,使用0字符进行填充。默认为1

3. int(m)

整型数值,分为有符号和无符号,范围如下

signed: -2147483648 -- 2147483647

unsigned: 0 -- 4294967295

注意:int类型在mysql中占4个字节,其中的m也不表示m个int,而是与tinyint一样,表示最短显示长度,默认为1.

4. bigint(m)

相对于int类型,可以表示更大的范围,分为有符号和无符号类型

signed: -9223372036854775808 -- 9223372036854775807

unsiigned: 0 -- 18446744073709551615

注意: bigint的m与int的用法一致

5. float(m ,d)

单精度浮点数,不能表示精准的小数值。m表示有效数字的总个数,d表示小数点后的个数

分为有符号和无符号类型,范围如下

signed: -3.402823466E+38 -- -1.175494351E-38, 0, 1.175494351E-28 -- 3.402823466E+38

unsigned: 0, 1.175494351E-38 -- 3.402823466E+38

注意: 当数值越大时,越不精准。

6. double(m, d)

双精度浮点数,不能表示精准的小数值。m表示有效数字的总个数,d表示小数点后的个数

分为有符号和无符号两种,范围如下

signed: -1.7976931348623157E+308 -- -2.2250738585072014E-308, 0, 2.2250738585072014E -- 1.7976931348623157E+308

unsigned: 0, 2.2250738585072014E-308 -- 1.7976931348623157E+308

注意: 当数值越大时,越不精准。

7. decilaml(m, d)

能够表示一个精准的小数值。m表示有效数字的总个数,不包括负号。d表示小数点后的个数。

m的范围:1 -- 65

d的范围: 0 -- 30

注意:msql要求d小于等于m。decimal能够存储精确值的原因是因为其内部使用字符串存储该数据

8. char(m)

表示固定长度的字符串,m表示字符串的长度。最大长度为255

注意:如果输入的字符串长度小于m,其大小也是m

9. varchar(m)

表示变长的字符串,m为设置的字符串最大长度,最大为255

注意:虽然varchar是变长的字符串,能够有效节省空间大小,但是char类型的数据处理速度相对来说比varchar更快

10. text

表示用于保存变长的字符串,其范围最多可以达到65535(2^16-1)

11. mediumtext

相对于text,可以保存更长的字符串,其范围可以达到16777215(2^24-1)

13. longtext

相对于mediumtext,能保存更长的字符串,范围可以达到4GB

14. enum

枚举类型,一般是用来作为限定值的取值范围。它是一种单选的类型,必须选定给定的几个值中的某一个,适合存储表中的单选值。

例如:

create table animals( e enum('fish', 'dog', 'cat') not null );insert into animals values('fish'), ('dog'), ('cat');

15. set

集合类型。它是一种多选的数据类型,可以选择给定的几个值中的某几个,适合存储表中的多选值。

例如:

create table person( id int auto_increament primary key, sex enum('man','woman'), hobby set('music','study','movie'));insert into person(id, sex, hobby) values(null, 'man', 'music');insert into person(id, sex, hobby) values(null, 'woman', 'study,movie');

16. time类型

用来存储时间数据。格式为 HH:MM:SS,在mysql中需要3个字节进行存储。

存储范围为: -838:59:59 -- 838:59:59

允许使用字符串或数字为time列赋值。

例如:

create table time( t time);insert into time values('10:55:40');insert into time values(123123);

17. date类型

用来存储日期。格式为yyyy-mm-dd,在mysql中占3个字节

存储范围: 1000-01-01 -- 9999-12-31

例如

create table date_test( d date );insert into date_test values('2019-11-25');insert into date_test values('2019-3-2');insert into date_test values('2019#3#2');insert into date_test values('2019:4:2');insert into date_test values('2019.5.2');

18. datetime类型

用来存储日期和时间。格式为"yyyy-mm-dd hh:mm:ss",在mysq中占8个字节

存储范围: 1000-01-01 00:00:00 -- 9999-12-31 23:59:59

create table datetime_test (  d datetime );  insert into datetime_test values('2019-11-25 11:16:40'); insert into datetime_test values(now());

19. timestamp类型

用来存储时间戳。格式为“yyyymmddhhmmss”,显示为"yyyy-mm-dd hh:mm:ss"。在msql中占4个字节

存储范围为: 1970-01-01 00:00:01 UTC -- 2038-01-19 03:14:07

注意:它存储的是由格林尼治时间1970年1月1日到当前时间的秒数,但是显示为"yyyy-mm-dd hh:mm:ss"。

create table timestamp_test( d timestamp );insert into timestamp_test values('2019-11-12 12:12:12');insert into timestamp_test values('2019/9/12 13:13:13');insert into timestamp_test values(null); //系统自动分配最近的时间,也就是当前时间

20.

用来存储年份数据。格式为“yyyy”,在mysql中占1个字节

存储范围为:1901 -- 2155

create table year_test( y year );insert into year_test values('1979');insert into year_test values('1900');//超出范围

结束

以上简单介绍了mysql中一些基本的数据类型,如有错误,敬请指正,谢谢

datetime类型怎么输入_数据库之mysql的基础类型相关推荐

  1. datetime类型怎么输入_精心整理MySQL基本使用(数据库的操作、数据类型、MySQL的常用命令)...

    前言:瑞典 MySQL AB 公司开发,目前属于 Oracle 公司. MySQL是一种关联数据库管理系统 由于其体积小.速度快.总体拥有成本低.MySQL软件采用了双授权政策(本词条"授权 ...

  2. mysql binary模式_MySQL数据库之MySQL的binary类型操作

    本文主要向大家介绍了MySQL数据库之MySQL的binary类型操作 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. 示例数据表: CREATE TABLE test_bin  ...

  3. 数据库开发——MySQL——数据类型——数值类型

    MySQL中定义数据字段的类型对数据库的优化是非常重要的. MySQL支持多种类型,大致可以分为四类:数值.日期/时间.字符串(字符)类型.枚举类型与集合类型. 一.数值类型 MySQL支持所有标准S ...

  4. mysql数据库算法_数据库:MySQL索引背后的数据结构及算法原理【转】

    原文:http://blog.codinglabs.org/articles/theory-of-mysql-index.html 摘要 本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话 ...

  5. mysql使用释放资源_数据库--释放mysql数据库资源

    数据库--释放mysql数据库资源 背景 nikeodong 之前做了项目的数据库主从,在全备的过程发现数据库是越来越大了:最后发现是资源不释放的问题. 目的 为了解决 mysql 资源不释放的问题. ...

  6. mysql语句数据库_数据库的Mysql语句

    数据库的mysql语句: 1.连接数据库 mysql -u root -p 2.显示数据库 show databases(db); 3.选择数据库 use 数据库名; 4.显示数据库中的表 show ...

  7. mysql查询雇员部门和性别_数据库管理系统MySQL实验

    <数据库管理系统MySQL实验>由会员分享,可在线阅读,更多相关<数据库管理系统MySQL实验(14页珍藏版)>请在人人文库网上搜索. 1.课 程 实 验 报 告实验项目名称实 ...

  8. mysql master 重置_[数据库]重置mysql主从同步(MySQL Reset Master

    [数据库]重置mysql主从同步(MySQL Reset Master 0 2012-09-13 16:00:09 在mysql主从同步的过程中,可能会因为各种原因出现主库与从库不同步的情况,网上虽然 ...

  9. mysql数据库最后一步卡住了_[数据库]解决MySQL安装到最后一步未响应的三种方法...

    [数据库]解决MySQL安装到最后一步未响应的三种方法 0 2018-07-13 01:01:27 这种情况一般是你以前安装过MySQL数据库服务项被占用了. 解决方法: 方法一:安装MySQL的时候 ...

最新文章

  1. Java改知能机_Java 面试突击之 Java 并发知识基础 进阶考点全解析
  2. arm neon RGB转Gray的例子
  3. [ 1001] 动态开辟二维数组的说明
  4. mysql如何做计划任务_简单的mysql 过程计划任务
  5. CentOS 7.0安装配置Vsftp服务器
  6. boost 容器tuple 信号signal2测试
  7. 网友疯买、雷军力撑,又一家国货站起来了!
  8. gulp html 缓存,gulp 给静态资源文件添加hash(md5)后缀 防止缓存
  9. 【渝粤教育】电大中专电商运营实操 (16)作业 题库
  10. html页面枚举 暴力,暴力枚举进程模块(示例代码)
  11. 三菱GXWorks2 绘制梯形图
  12. 程序员(应届生)求职简历模板+LaTex(overleaf)简历制作+博士简历模板分享+简历赏析
  13. 如何把大写金额变为小写数字_excel表格技巧:怎么快速把阿拉伯数字小写金额转换成大写金额...
  14. word 2019 方框中打勾
  15. 支付宝快捷支付接入问题
  16. HashMap面试灵魂几问
  17. Linux Server中搭建NAS存储服务(一)
  18. Wireshark抓包实例诊断TCP连接问题
  19. 怎样将表格拆分为两个
  20. 我在北京每月白捡一万元(转贴)

热门文章

  1. Linux命令收藏-进程管理
  2. 基础知识系列☞关键字→virtual
  3. 几个可能会用到的前端库
  4. IOS数组按中文关键字以字母序排序
  5. 常用脚本--在线重建或重整实例下所有索引
  6. python实训day5
  7. CSS3 制作魔方 - 相关立体样式
  8. SpringBoot启动源码探究---getRunListener()
  9. js 改变this指向的几种方法(个人学习笔记)
  10. 【Python数据挖掘】回归模型与应用