mysql笔记-- mysql命令札记7 数据类型
来源:互联网 发布:软件关键技术怎么写 编辑:程序博客网 时间:2024/06/06 08:53
Mysql 的数据类型
在使用数据库中,需要尽可能的减小数据的类型,因此合理的选用数据定义的类型是很重要的,数据的类型就决定了数据库的大小;
NOTE: 在mysql 中,字段名称是部分大小写的。但是数据库名称和数据表名称是区分大小写的;
7.1 数字 类型
数字类型分为 整型和浮点型两大类,此处不再赘述;
NOTE: 所有的数字类型允许两个选项 UNSIGNED & ZEROFILL;
UNSIGNED 表示数据不为负数;
ZEROFILL 表述数据为O;并且自动变为UNSIGNED;
7.1.1 数字类型列表
7.1.2实例
mysql> CREATE TABLE test-> (tiny_int TINYINT(1),
-> bool_int BOOL,
-> bit_int BIT,
-> small_int SMALLINT(1),
-> medium_int MEDIUMINT(1),
-> int_int INT(1),
-> big_int BIGINT(1),
-> integer_int INTEGER);
Query OK, 0 rows affected (0.07 sec)
mysql> desc test;
+-------------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------------+--------------+------+-----+---------+-------+
| tiny_int | tinyint(1) | YES | | NULL | |
| bool_int | tinyint(1) | YES | | NULL | |
| bit_int | bit(1) | YES | | NULL | |
| small_int | smallint(1) | YES | | NULL | |
| medium_int | mediumint(1) | YES | | NULL | |
| int_int | int(1) | YES | | NULL | |
| big_int | bigint(1) | YES | | NULL | |
| integer_int | int(11) | YES | | NULL | |
+-------------+--------------+------+-----+---------+-------+
8 rows in set (0.09 sec)
mysql> insert into test (tiny_int, bool_int, bit_int, small_int, medium_int, int_int, big_int, integer_int) values (100000000,10000000,1000,1000,1000,1000,1000,1000), (-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000)\c
mysql> insert into test (tiny_int, bool_int, bit_int, small_int, medium_int,
-> int_int, big_int, integer_int)
-> values
-> (9999999999999999999999999999,9999999999999999999999999999,9999999999999999999999999999,9999999999999999999999999999,
-> 9999999999999999999999999999,9999999999999999999999999999,9999999999999999999999999999,9999999999999999999999999999),
-> (-9999999999999999999999999999,-9999999999999999999999999999,-9999999999999999999999999999,-9999999999999999999999999999,
-> -9999999999999999999999999999,-9999999999999999999999999999,-9999999999999999999999999999,-9999999999999999999999999999);
Query OK, 2 rows affected, 29 warnings (0.07 sec)
Records: 2 Duplicates: 0 Warnings: 29
mysql> select * from test;
+----------+----------+---------+-----------+------------+-------------+----------------------+-------------+-------------+
| tiny_int | bool_int | bit_int | small_int | medium_int | int_int | big_int | integer_int |
+----------+----------+---------+-----------+------------+-------------+----------------------+-------------+-------------+
| 127 | 127 | | 32767 | 8388607 | 2147483647 | 9223372036854775807 | 2147483647 |
| -128 | -128 | | -32768 | -8388608 | -2147483648 | -9223372036854775808 | -2147483648 |
+----------+----------+---------+-----------+------------+-------------+----------------------+-------------+-------------+
4 rows in set (0.00 sec)
7.1.3 数字类型注意事项
NOTE: 数据选型时,应注意以下几点:
1.选择最小的可用类型;
2.能用整数型尽可能的化为整数型存储;
3.对于高精度的,必须注意在存储过程中因类型定义而丢失精度,如有有必要,可定义为整型,在程序中进行换算;
4.对于数据的类型,M值可定义的比类型定义值大时,系统将不会超出类型定义的值;
5.宽度小于指定列宽值,可选择宽度左边补齐显示;即加上ZEROFILL标识,但DESCIMAL除外;
7.2 字符串类型
7.2.1 字符串类型列表
7.2.2 字符串数据类型选用注意事项
NOTE:
1.不要在字符串列中存储数字;
2.在CHAR & VARCHAR之间,我们应多选用CHAR 来节省空间,和提高效率,但要注意将要存储对象的长度;
3.如果进行已知数据选择时,应使用ENUM;枚举;
4.一列中可对应多项数据时,应使用SET;集合;
5.对于图像和二进制对象,不应存储在数据库中。应存储在文件系统中;
6. 对于CHAR 和VARCHAR 类型的数据,在搜索的时候是不区分大小写的,如果要区分,则应在定义数据表时使用BINARY 关键字;
7. ENUM 在添加数据列时,如果添加了无效值,则会插入一个(“”)空串;在ENUM 类型中,(“”)空串的索引为0,其他的索引依次累加;
在插入数据时,也可直接插入索引值来进行选择插入的数据内容,枚举的索引是根据定义时定义的顺序进行定义索引值的。如果选择的索引值超出了ENUM 的枚举项,则会插入空串(“”);
8. SET 集合是类似ENUM 的工作方式的,具体参考ENUM;
7.3 日期和时间列类型
7.3.1 时间日期类型列表
7.3.2 日期时间格式注意事项
NOTE:
1.mysql 日期处理函数接收的数据格式是很宽限的,连字符可以用几种标点符号进行代替;
0 0
- mysql笔记-- mysql命令札记7 数据类型
- mysql笔记-- mysql命令札记1
- mysql笔记-- mysql命令札记2
- mysql笔记-- mysql命令札记3
- mysql笔记-- mysql命令札记4
- mysql笔记-- mysql命令札记5
- mysql笔记-- mysql命令札记6
- mysql笔记-- mysql命令札记8 --MySql 数据表类型
- mysql笔记-- mysql命令札记10 --MySql 运算符
- mysql笔记-- mysql命令札记11 --MySql 连接
- MySQL 札记
- mysql命令(二)--数据类型
- Mysql学习笔记 --- mysql数据类型
- MYSQL数据类型笔记-1
- MYSQL数据类型笔记2
- mysql笔记3(数据类型)
- mysql数据类型学习笔记
- mysql数据类型学习笔记
- PyMongo基本使用
- 结束
- 高手对中科院考博英语的体会
- oracle往表里导入数据
- 没变强是因为你太舒服(图)
- mysql笔记-- mysql命令札记7 数据类型
- 使用modernizr处理html5+css3的兼容性问题
- zoj1276矩阵连乘dp
- paip.提升效率--gui 的选择--swing最佳实践swt awt
- Cocos2D-x快速入门 创建工程
- Unusual Product--CF238C
- Java当中的线程(三)
- Web编程之二 urllib
- Notepad++ 通过 NppFTP 实现 SSH 文件编辑