MySQL常用数据类型

教程7个月前发布 spoony
5 0 0

数据类型

int:        整数类型 -2^31 - 2^31-1  (-2147483648 - 2147483647)
tinyint:    最小整数 -128 - 127             #一般用在年龄
varchar:    字符类型 (变长,最大65535)      
char:       字符类型 (定长,最大255)
enum:       枚举类型                      #一般用在性别,指定的选项选一个
datetime:   时间类型    年月日时分秒
#以前使用 timestamp

#两者所能存储的时间范围不一样
timestamp所能存储的时间范围为:'1970-01-01 00:00:01.000000' 到 '2038-01-19 03:14:07.999999'。
datetime所能存储的时间范围为:'1000-01-01 00:00:00.000000' 到 '9999-12-31 23:59:59.999999'。

数据类型enum使用

#创建一个表,性别为枚举类型
mysql> create table qiudao(id int,gender enum('male','female','qiudao'));
Query OK, 0 rows affected (0.01 sec)

#查看表结构
mysql> desc qiudao;
+--------+--------------------------------+------+-----+---------+-------+
| Field  | Type                           | Null | Key | Default | Extra |
+--------+--------------------------------+------+-----+---------+-------+
| id     | int(11)                        | YES  |     | NULL    |       |
| gender | enum('male','female','qiudao') | YES  |     | NULL    |       |
+--------+--------------------------------+------+-----+---------+-------+
2 rows in set (0.01 sec)

#测试插入数据
mysql> insert into qiudao values(1,'nan');
ERROR 1265 (01000): Data truncated for column 'gender' at row 1

#添加数据必须填写枚举类型指定的选项,其他的值填写都报错
mysql> insert into qiudao values(1,'male');
Query OK, 1 row affected (0.00 sec)

数据类型int使用

#查看表属性
mysql> desc qiudao;
+-------+---------+------+-----+---------+-------+
| Field | Type    | Null | Key | Default | Extra |
+-------+---------+------+-----+---------+-------+
| id    | int(11) | YES  |     | NULL    |       |
+-------+---------+------+-----+---------+-------+
1 row in set (0.00 sec)

#第一种情况,插入数据,超过数据类型范围,直接取最大值写入
mysql> insert into lhd values(11111111111);
Query OK, 1 row affected, 1 warning (0.00 sec)
mysql> select * from lhd;
+------------+
| id         |
+------------+
| 2147483647 |
+------------+
1 row in set (0.00 sec)
#以上结果有问题,执行  set sql_mode='STRICT_TRANS_TABLES';

#第一种情况,插入数据,超过数据类型范围,直接报错
mysql> insert into lhd values(11111111111);
ERROR 1264 (22003): Out of range value for column 'id' at row 1

#插入的数据不能超过int类型的范围
mysql> insert into lhd values(2147483648);
ERROR 1264 (22003): Out of range value for column 'id' at row 1

mysql> insert into lhd values(2147483647);
Query OK, 1 row affected, 1 warning (0.00 sec)

文章来源于互联网:MySQL常用数据类型

相关推荐: NumPy 教程

NumPy 教程 NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。 NumPy 的前身 Numeric 最早是由 Jim Hugunin 与其它协作者…

 

© 版权声明

相关文章

暂无评论

暂无评论...