Mysql 知识点1-1 字段类型

整型(int  tinyint)    
tinyint 默认创建的是有符号的
1、控制多大多小是由类型来进行控制的,并不是后面Int(2)来控制的,他的意思不是只要两位。(代表零填充)
int(M): M indicates the maximum display width for integer types
2、设置整型的位数如果超出了设定的值取最大的值
3、在使用整型的时候可以忽略括号中的值

tinyint
从 0 到 255 的整型数据。存储大小为 1 字节。

smallint
从 -2^15 (-32,768) 到 2^15 – 1 (32,767) 的整型数据。存储大小为 2 个字节。

int
从 -2^31 (-2,147,483,648) 到 2^31 – 1 (2,147,483,647) 的整型数据(所有数字)。存储大小为 4 个字节。int 的 SQL-92 同义字为 integer。
bigint
从 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型数据(所有数字)。存储大小为 8 个字节。

浮点数和定点数
float和double都是浮点数,float是单精度 double是双精度
单精度和双精度的区别:双精度可以比单精度多存点
            单精度实数在内存中占32bit  有效数字为6~7位
            双精度实数占内存单元为64bit  有效数字为15~16位
浮点数和定点数都可以使用类型后面加(M,D)方式来表示
M:该类型一共显示出M数字
D:表示小数点后面几位

decimal(M,D)
高精度 128bit,浮点型。
float double 是 基本类型,decimal不是。
float 有效数字7位,范围  ±1.5 × 10E?45 to ±3.4 × 10E38
double 有效数字15/16 位,范围 ±5.0 × 10 E?324 to ±1.7 × 10E308
decimal 有效数字 28/29 位,范围 ±1.0 × 10E?28 to ±7.9 × 10E28

字符串
char和varchar都很相似,都可以来存储mysql中较短的字符串
1、char固定的长度,创建表的时候声明的最大长度,可以为0~255。设置了固定长度,不管你里面有多少数据都会占你设定的长度
2、varchar值为可变的,长度为0~65535之间的值。里面有多少数据就占多少字符
3、char和varchar在超出指定长度时都会被截取指定的字符串

text和blob,二者之间的区别
blob:是用来存储二进制的数据
text 是用来保存字符串的数据
blob和text在经过大量的删除之后,可能会引起性能的问题,删除以后的数据会留下"空洞"
可以使用optimize table 表名 来回收空间

枚举类型    enum
1、枚举类型,是在创建表的时候声明的
2、对于1~255个成员的枚举类型只占用1个字节来存储265~65535个成员只使用2个字节来存储。最多可以存储65535个成员
3、如果超出了枚举类型在指定的值,将会插入一个‘空‘,只能插入单个的值,而不能插入多个值

日期类型(一般存时间戳)

时间: 2024-12-30 04:32:07

Mysql 知识点1-1 字段类型的相关文章

mysql怎么储存长字符-----MySQL text与blob字段类型的不同之处

字段类型选text型 或blog 区别见: 以下的文章主要介绍的是MySQL text与blob字段类型的不同之处的比较,同时本文也有对MySQL text与blob字段类型的实际应用的介绍,如果你对MySQL text与blob字段类型相关的实际操作有兴趣的话,你就可以对以下的文章点击观看了. 1. blob是二进制大对象,可以容纳可变量数量的数据,其中blob分为4中类型:TINYBLOB,BLOB,mediumblob和LongBlob,他们容纳的长度是不同的. Text同样也分为四种类型

mysql 存储引擎,字段类型,索引介绍

一:常用的存储引擎:1,myisam:    我建立了一个MyISAM引擎的tb_Demo表,那么就会生成以下三个文件:     1>tb_demo.frm,存储表定义:     2>tb_demo.MYD,存储数据:     3>tb_demo.MYI, 存储索引.   特点: 查询快,写入慢,支持表锁,支持符合全文索引    适合管理邮件,web服务器的日志数据,选择密集结构表的时候用,插入密集结构   表的时候用2,innodb     1>更新密集的表.InnoDB存储引擎

mysql数据库函数 concat 字段类型转化、字段拼接

select l.lid, GROUP_CONCAT(s.NAME) shopname, m.realname, u.NAME, m.phone, a.name, concat(l.progress,'') from loan l, bank b, merchant m, bank_user u, area a, shop s where l.bid=b.bid and l.mid=m.mid and l.uid=u.uid and b.aid=a.id and l.lid=s.lid GROU

Mysql命令行改动字段类型

在做微信公众平台 知识百科(账号:zhishiwiki) 时,由于字段先前设计的不合理.导致内容装不下,因此须要改动其字段类型为 text 这里使用到了 alter 命令 alter table 表名称 modify 字段名称 字段类型 [是否同意非空]; 作者说:仅仅实用到了,才干学会很多其它

MYSQL表中设置字段类型为TIMESTAMP时的注意事项

在MYSQL中,TIMESTAMP类型是用来表示日期的,但是和DATETIME不同,不同点就不再这里说明了. 当我们在使用TIMESTAMP类型设置表中的字段时,我们应该要注意一点,首先我们在表中新增一个类型为TIMESTAMP的字段: 如上图所示,系统为类型为TIMESTAMP的tm字段自动创建了默认值CURRENT_TIMESTAMP(系统日期),下面我们看表中的数据,新增的列自动填充了系统日期的值: 下面我们在表中继续新增一个类型为TIMESTAMP类型的字段tm1,然后查看表结构: 如上

关于mysql中修改某个字段类型

1:修改表中某个字段的类型 alter table usertable MODIFY dddd VARCHAR(50); 其中MODIFY是指修改表中字段的属性 alter表示修改表的意思 2:备份表中数据: create table sppi_a_hw_0726BAK as select * from sppi_a_hw where work_date ='2019-07-26'; 3:从备份表中读取数据到修改过表字段类型的 insert into sppi_a_hw select * fro

mysql表名等大小写敏感问题、字段类型timestamp、批量修改表名、oracle查询历史操作记录等

mysql表名等大小写敏感问题:http://blog.csdn.net/postnull/article/details/72455768: 1 MySQL在Linux下数据库名.表名.列名.别名大小写规则是这样的: 2 1.数据库名与表名是严格区分大小写的: 3 2.表的别名是严格区分大小写的: 4 3.列名与列的别名在所有的情况下均是忽略大小写的: 5 4.字段内容默认情况下是大小写不敏感的. ================================================

wpf读取mysql字段类型为text的问题

在读取数据库中的字段时,可能会根据环境的不同导致一些字段的读取方式不尽相同,在sql数据库中读取字段值用的最多的算是dataTable.Rows[行][列],但是到了mysql中就会有一些差别,在flex中可以按照这种方式进行读取,但是到了wpf中读取mysql中的text字段就会有差别,有幸让我碰到了这个问题,当时也是一头雾水,反复检查了数据库中的编码格式及代码块:确定几遍,格式是设定好的格式,代码是熟悉的代码,但是为什么按照常规的方式读取获取到的是byte类型的值呢? --百思不得其解,最后

Mysql中字段类型之时间戳大坑2

本文的内容依旧是讨论mysql字段类型为时间戳timestamp的问题,在遇到了之前的那个问题之后,今天测试人员又给我提了一个bug,是在前端页面提交会议表单的时候,选择了一个会议时间(2059年的时间),报了一个错,服务器直接炸掉了,抛出定制的错误信息,然后我瞢逼了一圈,感觉代码没有写错,数据库中的字段类型也都是正确的,然后看看抛出的异常信息,是mysql数据库抛出的异常,提示时间格式有问题,但是看了看,也没有什么问题. 自己尝试了一下选择一个比较正常一点的时间,表单可以正常提交,也没有什么问

MySQL 常用字段类型,介绍及其建表使用方法经验分享

由于工作的公司没有专业的DBA又经常需要建立各种各种的表来满足自己的业务逻辑,所以经常查看MySQL 手册或者谷歌查看相关资料,所以本人就根据我的工作经验和相关资料来介绍一下MySQL各种字段类型及其使用.(由于本人还算是菜鸟哪里写的不对请多多指正,有兴趣的可以探讨一下) MySQL字段类型 int型包括(tinyint, smallint, mediumint, int, bigint) tinyint是1个字节表达范围就是2的8次方(-128-128) 或者(0-255) 很多人不明白为什么