文档介绍:Mysql 应用手册 1 前言 开发和维护功能,介绍以下专题: ?常用数据类型?函数?过程? ORACLE 到 MYSQL 模型迁移?常见错误?常用工具?应用设计规则 数据库管理功能,介绍以下专题?安装部署?常用管理工具?语法优化工具 附录? ORACLE 和 MYSQL 编写常用 SQL 及函数差异 2 开发维护篇 SQL 语法 MYSQL 基本参照标准 SQL ,而 ORACLE 除了 SQL 语法,还有 PL/SQL 标准。两者在一些常用 SQL 语句和函数存在一些较少的差异,详见附录一《 ORACLE 和 MYSQL 常用 SQL 及函数差异》,在此不再做介绍。 常用数据类型常用数据类型分数值(含整数和浮点数),字符串(含大数据),时间。 数值类型存储( 字节) 范围(有符号) 范围(无符号) 用途 TINYINT 1 -128 ~ 127 0~ 255 小整数值 SMALLINT 2 -32 768 ~ 32 767 0~ 65 535 大整数值 MEDIUMINT 3 -8 388 608 ~8 388 607 0~ 16 777 215 大整数值 INT 或 INTEGER 4 -2 147 483 648 ~2 147 483 647 0~4 294 967 295 大整数值 BIGINT 8 -9 233 372 036 854 775 808 ~9 223 372 036 854 775 807 0~ 18 446 744 073 709 551 615 极大整数值 FLOAT 4 ( - 823 466 E+38 , 494 351 E- 38) ~0~ ( 494 351 E- 38, 823 466 351 E+38) 0~ ( 494 351 E-38 , 823 466 E+38) 单精度浮点数值 DOUBLE 8 ( 693 134 862 315 7 E+308 , 073 858 507 201 4 E- 308) ~0~ ( 073 858 507 201 4 E-308 , 693 134 862 315 7 E+308) 0~ ( 073 858 507 201 4 E-308 , 693 134 862 315 7 E+308) 双精度浮点数值 DECIMAL 对 DECIMAL(M,D) , 如果 M>D ,为 M+2 否则为 D+2 依赖于 M和D 的值依赖于 M和D 的值小数值说明: 定义了整数值的显示宽度(如: INT(4) )。表示可选显示宽度规定用于显示宽度小于指定的列宽度的值时从左侧填满宽度,它不限制列的保存范围,也不限制列中超过指定列宽度的值的显示。浮点值定义如 float(7,4) ,表示有 3位整数,最多保存 4位小数,超过 4位小数会被四舍五入,而超过 3位整数位的值会报错。建议浮点数统一使用 DECIMAL ,对精度计算更精准,且以二进制方式存储。 DATE 类型存储( 字节) 范围格式用途 DATE 3 1000-01-01 ~ 9999-12-31 YYYY-MM-DD 日期值 TIME 3 '-838:59:59' ~ '838:59:59' HH:MM:SS 时间值或持续时间 YEAR 1 1901 ~ 2155 YYYY 年份值 DATETIME 8 1000-01-01 00:00:00 ~ 9999-12- 31 23:59:59 YYYY-MM-DD HH:MM:SS 混合日期和时间值 TIMESTAMP 8 UTC 1970-01-01 00:00:00 ~ 203 8-01-19 03: 14: 07 YYYYMMDD HHMMSS 混合日期和时间值,时间戳说明: TIME 不仅可以用于表示一天的时间(必须小于 24小时),还可能为某个事件过去的时间或两个事件之间的时间间隔(可以大于 24小时,或者甚至为负)。 TIMESTAMP 类型支持默认自动更新时间戳: ?只指定缺省值: timestamp default current_timestamp ?定义缺省值并随记录变更而更新 timestamp default current_timestamp on update current_ttimestamp 字符串类型存储(字节) 用途 CHAR 1~ 255 定长字符串 VARCHAR 1~65535 变长字符串 TINYBLOB 1~ 255 不超过 255 个字符的二进制字符串 TINYTEXT 1~ 255 短文本字符串 BLO