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

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类型已经足够了。

原文地址:http://blog.51cto.com/toulen/2155277

时间: 2024-11-12 03:36:23

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

[每日更新-MySQL基础知识]6.常用数据类型-日期时间

1.    日期和时间 日期和时间类型在数据库中也非常重要,比如我们在数据库中新增了一个用户,我们就应该要存储用户加入的时间,方便以后的查询. 还有比如我们在记录日志的时候,谁操作了哪个地方,我们也需要有时间的参与,才能知道,谁在什么时候操作了什么. 1.1    日期时间 表示:datetime / date /year/time/timestamp 1.2    datetime / date / year /time date 保存的是年月日. datetime保存的是 年月日时分秒 ye

[每日更新-MySQL基础]-1.认识MySQL

1.数据库 程序的运行需要很多数据的支持,比如我们要在程序中计算1+2=?,那这个时候,我们就需要把数字1和2存在内存当中,甚至把它们放在变量里面,之后才能进行运算. 再比如说,咱们要设计一个程序,用来查询过去五年中每一天的天气信息,那应该怎么来设计,我们不太可能每次运行程序的时候,都让程序在网上去抓取过去5年的所有天气信息,这样耗时又耗力.这个时候我们就需要借助数据库来帮我们将过去五年的天气信息都存起来,并且按照我们需要的格式去存,等到我们要查询的时候,直接从数据库中取出来,显示给用户就可以了

[每日更新-MySQL基础]2.数据库基本操作

1.    数据库操作 在进入的数据库之后,就应该要对数据库进行管理了.管理数据库是通过SQL来完成的. SQL是用来控制.操作数据库的一个工具,是用来和数据库交流的一门语言.所以,后面我们所用到的语句都是SQL语句. 首先我们要先看看在这个数据库服务器上有哪些库. show databses; 使用命令查看有哪些数据库. 查询数据库还支持过滤,比如某些数据库不让它显示: show databases like %shuai% 它会匹配数据库名中包含shuai这几个字符的库. %:通配符,表示匹

[每日更新-MySQL基础]3.数据表擦哦走

1.    数据表操作 数据表是用来存数据的最重要的东西,它存在库里,一个库中可以有N多个表.所以创建数据表必须选择库. 1.1    创建数据表 create table <tableName>(     表的信息 )[选项]; 在没有指定数据的情况下创建表是不行的,有两种方式选择库. 1.    在写表名的时候指定:create table 库名.表名 2.    在创建表之前,使用: use 库名; 切换到指定的数据库再进行操作 注意: 创建表的时候,同样支持 if not exists

Mysql基础知识----常用命令

一.连接MYSQL. 格式: mysql -h主机地址 -u用户名 -p用户密码 1.连接到本机上的MYSQL. 首先打开DOS窗口,然后进入目录mysql\bin,再键入命令mysql -u root -p,回车后提示你输密码.注意用户名前可以有空格也可以没有空格,但是密码前必须没有空格,否则让你重新输入密码. 如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入到MYSQL中了,MYSQL的提示符是: mysql> 2.连接到远程主机上的MYSQL.假设远程主机的IP为:

Python3基础 input 输入浮点数,整数,字符串

? ???????Python : 3.7.0 ?????????OS : Ubuntu 18.04.1 LTS ????????IDE : PyCharm 2018.2.4 ??????Conda : 4.5.11 ???typesetting : Markdown ? code """ @Author : 行初心 @Date : 18-9-24 @Blog : www.cnblogs.com/xingchuxin @Gitee : gitee.com/zhichengji

MySQL技术内幕(SQL编程)-数据类型

一:MySQL存储引擎 MySQL插件式存储引擎可以让存储引擎层的开发人员设计他们希望的存储层(满足事务需求.满足数据放到内存中等),常见的存储引擎如下: InnoDB存储引擎:支持事务,面向联机事务处理的应用.特点是行锁设计.支持外键.默认读取操作不会产生锁.最为常用的引擎,5.5.8版本后的默认存储引擎. MyISAM:表锁设计.支持全文索引.不支持事务,面向OLAP数据库应用,5.5.8版本前曾是默认存储引擎.其缓冲池只缓存索引文件,不缓存数据文件. NDB:集群存储引擎,结构是share

MySql基础知识、存储引擎与常用数据类型

林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 本文将主要讲解了数据库的一些基础知识,介绍了MySql的存储引擎,最后讲了MySql常用的数据类型 1.基础知识 1.1.数据库概述 简单地说:数据库(Database或DB)是存储.管理数据的容器: 严格地说:数据库是"按照某种数据结构对数据进行组织.存储和管理的容器". 总结:数据永远是数据库的核心. 1.2.关系数据库管理系统 通过"数据库管理系统",数据

MySQL 基础数据类型优化(如何选择数据类型)

前言: 最近在看高性能 MySQL,记录写学习笔记: 高性能 MySQL 学习笔记(二) Schema与数据类型优化 笔记核心内容:MySQL 如何选择正确的数据类型,各数据类型的差异: // 不要小看 MySQL 数据类型对性能的重要性, 当你的系统体量到达一定程度时,就知道这里的性能差异了. 一.选择优化的数据类型 // 更小的通常越好 尽量选择使用可以正确存储数据的最小数据类型.更小的数据类型通常更快, 因为它们占用更少的磁盘.内存和 CPU 缓存,并且处理时需要的 CPU 周期也更少: