- 浏览: 1520737 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (532)
- 软件设计师 (7)
- PSP (5)
- NET MD (9)
- Hibernate (8)
- DIY (51)
- Work (43)
- GAME (24)
- 未分类 (44)
- iPod (6)
- MySQL (39)
- JSP (7)
- 日语能力考试 (36)
- 小说 (4)
- 豆包网 (23)
- 家用电脑 (7)
- DB2 (36)
- C/C++ (18)
- baby (9)
- Linux (13)
- thinkpad (23)
- OA (1)
- UML (6)
- oracle (24)
- 系统集成 (27)
- 脑梗塞 (6)
- 车 (8)
- MainFrame (8)
- Windows 7 (13)
- 手机 (8)
- git (12)
- AHK (2)
- COBOL (2)
- Java (9)
最新评论
-
安静听歌:
... ...
UUID做主键,好还是不好?这是个问题。 -
lehehe:
http://www.haoservice.com/docs/ ...
天气预报 -
lehehe:
[url http://www.haoservice.com/ ...
天气预报 -
liubang201010:
监控TUXEDO 的软件推荐用这个,专业,权威.并能提供报警和 ...
(转载)Tuxedo中间件简介 -
tinkame:
Next[j] =-1 当j=0时;=Max{k|0<k ...
KMP字符串模式匹配详解
MYSQL |
今天是: 108年12月16日 星期二【农历 11月19日】 |
MySQL数据库基础:数据类型及列类型 | ||||||||||||||||||||||||||||||||||||||
作者:佚名 来源:本站原创 点击数:144 更新时间:2007年09月29日 | ||||||||||||||||||||||||||||||||||||||
我们要把现实世界中的各种信息转换成计算机能理解的东西,这些转换后的信息就形成了数据。例如,某人的出生日期是“1987年5月23日”,他的身高是170厘米,等等。数据不仅包括数字、字母、文字和其他特殊字符组成的文本形式的数据,而且还包括图形、图像、动画、影像、声音等多媒体数据。但使用最多、最基本的仍然是文本数据。
定义一个列的语法如下:
其中列名由col_name 给出。列名可最多包含64个字符,字符包括字母、数字、下划线及美元符号。列名可以名字中合法的任何符号(包括数字)开头。但列名不能完全由数字组成,因为那样可能使其与数据分不开。MySQL保留诸如SELECT、DELETE和CREATE这样的词,这些词不能用做列名,但是函数名(如POS 和MIN)是可以使用的。 2. MySQL的列(字段)类型
表1:数值列类型 每种数值类型的名称和取值范围如表2所示。
|
||||||||||||||||||||||||||||||||||||||
【发表评论】【告诉好友】【打印此文】【收藏此文】【关闭窗口】
|
表2:数值列类型的取值范围
各种类型值所需的存储量如表3所示。
类型说明 |
存储需求 |
TINYINT[(M)] | 1字节 |
SMALLINT[(M)] | 2字节 |
MEDIUMINT[(M)] | 3字节 |
INT[(M)] | 4字节 |
BIGINT[(M)] | 8字节 |
FLOAT[(M, D)] | 4字节 |
DOUBLE[(M, D)] | 8字节 |
DECIMAL (M, D) | M字节(MySQL < 3.23),M+2字节(MySQL > 3.23 ) |
表3:数值列类型的存储需求
MySQL提供了五种整型: TINYINT、SMALLINT、MEDIUMINT、INT和BIGINT。INT为INTEGER的缩写。这些类型在可表示的取值范围上是不同的。整数列可定义为UNSIGNED从而禁用负值;这使列的取值范围为0以上。各种类型的存储量需求也是不同的。取值范围较大的类型所需的存储量较大。
MySQL 提供三种浮点类型: FLOAT、DOUBLE和DECIMAL。与整型不同,浮点类型不能是UNSIGNED的,其取值范围也与整型不同,这种不同不仅在于这些类型有最大值,而且还有最小非零值。最小值提供了相应类型精度的一种度量,这对于记录科学数据来说是非常重要的(当然,也有负的最大和最小值)。
在选择了某种数值类型时,应该考虑所要表示的值的范围,只需选择能覆盖要取值的范围的最小类型即可。选择较大类型会对空间造成浪费,使表不必要地增大,处理起来没有选择较小类型那样有效。对于整型值,如果数据取值范围较小,如人员年龄或兄弟姐妹数,则TINYINT最合适。MEDIUMINT能够表示数百万的值并且可用于更多类型的值,但存储代价较大。BIGINT在全部整型中取值范围最大,而且需要的存储空间是表示范围次大的整型INT类型的两倍,因此只在确实需要时才用。对于浮点值,DOUBLE占用FLOAT的两倍空间。除非特别需要高精度或范围极大的值,一般应使用只用一半存储代价的FLOAT型来表示数据。
在定义整型列时,可以指定可选的显示尺寸M。如果这样,M应该是一个1 到255的整数。它表示用来显示列中值的字符数。例如,MEDIUMINT(4)指定了一个具有4个字符显示宽度的MEDIUMINT列。如果定义了一个没有明确宽度的整数列,将会自动分配给它一个缺省的宽度。缺省值为每种类型的“最长”值的长度。如果某个特定值的可打印表示需要不止M个字符,则显示完全的值;不会将值截断以适合M个字符。
对每种浮点类型,可指定一个最大的显示尺寸M 和小数位数D。M 的值应该取1 到255。D的值可为0 到3 0,但是不应大于M - 2(如果熟悉ODBC 术语,就会知道M 和D 对应于ODBC 概念的“精度”和“小数点位数”)。M和D对FLOAT和DOUBLE 都是可选的,但对于DECIMAL是必须的。在选项M 和D时,如果省略了它们,则使用缺省值。
2.2字符串列类型
MySQL提供了几种存放字符数据的串类型,其类型如下:
类型名 |
说明 |
CHAR | 定长字符串 |
VARCHAR | 可变长字符串 |
TINYBLOB | 非常小的BLOB(二进制大对象) |
BLOB | 小BLOB |
MEDIUMBLOB | 中等的BLOB |
LONGBLOB | 大BLOB |
TINYTEXT | 非常小的文本串 |
TEXT | 小文本串 |
MEDIUMTEXT | 中等文本串 |
LONGTEXT | 大文本串 |
ENUM | 枚举;列可赋予某个枚举成员 |
SET | 集合;列可赋予多个集合成员 |
表4:字符串列类型
下表给出了MySQL 定义串值列的类型,以及每种类型的最大尺寸和存储需求。对于可变长的列类型,各行的值所占的存储量是不同的,这取决于实际存放在列中的值的长度。这个长度在表中用L 表示。
类型说明 |
最大尺寸 |
存储需求 |
CHAR( M) | M 字节 | M 字节 |
VARCHAR(M) | M 字节 | L + 1字节 |
TINYBLOB, TINYTEXT | 28- 1字节 | L + 1字节 |
BLOB, TEXT | 216- 1 字节 | L + 2字节 |
MEDIUMBLOB, MEDIUMTEXT | 224- 1字节 | L + 3字节 |
LONGBLOB, LONGTEXT | 232- 1字节 | L + 4字节 |
ENUM(“value1”, “value2”, ...) | 65535 个成员 | 1 或2字节 |
SET (“value1”, “value2”, ...) | 64个成员 | 1、2、3、4 或8字节 |
表5:串列类型最大尺寸及存储需求
L 以外所需的额外字节为存放该值的长度所需的字节数。MySQL 通过存储值的内容及其长度来处理可变长度的值。这些额外的字节是无符号整数。请注意,可变长类型的最大长度、此类型所需的额外字节数以及占用相同字节数的无符号整数之间的对应关系。例如,MEDIUMBLOB 值可能最多224 - 1字节长并需要3 个字节记录其结果。3 个字节的整数类型MEDIUMINT 的最大无符号值为224 - 1。这并非偶然。
2.3日期时间列类型
MySQL 提供了几种时间值的列类型,它们分别是: DATE、DATETIME、TIME、TIMESTAMP和YEAR。下表给出了MySQL 为定义存储日期和时间值所提供的这些类型,并给出了每种类型的合法取值范围。
类型名 |
说明 |
DATE | “YYYY-MM-DD”格式表示的日期值 |
TIME | “hh:mm:ss”格式表示的时间值 |
DATETIME | “YYYY-MM-DD hh:mm:ss”格式 |
TIMESTAMP | “YYYYMMDDhhmmss”格式表示的时间戳值 |
YEAR | “YYYY”格式的年份值 |
表6:日期时间列类型
类型名 |
取值范围 |
存储需求 |
DATE | “1000-01-01”到“9999-12-31” | 3字节 |
TIME | “-838:59:59”到“838:59:59” | 3字节 |
DATETIME | “1000-01-01 00:00:00” 到“9999-12-31 23:59:59” | 8字节 |
TIMESTAMP | 19700101000000 到2037 年的某个时刻 | 4字节 |
YEAR | 1901 到2155 | 1字节 |
表7: 日前时间列类型的取值范围和存储需求
下面举个例子:
CREATE TABLE student ( Name varchar(20) NOT NULL, Chinese TINYINT(3), Maths TINYINT(3), English TINYINT(3), Birthday DATE ) |
这个例子创建一个student表,这个表中有name字段,字符类型列,不允许NULL(空值)。有Chinese、Maths和English三个整数类型列。还有个Birthday日期类型列。
发表评论
-
MySQL配置文件my.cnf 例子最详细翻译
2009-07-20 11:58 1711http://www.blogjava.net/hunte ... -
MySQL :: @@Rowcount in MySQL
2009-03-02 15:39 2148@@Rowcount in MySQL? Posted ... -
MYSQL中删除重复记录的方法
2009-02-26 12:23 0MYSQL中删除重复记录的方法 2008 ... -
使用 MYSQLBINLOG 来恢复数据。
2009-02-26 12:21 0使用 MYSQLBINLOG 来恢复数据。 20 ... -
13.2.3. InnoDB Startup Options and System Variable
2009-02-20 13:37 1236http://dev.my ... -
mysql innodb 配置详解
2009-02-20 11:01 3541加为好友发送私信在线聊天 -
20.3.9 关于死锁 深入浅出MySQL——数据库开发、优化与管理维护
2009-02-20 10:50 3123深入浅出MySQL——数据库开发、优化与管理维护 回 ... -
mysql的临时表不支持自连接
2009-02-18 13:32 2312TEMPORARY TABLE ProblemsThe fol ... -
windows 下安装两个MySQL收藏
2009-02-03 16:28 2353由于两个MySQL进程需要不同的配置文件,以下所有操作均是在W ... -
1.4.1. What's New in MySQL 5.1
2009-02-03 16:25 11421.4.1. What's New in My ... -
查看mysql版本的四种方法
2009-02-02 10:57 9361:在终端下:mysql -V。 以下 ... -
Server SQL Modes
2009-02-01 11:06 13925.1.7. Server SQL Modes ... -
MySQL中的各种JOIN(CROSS JOIN, INNER JOIN, LEFT [OUTER]
2009-01-13 14:50 6179MySQL中的各种JOIN(CROSS JOIN, I ... -
[转]SQL Server 2000执行计划成本(5/5)
2009-01-09 15:26 1163[转]SQL Server 2000执行计划成本(5/5) ... -
SQL Server 2000执行计划成本(4/5)
2009-01-09 15:25 1070[转]SQL Server 2000执行计划成本(4/5) ... -
[转]SQL Server 2000执行计划成本(3/5)
2009-01-09 15:23 1498[转]SQL Server 2000执行计划成本(3/5) ... -
SQL Server 2000执行计划成本(1/5)
2009-01-09 14:52 1611[转]SQL Server 2000执行计划成本(1/5) ... -
浅谈MySQL数据库优化
2009-01-09 14:46 1299浅谈MySQL数据库优化 [收藏此页] [打印] ... -
sql server支持create table as ...建表么
2009-01-09 11:52 8970sql server支持create table as .. ... -
SQL Server如何识别自动创建的索引
2009-01-08 15:57 1268SQL Server如何识别自动创建的索引 http://w ...
相关推荐
MySQL数据类型:数值型、decimal浮点型、字符串、枚举、时间 SQL-命令-数据库操作 SQL-命令-表结构的创建 SQL-命令-表结构的修改 SQL-命令-表数据操作-查 SQL-命令-表数据操作-插 SQL-命令-表数据操作-改 ...
MySql数据库的列类型(字段类型).MySql数据库的列类型(字段类型).MySql数据库的列类型(字段类型).MySql数据库的列类型(字段类型).
MySQL是一种常用的关系型数据库管理系统,广泛应用于各种应用程序和网站开发中。在MySQL中,数据类型是定义和存储数据的重要组成部分。本文将详细介绍MySQL支持的各种数据类型,以及它们的特点和用途
理解 —— MySQL支持的数据类型; 表的字段类型 MySQL支持的类型 MySQL支持多种类型,大致可以分为三类: 数值类型 日期和时间类型 字符串(字符)类型。 数值类型 表的字段类型 MySQL支持所有标准SQL数值数据类型。 ...
数据库数据对比工具:可以针对两个数据进行表结构和数据的对比。1、结构对比:如开发库和正式库之间的结构和数据同步,此工具可以告诉您哪个表结构有字段的增加减少,或者字段类型的改变,并生成sql进行结构的同步。...
(1)表达式:可以是一个常量、变量或一个表达式,也可以是空值NULL,其值的数据类型要与列的数据类型一致。例如,列的数据类型为int,插入的数据是‘aaa’就会出错。当数据为字符型时要用单引号括起。 (2)DEFAULT...
mysql数据库实验之数据类型识别.docx
MYSQL数据库基本数据类型及建表和约束
mysql 基础知识 MySQL安装 基本数据类型
数据库基础知识 数据模型的应用层次 课程目标 理解 —— 数据模型的基本概念; 理解 —— 三种数据模型的类型。 数据模型的应用层次 数据模型 Data Model,使对现实世界数据特征的抽象,是数据系统中用以提供信息...
恢复是与备份相对应的系统维护和管理操作,系统进行恢复操作时,先执行一些系统安全性的检查,包括检查所要恢复的数据库是否存在、数据库是否变化及数据库文件是否兼容等,然后根据所采用的数据库备份类型采取相应的...
进入mysql数据库控制台, 如mysql -u root -p mysql>use 数据库 然后使用source命令,后面参数为脚本文件(如这里用到的.sql) mysql>source wcnc_db.sql B:使用mysqldump命令 mysqldump -u username -p dbname C:...
MySQL数据库:逻辑模型的结构分类.pptx
教程名称:MySQL数据库一头扎进MySQL【20集】教程目录:第一章 Mysql简介及安装和配置第一节:Mysql简介第二节:Mysql安装及配置第二章 Mysql数据类型简介第一节:整数类型、浮点数类型和定点数类型第二节:日期与...
完整版 MySQL8.0从入门到精通 MySQL数据库教程 第05章 数据类型和运算符(共17页).ppt 完整版 MySQL8.0从入门到精通 MySQL数据库教程 第06章 MySQL函数(共76页).ppt 完整版 MySQL8.0从入门到精通 MySQL数据库教程...
Mysql数据库设计 数据库设计 MYSQL数据库设计 串转义序列 \0 NUL(ASCLL 0) \' \" \b 退格 \n 新⾏ \r 回车 \t 制表符 \\ 反斜杠 数值列类型 TINYINT 1字节 ⾮常⼩的整数 有符号值:-128⾄127 ⽆符号值:0⾄255 ...
深入浅出mysql数据库。内容如下: 1、什么是数据库 ...5、mysql中的数据类型 6、mysql数据引擎 7、mysql数据库操作:增删改查、多表联查、聚合函数等用法详解 8、mysql常用函数 9、图形化工具管理数据库
《MySQL数据库原理及应用》的教案,包含所有章节。。。
MySQL数据类型
涵盖了MySQL数据库的基本概念、体系结构、数据类型、SQL语言基础、索引优化、存储过程与函数、触发器、视图、事务管理、安全性以及备份与恢复等重要知识点。它旨在为学习者提供一个全面而精炼的MySQL学习指南。适用...