`

MySQL: tinyint(1) 和 tinyint(4), char 和varchar

 
阅读更多

 


1 bytes = 8 bit ,一个字节最多可以代表的数据长度是2的8次方 11111111 在计算机中也就是

-128到127

1.BIT[M]

位字段类型,M表示每个值的位数,范围从1到64,如果M被忽略,默认为1

2.TINYINT[(M)] [UNSIGNED] [ZEROFILL]  M默认为4

很小的整数。带符号的范围是-128127。无符号的范围是0255

3. BOOLBOOLEAN

TINYINT(1)的同义词。zero值被视为假。非zero值视为真。

4.SMALLINT[(M)] [UNSIGNED] [ZEROFILL] M默认为6

小的整数。带符号的范围是-3276832767。无符号的范围是065535

5.MEDIUMINT[(M)] [UNSIGNED] [ZEROFILL] M默认为9

中等大小的整数。带符号的范围是-83886088388607。无符号的范围是016777215

6. INT[(M)] [UNSIGNED] [ZEROFILL]   M默认为11

普通大小的整数。带符号的范围是-21474836482147483647。无符号的范围是04294967295

7.BIGINT[(M)] [UNSIGNED] [ZEROFILL] M默认为20

大整数。带符号的范围是-92233720368547758089223372036854775807。无符号的范围是018446744073709551615

注意:这里的M代表的并不是存储在数据库中的具体的长度,以前总是会误以为int(3)只能存储3个长度的数字,int(11)就会存储11个长度的数字,这是大错特错的。

tinyint(1) 和 tinyint(4) 中的1和4并不表示存储长度,只有字段指定zerofill是有用,
如tinyint(4),如果实际值是2,如果列指定了zerofill,查询结果就是0002,左边用0来填充。

 

---------------------

char是一种固定长度的类型,varchar则是一种可变长度的类型,它们的区别是:

  char(M)类型的数据列里,每个值都占用M个字节,如果某个长度小于M,MySQL就会在它的右边用空格字符补足.

(在检索操作中那些填补出来的空格字符将被去掉)

在varchar(M)类型的数据列里,每个值只占用刚好够用的字节再加上一个用来记录其长度的字节(即总长度为L+1字节).

 

在MySQL中用来判断是否需要进行对据列类型转换的规则

  1、在一个数据表里,如果每一个数据列的长度都是固定的,那么每一个数据行的长度也将是固定的.

  2、只要数据表里有一个数据列的长度的可变的,那么各数据行的长度都是可变的.

  3、如果某个数据表里的数据行的长度是可变的,那么,为了节约存储空间,MySQL会把这个数据表里的固定长度类型的数据列转换为相应的可变长度类型.

例外:长度小于4个字符的char数据列不会被转换为varchar类型

 

  • 大小: 14.6 KB
分享到:
评论

相关推荐

    MYSQL基础:数据类型.docx

    MySQL 支持的字符串类型包括 CHAR、VARCHAR、TINYTEXT、TEXT、MEDIUMTEXT 和 LONGTEXT 等。 * 字符串类型:包括 CHAR 和 VARCHAR,用于存储字符数据。CHAR 存储固定长度的字符串,VARCHAR 存储可变长度的字符串。 ...

    mysql基础学习必学命令

    3. 字符串类型:char、varchar 4. 日期类型:datetime、timestamp、date 八、mysql 约束 mysql 中有六大约束: 1. 非空约束:not null 2. 主键约束:primary key(AUTO_INCREMENT/自增) 3. 唯一约束:unique 4. ...

    mysql面试题100题

    4. **CHAR,VARCHAR 和 Text 的差异**: - 长度:CHAR 最多 255 字符,VARCHAR 最长 64k,Text 用于存储大文本,有 TEXT、MEDIUMTEXT 和 LONGTEXT 三种。 - 效率:Char > VARCHAR > Text,InnoDB 引擎推荐使用 ...

    PHP100视频教程 8:Mysql 简介和创建新的数据库.rar

     字符型:CHAR,VARCHAR  日期型:DATETIME ,DATE,TIMESTAMP  备注型:TINYTEXT ,TEXT ,LONGTEXT 4、创建一个简单的数据库  (并学习5个数据库操作命令) 创建一个数据库命令:CREATE TABLE 删除一个...

    mysql创建表方法.zip

    • 字符串类型:CHAR、VARCHAR、TEXT、TINYTEXT、MEDIUMTEXT、LONGTEXT。 • 日期和时间类型:DATE、TIME、DATETIME、TIMESTAMP、YEAR。 • 二进制数据类型:BINARY、VARBINARY、BLOB(包括 TINYBLOB、MEDIUMBLOB、...

    MySQL数据类型全掌握

    2. **字符串类型**: Oracle使用`VARCHAR2`类型,而MySQL使用`VARCHAR`。 - Oracle: `DNAME VARCHAR2(14)` - MySQL: `DNAME VARCHAR(14)` 3. **日期类型**: Oracle使用`DATE`类型,MySQL同样支持`DATE`类型。 - ...

    mysql基本数据类型总结

    - FLOAT:占用4字节,用于存储浮点数,有正负号,精度较低,范围是-3.402823466E+38到1.175494351E-38以及0和1.175494351E-38到3.402823466E+38。 - DOUBLE:占用8字节,浮点数类型,精度稍高,范围是1....

    Mysql 文档:关于mysql经典面试题总结(附答案)

    MySQL提供了多种数据类型,包括整数类型(如BIT、BOOL、TINYINT、INT等)、浮点数类型(FLOAT、DOUBLE、DECIMAL)、字符串类型(CHAR、VARCHAR、TEXT等)、日期时间类型(DATE、DATETIME、TIMESTAMP等),以及二进制...

    mysql面试整理1

    4. **varchar和char的区别?** - char是定长字符串,存储速度快但浪费空间,适合对性能要求高的场景。 - varchar是变长字符串,存储空间利用率高,但存取速度相对较慢。 5. **varchar(50)中的50含义?** 表示...

    mysql大全 全面讲解

    1. 整数类型:包括TINYINT、SMALLINT、MEDIUMINT、INT(INTEGER)和BIGINT。它们分别适用于存储不同范围的整数值,例如,TINYINT可存储-128到127之间的整数,而BIGINT则可以存储非常大的整数,范围为-...

    MySql字段类型

    - CHAR和VARCHAR:CHAR是定长字符串,适合存储长度固定的文本,如身份证号;VARCHAR是变长字符串,存储长度可变的文本,如姓名或地址。 - TEXT类型:包括TINYTEXT、TEXT、MEDIUMTEXT和LONGTEXT,用于存储大量文本...

    MySql Oracle SqlServer三大数据库的数据类型列表.pdf

    4. 字符串:CHAR、VARCHAR、NVARCHAR、TEXT 和 NTEXT,其中 NVARCHAR 和 NTEXT 用于存储Unicode数据。 5. 日期和时间:DATE、TIME、DATETIME2、DATETIMEOFFSET,以及旧的 DATETIME 和 SMALLDATETIME 类型。 6. 二...

    25.9 MySQL 数据类型

    - CHAR 和 VARCHAR:CHAR 存储固定长度的字符串,而 VARCHAR 存储可变长度的字符串,VARCHAR 在存储空间上更为高效,但处理时可能会稍慢。 - TEXT 类型:TINYTEXT、TEXT、MEDIUMTEXT 和 LONGTEXT,用于存储大段...

    MySQL数据库入门--读书笔记(word版本)

    4. 字符串和二进制类型:char、varchar(可变长度字符串)、binary、varbinary(可变长度二进制数据)、blob(二进制大数据)、text(大文本数据)、enum、set(字符串对象)、bit(字段类型) 四、创建数据表 create table...

    一些关于mysql的面试题和答案

    4. **Char和Varchar的区别**: - Char是定长,Varchar是变长,Char适合固定长度的文本,Varchar节省空间。 - Char查询性能可能优于Varchar,因为计算偏移量更直接。 - Varchar在存储短字符串时更高效,不会浪费...

    MySQL 数据类型 (列表)

    MySQL 提供了多种字符串类型,包括 CHAR、VARCHAR、TEXT 和 BLOB。 * CHAR:固定长度的字符串,最大长度为 255 字符。 * VARCHAR:可变长度的字符串,最大长度为 255 字符。 * TEXT:可变长度的字符串,没有最大...

    mysql基础知识和mysql优化整理

    2. 数据类型:MySQL支持多种数据类型,如整数类型(TINYINT、INT、BIGINT)、浮点类型(FLOAT、DOUBLE)、字符串类型(CHAR、VARCHAR、TEXT)、日期和时间类型(DATE、TIME、DATETIME、TIMESTAMP)等。 3. SQL语言...

    mysql-实验一.docx

    3. 字符串类型:CHAR、VARCHAR、TEXT、ENUM、SET 4. 日期时间类型:DATE、TIME、DATETIME、TIMESTAMP 5. 二进制类型:BINARY、VARBINARY、BLOB MySQL 的 SQL 语句 MySQL 支持多种 SQL 语句,包括: 1. SELECT ...

    3小时学会Mysql and JDBC数据库

    * 字符串类型:Char、Varchar、Tinytext、Text 等。 * 日期时间类型:Date、Time、Datetime、Timestamp 等。 六、数据库的字段属性 * Unsigned:无符号整数类型。 * Zerofill:0 填充的整数类型。 * Auto ...

    mysql数据库学习资料

    MySQL数据库是世界上最受欢迎的关系型数据库管理系统之一,广泛应用于各种规模的企业和项目中。这份学习资料主要涵盖了MySQL的基础操作,包括数据库的管理、表的操作以及数据的增删改查。 首先,我们讨论一下如何...

Global site tag (gtag.js) - Google Analytics