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语句。这在想要复制表结构到新环境或者需要查看表的完整创建语句时非常有用。

相关推荐
吃着火锅x唱着歌9 小时前
Effective C++ 学习笔记 条款43 学习处理模板化基类内的名称
c++·笔记·学习
weixin_4316004410 小时前
Agent Workflow 学习向:Code 节点,比模板更强的变量加工
后端·python·学习·ai·
Xuanzang Road11 小时前
第 40 届学习强企玄奘路戈壁挑战赛:在绝境中重塑自我
学习
tju新生代魔迷12 小时前
Python学习日记3
学习
hsjiasb13 小时前
FreeRTOS学习(三十九)——最终总结
学习·学习笔记·freertos
m4Rk_15 小时前
【论文阅读】Agent 记忆机制(47):Nemori——用“预测误差”判断什么经验值得被记住
论文阅读·人工智能·学习·开源·github
约克315 小时前
2024年空调除甲醛技术参数与性能评测解析
学习
kkkkkkkkkk_Z15 小时前
学嵌入式和C语言编程数据结构|学习日记Day21:内核链表与队列学习
c语言·数据结构·学习
kdxiaojie17 小时前
Linux USB驱动阅读笔记(1)
linux·笔记·学习·usb
呼噜想睡觉17 小时前
Bootstrap3完成从导航到页脚完整页面开发
学习