《深切浅出MySQL》之数据类型,《深远浅出mysql》

《深远浅出MySQL》之数据类型,《深刻浅出mysql》

MySQL提供了两种数据类型,首要概括数值型、字符串型和日期时间档案的次序。此次博客就来谈谈MySQL中常用的数据类型吧(版本:mysql-5.7.1九)!

 

MySQL 数据类型,mysql数据类型

MySQL中定义数据字段的项目对您数据库的优化是那么些重大的。

MySQL帮衬多样类型,大概可以分为3类:数值、日期/时间和字符串(字符)类型。

数值类型

MySQL帮衬具备标准SQL中数值类型,具体见下表:

图片 1

 数值类型是由范围的,若是超过数值的限量就能够产生“out of
range”的荒唐提醒,所以在选用数值类型的时候,一定要结合实际的气象去采纳。

 

 壹.寸头门类

对此整数类型的数值类型还帮衬在小括号内内定呈现的宽窄,举个例子int(伍)就象征当数值宽度小于八位的时候,在数字后面填满宽度,假诺不内定显示的肥瘦,默以为int(1一)。
例如:

mysql> create table t1(num1 int(5),num2 int);
Query OK, 0 rows affected (0.04 sec)

mysql> desc  t1;
+-------+---------+------+-----+---------+-------+
| Field | Type    | Null | Key | Default | Extra |
+-------+---------+------+-----+---------+-------+
| num1  | int(5)  | YES  |     | NULL    |       |
| num2  | int(11) | YES  |     | NULL    |       |
+-------+---------+------+-----+---------+-------+
2 rows in set (0.01 sec)
mysql> insert into t1 values(1,1);
Query OK, 1 row affected (0.00 sec)
mysql> select * from t1;
+------+------+
| num1 | num2 |
+------+------+
|    1 |    1 |
+------+------+
1 row in set (0.00 sec)

以上例子会发觉当不钦命展现上涨的幅度的时候,私下认可为int(1壹)。
上边介绍1个小知识点,也正是zerofill,正是在数字位数缺乏的空间用字符“0”填满。

mysql> alter table t1 modify num1 int(5) zerofill;
Query OK, 1 row affected (0.07 sec)
Records: 1  Duplicates: 0  Warnings: 0

mysql> alter table t1 modify num2 int zerofill;
Query OK, 1 row affected (0.08 sec)
Records: 1  Duplicates: 0  Warnings: 0

mysql> select * from t1;
+-------+------------+
| num1  | num2       |
+-------+------------+
| 00001 | 0000000001 |
+-------+------------+
1 row in set (0.00 sec)

当为2个列钦赐为zerofill的时候,则MySQL自动为该列增多无符号属性,那么就足以获得一点都不小的上限值,能够见前方的表格。

mysql> insert into t1  values(111111,1);
Query OK, 1 row affected (0.00 sec)

mysql> select * from t1;
+--------+------------+
| num1   | num2       |
+--------+------------+
|  00001 | 0000000001 |
| 111111 | 0000000001 |
+--------+------------+
2 rows in set (0.00 sec)
mysql> desc t1;
+-------+---------------------------+------+-----+---------+-------+
| Field | Type                      | Null | Key | Default | Extra |
+-------+---------------------------+------+-----+---------+-------+
| num1  | int(5) unsigned zerofill  | YES  |     | NULL    |       |
| num2  | int(10) unsigned zerofill | YES  |     | NULL    |       |
+-------+---------------------------+------+-----+---------+-------+
2 rows in set (0.00 sec)

如上边的例证,即使咱们插入的数值为111111,也从不报错,且暗中同意的突显长度变为了拾,这里一定要注意的是,括号内的只是呈现长度,无符号的int的最大值为42949672九伍,大家来测试一下就知道了:

mysql> insert into t1 values(4294967295,4294967295);
Query OK, 1 row affected (0.00 sec)

mysql> select * from t1;
+------------+------------+
| num1       | num2       |
+------------+------------+
|      00001 | 0000000001 |
|     111111 | 0000000001 |
| 4294967295 | 4294967295 |
+------------+------------+
3 rows in set (0.00 sec)

mysql> insert into t1 values(4294967296,4294967295);
ERROR 1264 (22003): Out of range value for column 'num1' at row 1
mysql> insert into t1 values(4294967295,4294967296);
ERROR 1264 (22003): Out of range value for column 'num2' at row 1

当数值超过4294967295的时候就能够报错了。

大背头种类还大概有其它多个性格:anto_increment,在急需发出唯1的标记符的时候,能够行使那几个个性,那天个性只属于整数类型,默许情况下,anto_increment的值从一方始,每便扩充一,二个表中最五只好有2个auto_incerment列,对于别的想要使用auto_incerment的列,应该定义为not
null,并且定义为primary key,定义格局如下:

create table tablename(id int auto_increment not null primary key);

举例:

mysql> create table t2(id int auto_increment not null primary key,name varchar(10));
Query OK, 0 rows affected (0.04 sec)

mysql> insert into t2(name) values('Frank'),('Rose');
Query OK, 2 rows affected (0.00 sec)
Records: 2  Duplicates: 0  Warnings: 0

mysql> select * from t2;
+----+-------+
| id | name  |
+----+-------+
|  1 | Frank |
|  2 | Rose  |
+----+-------+
2 rows in set (0.00 sec)

mysql> desc t2;
+-------+-------------+------+-----+---------+----------------+
| Field | Type        | Null | Key | Default | Extra          |
+-------+-------------+------+-----+---------+----------------+
| id    | int(11)     | NO   | PRI | NULL    | auto_increment |
| name  | varchar(10) | YES  |     | NULL    |                |
+-------+-------------+------+-----+---------+----------------+
2 rows in set (0.00 sec)

 

 二.小数类型

对于小数类型,MySQL定义了三种办法:浮点类型和一定类型,浮点类型也足以利用(M,D)这种用法,然则那是不专门的学问的用法,不提出那样做,浮点类型往往在积攒较长的小数的时候,由于硬件的限量,大概导致数值的不标准。decimal是以字符串的款式储存的,比较相符较长的小数存款和储蓄,暗许是以decimal(十,0)来拓展操作的。
比如:

mysql> create table t3(num1 float(4,2),num2 double(4,2),num3 decimal(4,2));
Query OK, 0 rows affected (0.43 sec)

mysql> insert into t3(num1,num2,num3) values(1.26,1.26,1.26);
Query OK, 1 row affected (0.00 sec)

mysql> select * from t3;
+------+------+------+
| num1 | num2 | num3 |
+------+------+------+
| 1.26 | 1.26 | 1.26 |
+------+------+------+
1 row in set (0.00 sec)
mysql> insert into t3(num1,num2,num3) values(1.266,1.266,1.266);
Query OK, 1 row affected, 1 warning (0.00 sec)

mysql> show warnings;
+-------+------+-------------------------------------------+
| Level | Code | Message                                   |
+-------+------+-------------------------------------------+
| Note  | 1265 | Data truncated for column 'num3' at row 1 |
+-------+------+-------------------------------------------+
1 row in set (0.00 sec)

mysql> select * from t3;
+------+------+------+
| num1 | num2 | num3 |
+------+------+------+
| 1.26 | 1.26 | 1.26 |
| 1.27 | 1.27 | 1.27 |
+------+------+------+
2 rows in set (0.00 sec)

当小数位超越钦定的标度的时候,就能够议及展览开四舍五入的操作,然则decimal列会出现告警的消息,浮点类型则不会。
这里将例子的数值类型都改为默许的情状再囤积值:

mysql> alter table t3 modify num1 float;
Query OK, 0 rows affected (0.01 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql> alter table t3 modify num2 double;
Query OK, 0 rows affected (0.01 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql> alter table t3 modify num3 decimal;
Query OK, 4 rows affected, 4 warnings (0.12 sec)
Records: 4  Duplicates: 0  Warnings: 4
mysql> desc t3;
+-------+---------------+------+-----+---------+-------+
| Field | Type          | Null | Key | Default | Extra |
+-------+---------------+------+-----+---------+-------+
| num1  | float         | YES  |     | NULL    |       |
| num2  | double        | YES  |     | NULL    |       |
| num3  | decimal(10,0) | YES  |     | NULL    |       |
+-------+---------------+------+-----+---------+-------+
3 rows in set (0.00 sec)
mysql> select * from t3;  #会发现浮点型存储的值没有发生改变,而decimal的直接就被截断了,因为浮点型如果不写精度和标度,则会安装实际精度显示。
+------+------+------+
| num1 | num2 | num3 |
+------+------+------+
| 1.26 | 1.26 |    1 |
| 1.27 | 1.27 |    1 |
| 1.27 | 1.27 |    1 |
| 1.27 | 1.27 |    1 |
+------+------+------+
4 rows in set (0.00 sec)

 

 3.位类型

 用于存放位字段值,bit(M)能够存放多位贰进制,M的界定为1-64,对于位字段,直接使用select是看不到结果的,能够应用bin()也许hex()函数读取。

mysql> create table t4(id bit(1));
Query OK, 0 rows affected (0.04 sec)

mysql> desc t4;
+-------+--------+------+-----+---------+-------+
| Field | Type   | Null | Key | Default | Extra |
+-------+--------+------+-----+---------+-------+
| id    | bit(1) | YES  |     | NULL    |       |
+-------+--------+------+-----+---------+-------+
1 row in set (0.00 sec)

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

mysql> select * from t4;
+------+
| id   |
+------+
|      |
+------+
1 row in set (0.00 sec)

mysql> select bin(id),hex(id) from t4;
+---------+---------+
| bin(id) | hex(id) |
+---------+---------+
| 1       | 1       |
+---------+---------+
1 row in set (0.00 sec)

我们来试试插入数值二:

mysql> insert into t4 values(2);
ERROR 1406 (22001): Data too long for column 'id' at row 1

出错了,因为二的二进制码是”10″,必须有2bit本事累积,修改现在查看:

mysql> alter table t4 modify id bit(2);
Query OK, 1 row affected (0.08 sec)
Records: 1  Duplicates: 0  Warnings: 0

mysql> insert into t4  values(2);
Query OK, 1 row affected (0.00 sec)

mysql> select bin(id),hex(id) from t4;
+---------+---------+
| bin(id) | hex(id) |
+---------+---------+
| 1       | 1       |
| 10      | 2       |
+---------+---------+
2 rows in set (0.00 sec)

 

 

 字符串类型

 MySQL提供了多种字符数据的蕴藏类型,具体见下表:

图片 2

 

 1.char和varchar类型

char和varchar首如若用来储存十分的短的字符串,二者的重大差别在于存储格局的例外,char列的尺寸为创立表时申明的长短,而varchar列中的值为可变长字符串。在搜索的时候,char会删除尾部的空格,而varchar则保留那几个空格。

举个例证:

mysql> create table space(s1 varchar(4),s2 char(4));
Query OK, 0 rows affected (0.04 sec)

mysql> insert into space values('aa  ','aa  ');
Query OK, 1 row affected (0.01 sec)

mysql> select length(s1),length(s2) from space;
+------------+------------+
| length(s1) | length(s2) |
+------------+------------+
|          4 |          2 |
+------------+------------+
1 row in set (0.00 sec)

据悉上述例子能够见见,char列在研究的时候已经被删除了。

对比:

char存款和储蓄定长的多少很便利且索引的频率很好,举例定义了char(四),那么不论是你的数据是还是不是到达了多少个字节,都要并吞多少个字节的一空间;

varchar,存款和储蓄变长的多少,但存款和储蓄的功能未有char高且检索的频率也会低多数,varchar类的骨子里尺寸+①,原因是那2个字节用于保存实际使用了多大的长度。

总计:从节约空间的角度去看使用varchar越来越好,不过若是从存款和储蓄效能和目录作用上来看,char更妥善。

 

 2.enum类型

enum也叫枚举类型,它的值范围必要在创设表时通过枚举情势呈现内定,最多允许有655三21个分子:

举例:

mysql> create table t6(g enum('green','red','blue','yellow'));
Query OK, 0 rows affected (0.04 sec)

mysql> insert into t6 values('Green'),('red'),('hello');
ERROR 1265 (01000): Data truncated for column 'g' at row 3
mysql>
mysql> insert into t6 values('Green'),('red'),('blue'),(NULL);
Query OK, 4 rows affected (0.00 sec)
Records: 4  Duplicates: 0  Warnings: 0

mysql> select * from t6;
+-------+
| g     |
+-------+
| green |
| red   |
| blue  |
| NULL  |
+-------+
4 rows in set (0.00 sec)

从地点的事例能够看出,enum类型是忽视大小写的,且在插入高出范围内的值会报错。枚举类型值允许从集合中抽出单个值,不可能二遍性取四个值。
 

3.set类型

 set和enum类似,里面最多能够有陆12个分子。可是set和enum不相同的之处便是,set贰回能够挑选四个成员。

mysql> create table t7(s set('green','red','blue','yellow'));
Query OK, 0 rows affected (0.04 sec)
mysql> desc t7;
+-------+------------------------------------+------+-----+---------+-------+
| Field | Type                               | Null | Key | Default | Extra |
+-------+------------------------------------+------+-----+---------+-------+
| s     | set('green','red','blue','yellow') | YES  |     | NULL    |       |
+-------+------------------------------------+------+-----+---------+-------+
1 row in set (0.00 sec)

mysql>
mysql> insert into t7 values('Green,red'),('yellow,blue,red');
Query OK, 2 rows affected (0.00 sec)
Records: 2  Duplicates: 0  Warnings: 0

mysql>
mysql> select * from t7;
+-----------------+
| s               |
+-----------------+
| green,red       |
| red,blue,yellow |
+-----------------+
2 rows in set (0.00 sec)
mysql> insert into t7 values('yellow,red,red');
Query OK, 1 row affected (0.00 sec)

mysql> select * from t7;
+-----------------+
| s               |
+-----------------+
| green,red       |
| red,blue,yellow |
| red,yellow      |
+-----------------+
3 rows in set (0.00 sec)

透过以上例子能够见到,set也是不区分轻重缓急写的,借使在插入音信的有重新的值,将只取壹次。成员范围外的值在插入表的时候会报错。

 

数值类型

MySQL帮忙具有正式SQL数值数据类型。

那些品种包蕴严俊数值数据类型(INTEGE奇骏、SMALLINT、DE阅朗L和NUME库罗德IC),以及近似数值数据类型(FLOAT、REAL和DOUBLE
PRECISION)。

首要字INT是INTEGEKuga的同义词,关键字DEC是DE亚洲龙L的同义词。

BIT数据类型保存位字段值,并且扶助MyISAM、MEMOEnclaveY、InnoDB和BDB表。

作为SQL标准的强大,MySQL也支撑整数项目TINYINT、MEDIUMINT和BIGINT。上面包车型客车表展现了亟待的种种整数类型的仓库储存和界定。

类型 大小 范围(有符号) 范围(无符号) 用途
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 字节 (-3.402 823 466 E+38,1.175 494 351 E-38),0,(1.175 494 351 E-38,3.402 823 466 351 E+38) 0,(1.175 494 351 E-38,3.402 823 466 E+38) 单精度
浮点数值
DOUBLE 8 字节 (1.797 693 134 862 315 7 E+308,2.225 073 858 507 201 4 E-308),0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308) 0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308) 双精度
浮点数值
DECIMAL 对DECIMAL(M,D) ,如果M>D,为M+2否则为D+2 依赖于M和D的值 依赖于M和D的值 小数值

时刻和日期类型 

 MySQL有众多的数据类型用于表示时间和日期,见下表:

 图片 3

 每二个时光和日期的数据类型都有其范围,要是超过其范围,系统会唤起错误,并以零值来囤积。不一致日期的零值的象征如下表:

图片 4

 

 1.date、time和datetime

最广大的二种时光和日期的数据类型了。 

举例:

mysql> create table t8(d date,t time,dt datetime);
Query OK, 0 rows affected (0.04 sec)

mysql> insert into t8 values(now(),now(),now()); #使用now函数插入当前的时间和日期
Query OK, 1 row affected, 1 warning (0.00 sec)

mysql> select * from t8;
+------------+----------+---------------------+
| d          | t        | dt                  |
+------------+----------+---------------------+
| 2017-09-17 | 21:06:59 | 2017-09-17 21:06:59 |
+------------+----------+---------------------+
1 row in set (0.00 sec)

通过上面的例子能够见到,datetime是date和time的咬合。

 2.timestamp

 timestamp也是用来表示日期和岁月的,不过和datetime是黯然失神的,我们联合看一下吧!

mysql> create table t1(ts timestamp);
Query OK, 0 rows affected (0.03 sec)

mysql> desc t1;
+-------+-----------+------+-----+-------------------+-----------------------------+
| Field | Type      | Null | Key | Default           | Extra                       |
+-------+-----------+------+-----+-------------------+-----------------------------+
| ts    | timestamp | NO   |     | CURRENT_TIMESTAMP | on update CURRENT_TIMESTAMP |
+-------+-----------+------+-----+-------------------+-----------------------------+
1 row in set (0.00 sec)
mysql> insert into t1 values(null);
Query OK, 1 row affected (0.00 sec)
mysql> select * from t1;
+---------------------+
| ts                  |
+---------------------+
| 2017-09-17 21:23:59 |
+---------------------+
1 row in set (0.00 sec)

系统给timestamp自动创设了私下认可值CU翼虎RENT_TIMESTAMP(系统时间),当插入了三个null的时候,t第11中学国科高校学的插入当前的体系时间。二个表中只允许存在1个timestamp字段。

timestamp还恐怕有2个第三的特色正是与时区相关:

mysql> create table t2 (ts timestamp,t datetime);
Query OK, 0 rows affected (0.04 sec)

mysql> show variables like 'time_zone';  #查看当前的时区
+---------------+--------+
| Variable_name | Value  |
+---------------+--------+
| time_zone     | SYSTEM |
+---------------+--------+
1 row in set, 1 warning (0.01 sec)

mysql> insert into t2 values(now(),now());
Query OK, 1 row affected (0.00 sec)

mysql> select * from t2;
+---------------------+---------------------+
| ts                  | t                   |
+---------------------+---------------------+
| 2017-09-17 21:31:15 | 2017-09-17 21:31:15 |
+---------------------+---------------------+
1 row in set (0.00 sec)

SYSTEM为目前的时区,也就东八区,今后将时区改为东玖区实行:

mysql> set time_zone='+9:00';
Query OK, 0 rows affected (0.00 sec)

mysql> select * from t2;
+---------------------+---------------------+
| ts                  | t                   |
+---------------------+---------------------+
| 2017-09-17 22:31:15 | 2017-09-17 21:31:15 |
+---------------------+---------------------+
1 row in set (0.00 sec)

结果开采选取timestamp比采取datetime快二个小时,那点是急需小心的,其它,timestamp的最大取值也就到203八年的某有天,所以不建议存放比较遥远的日期和岁月。

 

 3.year

 year首纵然用来记录年份,当岁月只须求记录年的时候,year比date更节省空间,year的限量为一九零四-2155年。

mysql> create table t3 (y year);
Query OK, 0 rows affected (0.04 sec)

mysql> desc t3;
+-------+---------+------+-----+---------+-------+
| Field | Type    | Null | Key | Default | Extra |
+-------+---------+------+-----+---------+-------+
| y     | year(4) | YES  |     | NULL    |       |
+-------+---------+------+-----+---------+-------+
1 row in set (0.00 sec)

mysql> insert into t3 values(2017);
Query OK, 1 row affected (0.00 sec)

mysql> insert into t3 values(20);
Query OK, 1 row affected (0.00 sec)

mysql> select * from t3;
+------+
| y    |
+------+
| 2017 |
| 2020 |
+------+
2 rows in set (0.00 sec)

经过上述例子能够开掘,year也协理两位字符串表示年份:范围为”00″到”9玖”:

"00" ~ "69" 范围被转换成 2000 ~ 2069年
"70" ~ "99" 范围被转换成 1970 ~ 1999年

 

 总计:在读书MySQL的时候,应该对数据类型的用处、占用空间、表示范围等都要有确定的摸底,这样手艺在实际上利用中接纳符合的数据类型,用异常的小的存款和储蓄空间换成较高的数据库的性质。

 

 仿照效法书籍:《深远浅出MySQL》,写的那一个不易,推荐!

http://www.bkjia.com/Mysql/1226455.htmlwww.bkjia.comtruehttp://www.bkjia.com/Mysql/1226455.htmlTechArticle《深入浅出MySQL》之数据类型,《深入浅出mysql》
MySQL提供了各类数据类型,首要不外乎数值型、字符串型和日期时间档案的次序。此次博客就来谈谈…

 

日期和时间项目

代表时间值的日期和时间档期的顺序为DATETIME、DATE、TIMESTAMP、TIME和YEA翼虎。

各种日子项目有三个有效值范围和3个”零”值,当内定非法的MySQL不可能表示的值时行使”零”值。

TIMESTAMP类型有专有的自动更新天性,就要前边描述。

类型 大小
(字节)
范围 格式 用途
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 1970-01-01 00:00:00/2037 年某时 YYYYMMDD HHMMSS 混合日期和时间值,时间戳

 

字符串类型

字符串类型指CHAKoleos、VAPRADOCHA奥迪Q7、BINAOdysseyY、VARBINAPRADOY、BLOB、TEXT、ENUM和SET。该节描述了那几个项目怎么样行事以及哪些在查询中运用这几个品种。

类型 大小 用途
CHAR 0-255字节 定长字符串
VARCHAR 0-65535 字节 变长字符串
TINYBLOB 0-255字节 不超过 255 个字符的二进制字符串
TINYTEXT 0-255字节 短文本字符串
BLOB 0-65 535字节 二进制形式的长文本数据
TEXT 0-65 535字节 长文本数据
MEDIUMBLOB 0-16 777 215字节 二进制形式的中等长度文本数据
MEDIUMTEXT 0-16 777 215字节 中等长度文本数据
LOGNGBLOB 0-4 294 967 295字节 二进制形式的极大文本数据
LONGTEXT 0-4 294 967 295字节 极大文本数据

CHA奥迪Q5和VARubiconCHAENCORE类型类似,但它们保存和探求的艺术各异。它们的最大尺寸和是不是尾巴部分空格被保留等地点也比不上。在蕴藏或索求进程中不进行高低写转变。

BINASportageY和VARBINA奥迪Q三Y类类似于CHA奔驰M级和VA揽胜极光CHAPAJERO,不一样的是它们含有二进制字符串而毫不非二进制字符串。约等于说,它们含有字节字符串而不是字符字符串。那表明它们未有字符集,并且排序和相比较基于列值字节的数值值。

BLOB是2个2进制大对象,能够包容可变多少的数量。有四种BLOB类型:TINYBLOB、BLOB、MEDIUMBLOB和LONGBLOB。它们只是可容纳值的最大尺寸分裂。

有四种TEXT类型:TINYTEXT、TEXT、MEDIUMTEXT和LONGTEXT。这个对应四种BLOB类型,有相同的最大尺寸和仓库储存供给。

初稿地址:http://www.manongjc.com/mysql/mysql\_data\_types.html

相关阅读:

长远钻研mysql exists与in的属性及效能

MySQL exists 和in 使用批注及界别介绍

mysql 子查询 exists 和 not exists使用方法和实例

mysql where 语句使用方式解说

mysql distinct 使用办法及实例介绍

http://www.bkjia.com/Mysql/1132347.htmlwww.bkjia.comtruehttp://www.bkjia.com/Mysql/1132347.htmlTechArticleMySQL 数据类型,mysql数据类型
MySQL中定义数据字段的连串对您数据库的优化是老大主要的。
MySQL协理陆连串型,大约能够分为三类:数值、…

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图