MySQL数据库类型查询大全 (mysql 查询数据库类型)

MySQL是一种流行的关系型数据库管理系统,由于其开源、易用和可靠性,已成为很多企业和网站的首选数据库。然而,对于初学者来说,MySQL的各种数据类型可能令人困惑。因此,本文将详细介绍MySQL中的各种数据类型,包括数值类型、日期和时间类型、字符串类型、二进制类型和其他类型,帮助开发人员更好地理解和使用MySQL。

一、数值类型

1.整型(int、tinyint、allint、mediumint和bigint):整型包括有符号和无符号两种,可以存储整数数据。其中int类型表示范围最广,tinyint类型表示范围最小。

2.浮点型(float和double):浮点型用于存储近似值。float类型占用4个字节的存储空间,而double类型占用8个字节的存储空间。

3.定点型(decimal):定点型用于存储精确的十进制数字。可以使用指定长度和小数位数来定义decimal类型。

二、日期和时间类型

1.DATE:用于存储日期(年、月、日)。

2.TIME:用于存储时间(时、分、秒)。

3.DATETIME:用于存储日期和时间。

4.TIMESTAMP:用于存储日期和时间,与DATETIME相似,但范围比DATETIME更小。

三、字符串类型

1.CHAR和VARCHAR:这两种类型用于存储字符数据。CHAR类型占用固定长度的存储空间,而VARCHAR类型使用变长存储空间。

2.TEXT:用于存储大量文本数据,例如文章、博客或评论。

3.BLOB:用于存储二进制数据,例如图片或文件。

四、二进制类型

1.BINARY和VARBINARY:这两种类型用于存储二进制数据,BINARY占用固定长度的存储空间,而VARBINARY使用变长存储空间。

2.BLOB:用于存储二进制数据,包括大型文本和二进制数据。

五、其他类型

1.ENUM:用于存储预定义的一组字符串中的一个值。

2.SET:用于存储预定义的一组字符串中的一个或多个值。

3.ON:用于存储和查询ON格式的数据。

除以上类型外,MySQL还有一些其他数据类型,例如空间数据类型(geometry、point和polygon)和位数据类型(bit),根据需要选择能用最少的存储空间来存储数据。

MySQL拥有众多的数据类型,开发人员只需要根据实际需求来选择合适的类型,既能保证数据存储的正确性和完整性,又能提高数据存取的效率。希望本文能对初学者或需要用到MySQL的开发者实用。

相关问题拓展阅读:

谁能给我说说mysql数据库中的数据类型吗?要详细点的。

一般初学者都容易把MYSQL数据库的一些数据类型搞混,下面是它的基本的数据类型:

(1)数值型

数值是诸如32 或153.4 这样的值。MySQL 支持科学表示法,科学表示法由整数或浮点数后跟“e”或“E”、一个符号(“+”或“袭岩衫-”)和一个整数指数来表示。1.24E+12 和23.47e-1 都是合法的科学表示法表示的数。而1.24E12 不是合法的,因为指数前的符号未给出。

浮点数由整数部分、一个小数点和小数部分组成。整数部分和小数部分可以分别为空,但不能同时为空。

数值前可放一个负号“-”以表示负值。

(2)字符(串)型

字符型(也叫字符串型,简称串)是诸如“Hello, world!”或“一个馒头引起的血案”这样的值,或者是号码这样的值。既可用单引号也可用双引号将串值括起来。拍腔

(3)日期和时间型

日期和时间是一些诸如“”或“12:30:43”这样的值。MySQL还支持日期/时间的组合,如“:30:43”。

(4)NULL值

NULL表示未知值。比如填写表格中通讯地址不清楚留空不填写,这就是NULL值。

这是最常见和常用的,希望对你有所帮枣哪助。

怎么使用Mysql Workbench 查询mysql数据库

有两种方法,一种方法使用mysql的check table和repair table 的sql语句,另一种方法是使用MySQL提供的多个myisamchk, isamchk数据检测恢复工具。前者使用起来比较简便。推荐使用。

1. check table 和 repair table

登陆mysql 终端:

mysql -uxx -p dbname

check table tabTest;

如果出现的结果说Status是OK,则不用修复,如果有Error,可以用:

repair table tabTest;

进行修复,修复之后可以在用check table命令来进行检查。在新版本的phpMyAdmin里面也可以使用check/repair的功能。

2. myisamchk, isamchk

其中myisamchk适用于MYISAM类型的数枣绝据表,而isamchk适用于ISAM类型的数据表。这两条命令的主要参数相同,一般新的系统都使用MYISAM作为缺省的数据表类型,这里以myisamchk为例子进行说明。当发现某个数据表出现问题时可以使用:

myisamchk tablename.MYI

进行检测,如果需要修复的话,凳粗姿可以使用:

myisamchk -of tablename.MYI

关于myisamchk的详细参数说明,可以参见它的使用帮助。需要注意的时在进行修改时必须确保MySQL服务器没有访问这个数据表,保险的情况下是更好在进行检测时把MySQL服务器Shutdown掉。

-----------------------------

另外可以把下面的命令放在你的rc.local里面启动MySQL服务器前:

&& /pathtochk/myisamchk -of /DATA_DIR/*/*.MYI

其中的/tmp/mysql.sock是MySQL监听的Sock文件位置,对于使用RPM安装的用户应该是/var/lib/mysql/mysql.sock,对于使用源码安装则是/tmp/mysql.sock可以根据自己凳慎的实际情况进行变更,而pathtochk则是myisamchk所在的位置,DATA_DIR是你的MySQL数据库存放的位置。

需要注意的时,如果你打算把这条命令放在你的rc.local里面,必须确认在执行这条指令时MySQL服务器必须没有启动!检测修复所有数据库(表)

TABLE 语句

具体语法:TABLE table_name >

其实从语法上看,可以排序,也可以过滤记录集,不咐槐过比较简单,没有 SELECT 那么强大。

示例 1

简单的建一张很小的表 y1,记录数为 10 条。表 t1,插入 10 条记做携录

mysql-(ytt/3305)->create table t1 (r1 int,r2 int);

Query OK, 0 rows affected (0.02 sec)

mysql-(ytt/3305)->insert into t1

with recursive aa(a,b) as (

select 1,1

union all

select a+1,ceil(rand()*20) from aa where a select * from t1;+——+——+| r1   | r2   |+——+——+|    1 |    1 ||    2 |    9 ||    3 |    9 ||    4 |   17 ||    5 |   17 ||    6 |   16 ||    7 |    6 ||    8 |    衡胡友1 ||    9 |   10 ||   10 |    3 |+——+——+10 rows in set (0.00 sec)

TABLE 结果mysql-(ytt/3305)->table t1;+——+——+| r1   | r2   |+——+——+|    1 |    1 ||    2 |    9 ||    3 |    9 ||    4 |   17 ||    5 |   17 ||    6 |   16 ||    7 |    6 ||    8 |    1 ||    9 |   10 ||   10 |    3 |+——+——+10 rows in set (0.00 sec)

看下 table 的执行计划mysql-(ytt/3305)->explain table t1 order by r1 limit 2\G*************************** 1. row ***************************id: 1  select_type: SIMPLEtable: t1   partitions: NULLtype: ALLpossible_keys: NULLkey: NULL      key_len: NULLref: NULLrows:filtered: 100.Extra: Using filesort1 row in set, 1 warning (0.00 sec)

其实可以看到 TABLE 内部被 MySQL 转换为 SELECT 了。mysql-(ytt/3305)->show warnings\G*************************** 1. row ***************************  Level: Note   Code: 1003Message: /* select#1 */ select `ytt`.`t1`.`r1` AS `r1`,`ytt`.`t1`.`r2` AS `r2` from `ytt`.`t1` order by `ytt`.`t1`.`r1` limit 21 row in set (0.00 sec)

那其实从上面简单的例子可以看到 TABLE 在内部被转成了普通的 SELECT 来处理。示例 2应用于子查询里的子表。这里要注意,内表的字段数量必须和外表过滤的字段数量一致。克隆表 t1 结构mysql-(ytt/3305)->create table t2 like t1;Query OK, 0 rows affected (0.02 sec)

克隆表 t1 数据mysql-(ytt/3305)->insert into t2 table t1;Query OK, 10 rows affected (0.00 sec)Records: 10  Duplicates: 0  Warnings: 0

table t1 被当做内表,表 t1 有两个字段,必须同时满足 t2 检索时过滤的字段也是两个。mysql-(ytt/3305)->select * from t2 where (r1,r2) in (table t1);+——+——+| r1   | r2   |+——+——+|    1 |    1 ||    2 |    9 ||    3 |    9 ||    4 |   17 ||    5 |   17 ||    6 |   16 ||    7 |    6 ||    8 |    1 ||    9 |   10 ||   10 |    3 |+——+——+10 rows in set (0.00 sec)

mysql 查询数据库类型的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于mysql 查询数据库类型,MySQL数据库类型查询大全,谁能给我说说mysql数据库中的数据类型吗?要详细点的。,怎么使用Mysql Workbench 查询mysql数据库的信息别忘了在本站进行查找喔。


数据运维技术 » MySQL数据库类型查询大全 (mysql 查询数据库类型)