首页> 基础笔记 >Mysql基础学习 Mysql基础学习

MySQL字符串类数据列类型介绍

作者:小萝卜 2019-08-28 浏览 895

简介MySQL字符串类数据列类型介绍,CHAR,VARCHAR,TINYBLOB,TINYTEXT,BLOB,TEXT,MEDIUMBLOB,MEDIUMTEXT,LONGBLOB,LONGTEXT,ENUM,SET

MySQL字符串类数据列类型介绍

数据列类型

存储空间

说明

取值范围

CHAR[(M)]

M字节

定长字符串

M字节

VARCHAR[(M)]

L+1字节

可变字符串

M字节

TINYBLOB,TINYTEXT

L+1字节

非常小的BLOB(二进制大对象)和文本串

28-1字节

BLOB,TEXT

L+2字节

小BLOB和文本串

216-1字节

MEDIUMBLOB,

MEDIUMTEXT

L+3字节

中等的BLOB和文本串

224-1字节

LONGBLOB,

LONGTEXT

L+4字节

大BLOB和文本串

232-1字节

ENUM(‘value1’,’value2’…)

1或2字节

枚举:可赋予某个枚举成员

65535个成员

SET(‘value1’,‘value2’…)

1,2,3,4或8字节

集合:可赋予多个集合成员

64个成员

字符串类型注意事项:

CHAR和VARCHAR类型的长度范围都在0~255之间

在使用CHAR和VARCHAR类型时,当我们传入的实际的值的长度大于指定的长度,字符串会被截取至指定长度

在使用CHAR类型时,如果我们传入的值的长度小于指定长度,实际长度会使用空格补至指定长度

在使用VARCHAR类型时,如果我们传入的值的长度小于指定长度,实际长度即为传入字符串的长度,不会使用空格填补

CHAR要比VARCHAR效率更高,当占用空间较大

字符串类型注意事项:

BLOB和TEXT类型是可以存放任意大数据的数据类型

BLOB区分大小写,TEXT不区分大小写

ENUM和SET类型是特殊的的串类型,其列值必须从固定的串集中选择

ENUM只能选择其中一个值,SET可以选择多个值

例子:
mysql> create table t2(
    -> id int unsigned auto_increment primary key,
    -> name varchar(8) not null default '',
    -> code char(6),
    -> sex enum('m',"w") not null default 'w',
    -> info text
    -> );
Query OK, 0 rows affected (0.00 sec)

mysql> desc t2;
+-------+------------------+------+-----+---------+----------------+
| Field | Type             | Null | Key | Default | Extra          |
+-------+------------------+------+-----+---------+----------------+
| id    | int(10) unsigned | NO   | PRI | NULL    | auto_increment |
| name  | varchar(8)       | NO   |     |         |                |
| code  | char(6)          | YES  |     | NULL    |                |
| sex   | enum('m','w')    | NO   |     | w       |                |
| info  | text             | YES  |     | NULL    |                |
+-------+------------------+------+-----+---------+----------------+
5 rows in set (0.00 sec)

mysql>
mysql> insert into t2(name,code,sex,info)
    -> values('zhangsan','100086','w','hello world!');
Query OK, 1 row affected (0.05 sec)

mysql> insert into t2(name,code,sex,info)
    -> values('xiaolifeidao','12345678','x','aaaaaaaaaaa');
Query OK, 1 row affected, 3 warnings (0.06 sec)

mysql> select * from t2;
+----+----------+--------+-----+--------------+
| id | name     | code   | sex | info         |
+----+----------+--------+-----+--------------+
|  1 | zhangsan | 100086 | w   | hello world! |
|  2 | xiaolife | 123456 |     | aaaaaaaaaaa  |
+----+----------+--------+-----+--------------+
2 rows in set (0.00 sec)

mysql> insert into t2(name,code)
    -> values("lisi",'234567');
Query OK, 1 row affected (0.06 sec)

mysql> select * from t2;
+----+----------+--------+-----+--------------+
| id | name     | code   | sex | info         |
+----+----------+--------+-----+--------------+
|  1 | zhangsan | 100086 | w   | hello world! |
|  2 | xiaolife | 123456 |     | aaaaaaaaaaa  |
|  3 | lisi     | 234567 | w   | NULL         |
+----+----------+--------+-----+--------------+
3 rows in set (0.00 sec)

mysql>

mysql> insert into t2(name,code,sex,info)
    -> values('zhangsan','100086','w','hello world!');
Query OK, 1 row affected (0.05 sec)

mysql> insert into t2(name,code,sex,info)
    -> values('xiaolifeidao','12345678','x','aaaaaaaaaaa');
Query OK, 1 row affected, 3 warnings (0.06 sec)

mysql> select * from t2;
+----+----------+--------+-----+--------------+
| id | name     | code   | sex | info         |
+----+----------+--------+-----+--------------+
|  1 | zhangsan | 100086 | w   | hello world! |
|  2 | xiaolife | 123456 |     | aaaaaaaaaaa  |
+----+----------+--------+-----+--------------+
2 rows in set (0.00 sec)

mysql> insert into t2(name,code,sex,info)
    -> values\c
mysql> insert into t2(name,code)
    -> values("lisi",'234567');
Query OK, 1 row affected (0.06 sec)

mysql> select * from t2;
+----+----------+--------+-----+--------------+
| id | name     | code   | sex | info         |
+----+----------+--------+-----+--------------+
|  1 | zhangsan | 100086 | w   | hello world! |
|  2 | xiaolife | 123456 |     | aaaaaaaaaaa  |
|  3 | lisi     | 234567 | w   | NULL         |
+----+----------+--------+-----+--------------+
3 rows in set (0.00 sec)

mysql>

 

很赞哦! (0)

文章评论

    高端网站建设