1 mysql数据库常用数据类型

mysql支持多种数据类型主要包括:数值类型,日期/时间类型,字符串类型、二进制类型。

  • 数值类型

TINYINT,SMALLINT,MEDIUMINT,INT,BIGINT,FLOAT,DOUBLE,定点小数类型DECIMAL

mysql数据库管理-数据类型

mysql数据库管理-数据类型

mysql数据库管理-数据类型

不论是定点类型还是浮点类型,如果用户指定精度超过精度范围,则会四舍五入。

  • 日期类型

YEAR,TIME,DATE,DATETIME,TIMESTAMP

mysql允许不严格的时间语法插入格式,任何标点符号都可以作为日期部分的间隔符号

例如:[email protected]@12,180101, 12。12.。12,等字符串的表示都是等价的。

mysql数据库管理-数据类型

最后两位为ss,10点21分如果写成1021则入库为00:10:21

4 08为4*24+8 :00:00

datetime和timestamp存储字节不同,timestamp会根据查询的时区变化。

  • 字符串类型

主要包括文本字符串和二级制字符串

char varchar tinytext text mediumtext logtext enum和set

mysql数据库管理-数据类型

1 char和varchar,CHAR(M)是固定长度字符创,不够用空格补齐,取值范围0-255.当检索到char类型时后面的空格将被删除。

mysql> select id from monidb.t;
+----+
| id |
+----+
| c  |
+----+
1 row in set (0.08 sec)

mysql> select length(id) from monidb.t;
+------------+
| length(id) |
+------------+
|          1 |
+------------+
1 row in set (0.02 sec)

varchar(0-65536),占用空间为实际长度+1

char(5)和varchar(5)的区别,,,对于'a    '的查询CHAR只显示a,varchar显示'a    '

mysql数据库管理-数据类型

mysql> insert into monidb.t(id) values('a  ');
Query OK, 1 row affected (0.10 sec)

mysql> commit;
Query OK, 0 rows affected (0.00 sec)

mysql> select length(id) from monidb.t;
+------------+
| length(id) |
+------------+
|          3 |
|          1 |
|          2 |
+------------+
3 rows in set (0.03 sec)
mysql> alter table monidb.t modify id char(5);
Query OK, 3 rows affected (0.07 sec)

mysql> select length(id) from monidb.t;
+------------+
| length(id) |
+------------+
|          1 |
|          1 |
|          2 |
+------------+
3 rows in set (0.08 sec)

enum枚举类型,(‘var1','var2',var3') ,包含null值(没有not null约束的话)

mysql数据库管理-数据类型

mysql> create table emn(sex enum('boy','girl') not null default 'boy')
    -> ;
Query OK, 0 rows affected (0.11 sec)

mysql> des emn
    -> ;
ERROR 1064 (42000): 
mysql> desc emn
    -> ;
+-------+--------------------+------+-----+---------+-------+
| Field | Type               | Null | Key | Default | Extra |
+-------+--------------------+------+-----+---------+-------+
| sex   | enum('boy','girl') | NO   |     | boy     |       |
+-------+--------------------+------+-----+---------+-------+
1 row in set (0.13 sec)
 

set(‘var1','var2',var3') ENUM只能在变量中选择,而set 可以是其中变量的组合。

相关文章: