`
zengshaotao
  • 浏览: 787086 次
  • 性别: 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. **过程详解** - **表单设计...

    数据库迁移及区别比较(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工具获取表结构并生成建表...

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

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

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

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

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

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

    mysql5.1中文手册

    在5.1版本中,用户可以学习如何使用CREATE TABLE语句来设计数据库表结构,包括选择合适的字段类型(如INT、VARCHAR、DATE等),设置主键和外键,以及创建索引以优化查询性能。 四、查询操作 手册将详细介绍SELECT...

    建表工具-快速将数据库设计文档转化为SQL语句

    描述中的“按照给出的模板格式”意味着该工具提供了一种标准化的方法来定义数据库结构,用户只需遵循特定的模板,填写相应的字段名、数据类型和约束条件即可。这简化了数据库设计过程,尤其对不熟悉SQL语法的用户来...

    商场管理系统源代码(带建表sql)

    7. **建表SQL**:提供的建表SQL语句是数据库设计的重要组成部分,它们定义了系统中各个数据表的结构,包括字段名、数据类型、主键、外键等,是数据库正确运行的基础。 8. **系统集成**:将上述功能模块整合到一个...

    mysql例题+sql+实例

    `CREATE TABLE`语句用于定义表格结构,包括字段名、数据类型、主键、外键等属性。例如,创建一个学生表,可以这样写: ```sql CREATE TABLE Students ( ID INT PRIMARY KEY, Name VARCHAR(50), Age INT, Major ...

    MySQL 命令大全

    本文主要介绍了MySQL的一些基本命令,适合初学者学习和参考。 首先,我们来看如何启动和停止MySQL服务。通过运行`net stop mysql`命令可以停止MySQL服务,而`net start mysql`则用于启动服务。这是在Windows系统中...

    ubuntu10下qt4-designer+mysql酒店管理系统

    酒店管理系统建表源码.sql文件是创建数据库和表的SQL脚本,其中包含了数据库的设计结构,如表的字段、数据类型、主键设置等。这些SQL语句是系统能够正常运行的基础,它们定义了酒店管理所需的所有信息,如客户表...

    MySQL中建表时可空(NULL)和非空(NOT NULL)的用法详解

    对于MySQL的一些个规范,某些公司建表规范中有一项要求是所有字段非空,意味着没有值的时候存储一个默认值。其实所有字段非空这么说应该是绝对了,应该说是尽可能非空,某些情况下不可能给出一个默认值。 那么这条...

Global site tag (gtag.js) - Google Analytics