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 小时前
AtomGit Flutter 鸿蒙客户端: ChangeNotifier 模式
学习·flutter·华为·harmonyos
取地址符4 小时前
C++学习笔记(基于learn-cxx)(1)
c++·经验分享·笔记·学习
TPBoreas6 小时前
MySQL性能优化面试全攻略
mysql·面试·性能优化
恣逍信点6 小时前
主观是客观的聚焦
人工智能·学习·程序人生·生活·业界资讯·交友·哲学
打球她不香吗6 小时前
本周ALLegro学习内容的总结
学习·allegro
xlq223226 小时前
11.表的内外连接,索引
mysql
AllData公司负责人6 小时前
数据库同步平台|AIIData数据中台实现OceanBase、达梦数据库、OpenGauss、人大金仓、Hive、TDengine 一键接入Doris
大数据·数据库·hive·mysql·oceanbase·tdengine
其实防守也摸鱼7 小时前
蓝队相关知识学习(1)---常用堡垒机和服务器
服务器·功能测试·学习·网络安全·网络攻击模型·攻防对抗·蓝队
wefg17 小时前
【MySQL】事务
数据库·mysql
冰可乐配7 小时前
fmpeg音频编码组件aac(Advanced Audio Coding (AAC) encoder)学习
学习·音视频·aac