`
zengshaotao
  • 浏览: 806965 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

MySQL建表字段类型参考

 
阅读更多
  1、数值类型

(1)INT[ (M) ]
 说明:标准大小的整数
 允许的属性:不选(可以取正负数),UNSIGNED(无符号,取值范围增大一倍),UNSIGED ZEROFILL(在数值前自动填0),auto_increment(自动递增)
 取值范围:-2147483648 到2147483647(-231 到231-1),或者如果为UNSIGNED,则0 到4294967295(0 到232-1)
 缺省值:如果列为NULL,则为NULL;如果列为NOT FULL,则为0
 存储需求:4 字节
 同义词:INTEGER[ (M) ]

(2)FLOAT[(M,D)](M表示显示宽度,在D表示小数位数)
 说明:小浮点数;单精度(精度小于DOUBLE)
 允许的属性:ZEROFILL
 取值范围:最小非零值为±1.75494351E-38;最大非零值为±3.402823466E+38
 缺省值:如果列可为NULL,则为NULL;如果列为NOTNULL,则为0
 存储需求:4字节
 同义词:MySQL3.23版以前,FLOAT(4)为具有缺省M和D值的FLOAT的同义词。
 注释:在MySQL3.23以后,FLOAT(4)为真浮点类型(值存储为硬件所允许的完整精度,而不四舍五入为缺省的小数位数)。

(3)DOUBLE[(M,D)]
 说明:大浮点数;双精度(比FLOAT更精确)
 允许的属性:ZEROFILL
 取值范围:最小非零值为±2.2250738585072014E-308;最大非零值为±1。79769313-48623157E+308
 缺省值:如果列可为NULL,则为NULL;如果列为NOTNULL,则为0
 存储需求:8字节
 同义词:DOUBLEPRECISION[(M,D)]和REAL[(M,D)]为DOUBLE[(M,D)]的同义词。MySQL3.23版以前,FLOAT(8)为具有缺省M和D值的FLOAT的同义词。
 注释:在MySQL3.23以后,FLOAT(8)为真浮点类型(值存储为硬件所允许的完整精度,而不四舍五入为缺省的小数位数)。

2、串类型
  MySQL的串类型常用来存储文本,它不但是通用的而且还能存储任何数据。可用串类型来存储最大长度可变的值,而且可以选择在处理值时是否区分大小写。


(1)CHAR(M)
 说明:0到M字节长的定长字符串。在MySQL3.23版以前,M应该为一个1到255之间的整数。而MySQL3.23版以后,M应该为一个0到255之间的整数。短于M个字符的串存储进右边补空格。长于M个字符的串存储时剪断为长度是M的串。在检索值时,去掉后跟的空格。
 允许的属性:BINARY
 允许的长度:0到M字节
 缺省值:如果列可为NULL,则为NULL;如果列为NOTNULL,则为“”
 存储需求:M字节
 比较:不区分大小写(如果具有BINARY属性,则区分大小写)


(2)VARCHAR(M)
 说明:0到M字节长的可变长字符串。M应该为1到255之间的一个整数,或者自MySQL3.23后为0到255之间的一个整数。存储时后跟的空格被去掉。存储时,大于M个字符的串剪断为M个字符。
 允许的属性:BINARY
 允许的长度:0到M字节
 缺省值:如果列可为NULL,则为NULL;如果列为NOTNULL,则为“”
 存储需求:值的长度,加上1字节用来记录长度
 比较:不区分大小写(如果具有BINARY属性,则区分大小写)


(3)TEXT
 说明:常规大小的TEXT值
 允许的属性:除通用属性外无其他属性
 允许的长度:0到65535(0到216-1)字节
 缺省值:如果列可为NULL,则为NULL;如果列为NOTNULL,则为“”
 存储需求:值的长度加上用于记录长度的2个字节
 比较:不区分大小写


(4)ENUM(“value1”,“value2”,...)
 说明:枚举,列值可赋予值列表中的某个成员
 允许的属性:除通用属性外无其他属性
 缺省值:如果列可为NULL,则为NULL;如果列为NOTNULL,则为第一个枚举值
 存储需求:对1到255个成员的枚举1个字节,对255到65535个成员的枚举2个字节
 比较:不区分大小写(MySQL3.22.1版以前区分大小写)


(5)SET(“value1”,“value2”,...)
 说明:集合,列值可赋予值列表中的零个或多个成员
 允许的属性:除通用属性外无其他属性
 缺省值:如果列可为NULL,则为NULL;如果列为NOTNULL,则为“”(空集)
 存储需求:1字节(1到8个成员的集合),2字节(9到16个成员的集合),3字节(17到24个成员的集合),4字节(25到32个成员的集合)或8字节(33到64个成员的集合)
 比较:不区分大小写(MySQL3.22.1版以前区分大小写)


3、日期和时间类型
  MySQL提供以各种形式表示时间数据的类型。这些数据有日期和时间类型。有一种特殊的时间类型,它在记录更改时自动更新。还有一种用于存储年份的类型,在不需要完全的日期时使用。


(1)DATE
 说明:“YYYY-MM-DD”格式的日期
 允许的属性:除通用属性外无其他属性
 取值范围:“1000-01-01”到“9999-12-31”
 零值:“0000-00-00”
 缺省值:如果列可为NULL,则为NULL;如果列为NOTNULL,则为“0000-00-00”
 存储需求:3字节(MySQL3.22版以前为4字节)


(2)TIME
 说明:“HH:MM:SS”格式的时间(负值为“-HH:MM:SS”);表示占用的时间,但也可
 以作为日常时间
 允许的属性:除通用属性外无其他属性
 取值范围:“-838:59:59”到“838:59:59”
 零值:“00:00:00”
 缺省值:如果列可为NULL,则为NULL;如果列为NOTNULL,则为“00:00:00”
 存储需求:3字节
 注释:虽然在非法值插入TIME列时,“00:00:00”用作零值,但它也作为一个合法的值出现在正常的取值范围内


(3)YEAR
 说明:YYYY格式表示的年份
 允许的属性:除通用属性外无其他属性
 取值范围:1900到2155
 零值:0000
 缺省值:如果列可为NULL,则为NULL;如果列为NOTNULL,则为0000
 存储需求:1字节


(4)DATETIME
 说明:以“YYYY-MM-DDhh:mm:ss”格式表示的日期和时间(两个部分都需要)
 允许的属性:除通用属性外无其他属性
 取值范围:“1000-01-0100:00:00”到“9999-12-3123:59:59”
 零值:“0000-00-0000:00:00”
 缺省值:如果列可为NULL,则为NULL;如果列为NOTNULL,则为“0000-00-00 00:00:00”
 存储需求:8字节

分享到:
评论

相关推荐

    python mysql自增字段AUTO_INCREMENT值的修改方式

    本文对如何在Python脚本中操作MySQL数据库以修改AUTO_INCREMENT值给出了全面的介绍,包括了连接数据库、查询当前自增值、修改自增值的方法,以及在Django框架中可能会遇到的一些相关问题的解决办法,是为数据库...

    使用kettle转换oracle与 mysql的表数据

    - 在数据流中,你可以添加各种转换步骤,例如"过滤行"、"字段重命名"、"类型转换"等,对提取的数据进行清洗和处理,以适应MySQL的格式和需求。 4. **目标数据源设置**: - 创建一个"MySQL输出"步骤,配置MySQL...

    mysql .pdf建表的一些规则 和注意事项

    ### MySQL建表规则与注意事项详解 #### 一、命名规则 **1.1 库名与应用名称一致性** - **推荐做法**:建议数据库的名字与应用程序的名称保持一致,这样可以便于开发人员理解和记忆,同时也方便后期维护。 **1.2 ...

    项目建表语句

    根据提供的文件信息,我们可以了解到这是一份用于创建一个简单论坛系统的SQL脚本。这份脚本主要涉及到了数据库的创建、表的设计以及字段属性的定义...对于学习MySQL数据库设计或进行实际项目的开发都有一定的参考价值。

    利用PHP MySQL实现通用信息系统的建库建表功能.pdf

    用户还需输入字段个数和每个字段的详细信息,如字段名、类型、宽度和属性。设计第二个表单让用户填写这些信息,再通过PHP处理这些数据,生成对应的SQL语句,执行创建数据表的操作。 4. **过程详解** - **表单设计...

    数据库课程设计-基于mysql的农业资源管理系统的建表语句.sql

    建表语句是实现这一目标的关键SQL代码段,它定义了表格的结构,包括表名、字段以及字段的数据类型等。 首先,一个基本的农业资源管理系统可能需要包括如下几个关键的表格: 1. 农田信息表:存储农田的基本信息,如...

    数据库课程设计-基于mysql的学生在校信息管理系统的建表语句.sql

    在当今信息化教育时代,学校日常管理事务越来越多地依赖于计算机管理系统,其中学生在校信息管理系统扮演着...本文档提供的建表语句,对于任何需要构建学生在校信息管理系统的开发者来说,都是一个宝贵的起点和参考。

    数据库课程设计-基于mysql的酒店预订系统的建表语句.sql

    对于建表语句的编写,还需要考虑到字段的数据类型,如INT用于整数、VARCHAR用于可变长度的字符串、DATE和DATETIME用于日期和时间、ENUM或SET用于有限集合的字符串等。合理选择数据类型能够有效利用存储空间并提升...

    数据库课程设计-基于mysql的考试安全平台开发的建表语句.sql

    基于MySQL的考试安全平台开发中,建表语句是整个数据库设计的基础部分。数据库的结构设计直接关系到数据存储的效率与安全,对于考试平台而言,设计的合理与否直接影响到题库管理、考生信息保护、成绩核算等多个环节...

    数据库课程设计-基于mysql的病案归档管理系统的建表语句.sql

    设计者需要根据实际需求合理设计表结构和字段类型,例如整型(INT)、字符串(VARCHAR)、日期时间型(DATETIME)等。 通过以上介绍,我们了解了构建一个病案归档管理系统所涉及的建表语句的关键知识点。这不仅为...

    数据库迁移及区别比较(Oracle,Sql Server,MySql).pdf

    - 提供了MySQL的建表SQL示例、Java到SQL数据类型映射表,以及Oracle与MySQL、SQL Server数据类型的转化对照表,作为迁移过程中的参考。 总的来说,数据库迁移是一项复杂的工作,涉及到多个层面的调整和优化。在...

    MySQL命令大全

    命令:create table <表名> ( <字段名> <类型> [,..<字段名n> <类型n>]); mysql> create table MyClass( > id int(4) not null primary key auto_increment, > name char(20) not null, > sex int(4) not null ...

    oracl转mysql注意事项

    - **问题描述**:Oracle和MySQL之间存在数据类型差异,例如Oracle中的`VARCHAR2`与MySQL中的`VARCHAR`等,在迁移过程中可能导致字段类型或默认值错误。 - **解决方案**:使用GetSqlFromPDM工具获取表结构并生成建表...

    数据库课程设计-基于的电影影评网的建表语句.sql

    具体建表语句的实际编写会根据实际需求有所不同,但上述提到的表结构和设计原则为通用原则,无论在何种数据库管理系统(如MySQL、Oracle、SQL Server等)中都适用。 此外,建表语句的创建还应该伴随着数据的插入、...

    mysql常用数据库命令[参考].pdf

    MySQL是当前最流行的开源关系数据库管理系统之一,本文详细介绍了MySQL常用数据库命令,包括连接MySQL、修改密码、增加新用户、操作技巧、显示命令、建库、建表、插入数据等方面的知识点。 一、连接MYSQL 连接...

    数据库课程设计-基于的党员管理系统的建表语句.sql

    建表时,需要对字段的数据类型和属性(如主键、外键、是否允许为空等)进行合理设置。 3. 表结构设计:根据党员管理系统的业务需求,可以设计若干张表来存储不同类型的数据。典型的表可能包括:党员基本信息表、...

    建立DB数据工具,模拟建表导入DB

    数据库设计是建表的关键步骤,这包括确定表的结构,即字段(列)的定义,每个字段的数据类型(如整型、字符串、日期时间等),以及字段间的关联。此外,还需要考虑主键、外键、索引等数据库约束,以确保数据的一致性...

    MySql学习笔记整合,看完之后,原来sql这么简单

    - 修改字段位置:`alter table 表名 modify <列名> <类型> after <参考列名>;` - 修改字段名和类型:`alter table 表名 change COLUMN <旧列名> <新列名> <新列类型>;` - 删除字段:`alter table 表名 drop <列名...

Global site tag (gtag.js) - Google Analytics