第 5 节 MySQL数据类型

1. 环境登录

无需密码自动登录,系统用户名shiyanlou

2. 环境介绍

本实验环境采用带桌面的Ubuntu Linux环境,实验中会用到桌面上的程序:

  1. 命令行终端: Linux命令行终端,打开后会进入Bash环境,可以使用Linux命令

  2. Firefox及Opera:浏览器,可以用在需要前端界面的课程里,只需要打开环境里写的HTML/JS页面即可

  3. gvim:非常好用的Vim编辑器,最简单的用法可以参考课程Vim编辑器

  4. gedit及Brackets:如果您对gvim的使用不熟悉,可以用这两个作为代码编辑器,其中Brackets非常适用于前端代码开发

3. 环境使用

使用GVim编辑器输入实验所需的代码及文件,使用Xfce终端(XfceTerminal)运行所需命令进行操作。

实验报告可以在个人主页中查看,其中含有每次实验的截图及笔记,以及每次实验的有效学习时间(指的是在实验桌面内操作的时间,如果没有操作,系统会记录为发呆时间)。这些都是您学习的真实性证明。

4. 数据类型

4.1 数值类型

下面为数值类型的概述。详细信息参见数值类型。列存储需求参见列类型存储需求

M指的是整型数据的最大显示宽度,且最大有效显示宽度是255。显示宽度与存储大小或类型包含的值的范围无关,相关描述见数值类型

如果为一个数值列指定ZEROFILL,MySQL将自动为该列添加UNSIGNED属性,其中数值型数据允许为UNSIGNED属性和SIGNED属性,然而由于这种数据类型默认的属性是SIGNED,因此没有必要额外声明SIGNED属性;SERIALBIGINT UNSIGNED NOT NULL AUTO_INCREMENT UNIQUE的一个别名;在给整数类型的列定义时,SERIAL DEFAULT VALUENOT NULL AUTO_INCREMENT UNIQUE的一个别名。

注意:在进行两个整数的减法运算时,如果其中一个整数的属性为UNSIGNED,那么减法的结果也是无符号的,除非在是开启SQL模式为NOUNSIGNEDSUBTRACTION

4.2 日期和时间类型

本节综合讨论了时间数据类型。详细信息,参见日期和时间类型。数据存储需求参见列类型存储需求

4.3 字符串类型

本节综合讨论了字符串数据类型。详细信息参见String类型

在某些情况中,MySQL可以将一个字符串数据更改为不同于CREATE TABLEALTER TABLE语句中所给出的类型(参见沉寂的列规格变更)。

MySQL 5.1字符串数据类型包括在MySQL 4.1之前的版本中没有的特性部分: