1.    数据类型

在学习PHP的时候我们已经讲过数据类型了,所谓数据类型就是数据的格式。每一种数据类型在计算机中存储的方式会有差异,占用的存储容量也有区别,所以选择合适的数据类型可以节约我们的存储成本,也方便我们的程序运行和开发效率。

1.1    整数类型

表示:int

在PHP中,要存储一个整数类型需要4个字节,在MYSQL中,这个Int是可以手动指定的,它根据你选择的长度来计算使用的字节数。标准的整数类型也是4个字节。

在定义表的时候,如果选择了int型,那么需要设置一个长度,根据长度会自动将该字段的容量定下来,不能存储超过容量的数据。

所以在考虑字段的时候,我们要知道要存储的数据最大是多少,按照最大的数字选择存储的长度。一旦选择了,空间就被固定了!

整数包含正整数和负整数。但MySQL中也可以只存储正整数。也就是没有负数,最小是就是0,使用unsigned属性,可以让字段变成没有负数的字段。

1.2    小数类型

表示:float/double/decimal

在mysql中,浮点型和定点型可以用类型名称后加上M/D来表示值的长度,M代表值的总长度,D表示小数点后的位数。M和D又称之为精度和标度。如:float(5,2)表示:精度为5,小数点后有2位,则最大值就是:999.99。假设我们存入的数据是(100.009)那么这个值不满足我们存储的要求(5,2)所以它会将值进行四舍五入,变成(100.01)来存储。

注意: 在mysql中 float 和double在不指定精度的时候,默认以实际的精度显示,而decimal在不指定精度的时候,默认整数部分10,小数部分0

在PHP中小数没有单双精度的区别,而在MYSQL中有,

float占用4个字节,属于单精度

double占用8个字节,属于双精度

需要注意的是,计算机都不能很好的处理小数,他们保存的都是近似值,所以最好不要拿小数进行精确计算和精确比较。

小数也有正小数和负小数,也可以通过unsigned来去除符号。

1.3    字符串类型

表示:char/varchar/text

1.3.1    char

定长的字符串类型。申明:char(长度值)

一旦定义长度,不管存储的字符够不够这么长,都存储这么多字节、所以在使用的时候,要考虑到存储的数据长度会不会变化,如果需要变化,那么char类型就不适合你。

1.3.2    varchar

可变长度的字符串

varchar类型是用得比较多的一种类型,它可以根据数据的内容长度来改变存储的字节数。在申明的时候,同样需要传入一个长度如:varchar(255),255表示最长可以存储255,但是如果没有这么多的话,存储的时候就不会占用更多的存储空间。

注意:varchar会额外拿出一到两个字节来存储数据的真实长度,所以存储:abcd的时候,占用的空间会是:4+1,这里的1是用来存储数据真实长度的。

如果数据的长度超过255个字符,那么存储真实长度的空间就会变成2.

varchar类型可以存储65535个字符。

那char和varchar应该如何选择呢?

char类型: 计算更加快速

varchar类型: 更节省空间。

根据你的需要自己决定。

1.3.3    text

text用来存储更大类型的字符串。

它也是变长的。所以我们建议大家,将长度大于255的字符串都存为text类型。

对应的text类型有4个:

tinytext    text    mediumtext  longtext

依次存储的长度不一样,根据自己的需要去选择,一般情况下,一篇文章,使用text类型已经足够了。

mysql 更新日的数据类型_[每日更新-MySQL基础]5.常用的数据类型-整数和字符串相关推荐

  1. 【面试技巧】最全的面试求职攻略_每日更新

    12.02更新~ ◣◤◣大家想看哪方面的更多?或者有什么关于职场的疑惑想要提问哒~都可以在这里留言或者给小白白发豆油~小白白都会去搜集整理编辑最终更新出来~ ◣◤◣如果觉得对大家有帮助,将继续更新~ ...

  2. mysql x锁 u锁_讲解更新锁(U)与排它锁(X)的相关知识

    一直没有认真了解UPDATE操作的锁,最近在MSDN论坛上看到一个问题,询问堆表更新的死锁问题,问题很简单,有类似这样的表及数据: CREATE TABLE dbo.tb( c1 int, c2 ch ...

  3. mysql 设置 0、1 用什么数据类型_什么是MySQL数据库?看这一篇干货文章就够了!...

    前言 为啥学习MySQL呢?因为MySQL是最流行的关系型数据库管理系统之一,在web应用方面,MySQL是最好的软件.MySQL所使用的sql语言是用于访问数据库的最常用标准化语言. 这篇文章,我会 ...

  4. mysql如何实现逻辑自增_每日一面 - mysql 的自增 id 的实现逻辑是什么样子的?

    Key TakeAways InnoDB 引擎中 有三种 AutoIncrement 锁模式: innodb_autoinc_lock_mode=0(traditional lock mode):获取 ...

  5. mysql密码自动被改_每日一shell(十一)mysql强制自动修改密码

    导读 正文 如果不记得MysqL的root密码,那么就只能强制修改密码了,使用shell轻松自动修改密码: #!/bin/bash #Author Aiker PATH=/bin:/sbin:/usr ...

  6. mysql中日期相减_如何使用MySQL数据库

    如何使用MySQL数据库 前言:前面我们已经了解了如何搭建MySQL数据库,那么接下来我们就一起来了解一下,如何使用MySQL数据库. MySQL数据库系统也是一个典型的C/S(客户端/服务器)架构应 ...

  7. mysql 查询和修改组合_## 超详细MySQL常用语句,增删查改

    ## MySQL常用语句,增删查改,安装配置mysql服务 ***#新手博客,应届生,谢谢支持哟 记得点赞关注哟*** ***-----sql常见命令:--------*** 安装服务:mysqld ...

  8. php mysql log文件怎么打开_如何查看mysql的日志文件

    首先,介绍一下mysql日志的种类.一般来说,日志有五种,分别为: (推荐学习:mysql教程)错误日志:-log-err (记录启动,运行,停止mysql时出现的信息) 二进制日志:-log-bin ...

  9. mysql update多个字段_常见的MySQL命令大全fourth

    1:使用SHOW语句找出在服务器上当前存在什么数据库: mysql> SHOW DATABASES; 2:2.创建一个数据库MYSQLDATA mysql> Create DATABASE ...

最新文章

  1. GEO,以GSM2309041这套数据为例,找到需要的sra数据,SRX2159543
  2. mysql事务并发控制_MySQL之事务及并发控制
  3. 循环中 动态参数 传div 层_【转载】黄学杰等:铌元素在锂离子电池中的应用
  4. 软件开发中IT用语-日文和英文对照版
  5. 老干妈如今做到这么大,为什么她就是没遇到竞敌?
  6. UVa 11468 (AC自动机 概率DP) Substring
  7. 浅析JavaScript解析赋值、浅拷贝和深拷贝的区别
  8. 使用python和javascript进行数据可视化
  9. mimemultipart java_最佳实践 – 发送javamail mime multipart电子邮件和gmail
  10. 在Ruby中,如何跳过.each循环中的循环,类似于‘continue‘[duplicate]
  11. 搭建个人博客站点流程
  12. 张宇高数 第二讲 一元函数微分学(思维导图)
  13. C++ 字符串的截取
  14. 基础一:一切都是对象
  15. 在校大学生计算机等级考试可以在其他省考吗
  16. 网赚:通过网上引流项目变现要趁早!
  17. 交换机怎么用计算机配置,配置交换机,详细教您怎么配置交换机
  18. n维椭球体积公式_洛氏硬度、布氏硬度、维氏硬度区别与对照
  19. Node.js stream模块(一)可读流
  20. 优信php面试流程_上海优信智能科技有限公司

热门文章

  1. 帝国 loginjs.php,帝国cms 6.6 后台拿shell
  2. Python实战应用-Clumper库函数全解析
  3. 怎样调用另一个html中的元素,html – 使用DIV作为另一个元素的背景
  4. html中使用静态图片做一个csdn网站的首页
  5. HTML5的非主体结构元素(header、footer、hgroup、assress)
  6. linux下spi添加设备,Linux Kernl添加spidev的设备节点
  7. ubuntu下c 访问mysql_Ubuntu下用C语言访问MySQL数据库
  8. CSS 学习路线(二)选择器
  9. CSS图片水平垂直居中
  10. iView 一周年了,同时发布了 2.0 正式版,但这只是开始...