MySQL学习——获取数据库和表格的信息

如果忘记了数据库或表的名称,或者不确定给定表的结构(例如,其列的名称),该怎么办呢?MySQL通过几个语句解决了这个问题,这些语句提供了有关它支持的数据库和表的信息。

你之前已经看过SHOW DATABASES,它会列出服务器管理的所有数据库。要找出当前选择的数据库,可以使用DATABASE()函数:

复制代码
mysql> SELECT DATABASE();

+------------+

| DATABASE() |

+------------+

| menagerie  |

+------------+

如果你还没有选择任何数据库,那么DATABASE()函数的结果将是NULL。

要找出默认数据库包含哪些表(例如,当你不确定某个表的名称时),可以使用以下语句:

复制代码
mysql> SHOW TABLES;

+---------------------+

| Tables_in_menagerie |

+---------------------+

| event               |

| pet                 |

+---------------------+

由SHOW TABLES语句生成的输出中的列名总是Tables_in_db_name,其中db_name是数据库的名称。这是为了帮助你清晰地知道这些表属于哪个数据库。

如果你想要了解表的结构,DESCRIBE语句非常有用;它会显示有关表的每一列的信息:

复制代码
mysql> DESCRIBE pet;

+---------+-------------+------+-----+---------+-------+

| Field   | Type        | Null | Key | Default | Extra |

+---------+-------------+------+-----+---------+-------+

| name    | varchar(20) | YES  |     | NULL    |       |

| owner   | varchar(20) | YES  |     | NULL    |       |

| species | varchar(20) | YES  |     | NULL    |       |

| sex     | char(1)     | YES  |     | NULL    |       |

| birth   | date        | YES  |     | NULL    |       |

| death   | date        | YES  |     | NULL    |       |

+---------+-------------+------+-----+---------+-------+

在DESCRIBE或DESC命令的输出中:

  • Field:指示列名。
  • Type:是列的数据类型。
  • NULL:表示该列是否可以包含NULL值。
  • Key:表示该列是否被索引。
  • Default:指定列的默认值。
  • Extra:显示有关列的特殊信息。例如,如果列是使用AUTO_INCREMENT选项创建的,则此处的值将是auto_increment而不是空的。

DESC确实是DESCRIBE的简写形式,它们提供相同的功能。

可以使用SHOW CREATE TABLE语句来获取创建一个已存在的表所需的CREATE TABLE语句。这在想要复制表结构到新环境或者需要查看表的完整创建语句时非常有用。

相关推荐
执笔论英雄4 小时前
【大模型学习cuda】入们第一个例子-向量和
学习
ccecw4 小时前
Mysql ONLY_FULL_GROUP_BY模式详解、group by非查询字段报错
数据库·mysql
wdfk_prog4 小时前
[Linux]学习笔记系列 -- [drivers][input]input
linux·笔记·学习
JH30734 小时前
达梦数据库与MySQL的核心差异解析:从特性到实践
数据库·mysql
Gary Studio6 小时前
rk芯片驱动编写
linux·学习
mango_mangojuice6 小时前
Linux学习笔记(make/Makefile)1.23
java·linux·前端·笔记·学习
lingggggaaaa7 小时前
安全工具篇&动态绕过&DumpLsass凭据&Certutil下载&变异替换&打乱源头特征
学习·安全·web安全·免杀对抗
PP东7 小时前
Flowable学习(二)——Flowable概念学习
java·后端·学习·flowable
学电子她就能回来吗7 小时前
深度学习速成:损失函数与反向传播
人工智能·深度学习·学习·计算机视觉·github
Goat恶霸詹姆斯7 小时前
mysql常用语句
数据库·mysql·oracle