首页 > 数据库 >MySQL中查看表结构

MySQL中查看表结构

时间:2024-11-24 18:01:42浏览次数:8  
标签:name 查看 SHOW employees MySQL TABLE 100 NULL 结构

1. 使用 DESCRIBEDESC 命令

DESCRIBE(或其简写 DESC)是最简单和最直接的方法,可以显示表的列信息。

语法

DESCRIBE table_name;
-- 或者
DESC table_name;

示例:
假设有一个名为 employees 的表,可以这样查看其结构:

DESCRIBE employees;
-- 或者
DESC employees;

2. 使用 SHOW COLUMNS 命令

SHOW COLUMNS 命令也可以显示表的列信息,但它提供了更多的细节,如列的默认值和额外信息。

语法:

SHOW COLUMNS FROM table_name;
-- 或者
SHOW COLUMNS FROM table_name FROM database_name;

示例:

SHOW COLUMNS FROM employees;
-- 或者
SHOW COLUMNS FROM employees FROM mydatabase;

3. 使用 SHOW CREATE TABLE 命令

SHOW CREATE TABLE 命令可以显示创建表的完整SQL语句,包括所有的列定义、索引、约束等详细信息。

语法:

SHOW CREATE TABLE table_name;

示例:

SHOW CREATE TABLE employees;

4. 使用 INFORMATION_SCHEMA

INFORMATION_SCHEMA 是一个系统数据库,包含了关于数据库元数据的信息。通过查询INFORMATION_SCHEMA.COLUMNS表,可以获取详细的列信息。

语法:

SELECT * 
FROM INFORMATION_SCHEMA.COLUMNS 
WHERE TABLE_NAME = 'table_name' 
AND TABLE_SCHEMA = 'database_name';

示例:

SELECT * 
FROM INFORMATION_SCHEMA.COLUMNS 
WHERE TABLE_NAME = 'employees' 
AND TABLE_SCHEMA = 'mydatabase';

示例输出
假设 employees 表的结构如下:

CREATE TABLE employees (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(100) NOT NULL,
    position VARCHAR(100),
    hire_date DATE,
    salary DECIMAL(10, 2)
);

使用 DESCRIBE DESC 命令的输出:

+------------+------------------+------+-----+---------+----------------+
| Field      | Type             | Null | Key | Default | Extra          |
+------------+------------------+------+-----+---------+----------------+
| id         | int(11)          | NO   | PRI | NULL    | auto_increment |
| name       | varchar(100)     | NO   |     | NULL    |                |
| position   | varchar(100)     | YES  |     | NULL    |                |
| hire_date  | date             | YES  |     | NULL    |                |
| salary     | decimal(10,2)    | YES  |     | NULL    |                |
+------------+------------------+------+-----+---------+----------------+

使用 SHOW COLUMNS 命令的输出:

+------------+------------------+------+-----+---------+----------------+
| Field      | Type             | Null | Key | Default | Extra          |
+------------+------------------+------+-----+---------+----------------+
| id         | int(11)          | NO   | PRI | NULL    | auto_increment |
| name       | varchar(100)     | NO   |     | NULL    |                |
| position   | varchar(100)     | YES  |     | NULL    |                |
| hire_date  | date             | YES  |     | NULL    |                |
| salary     | decimal(10,2)    | YES  |     | NULL    |                |
+------------+------------------+------+-----+---------+----------------+

使用 SHOW CREATE TABLE 命令的输出:

CREATE TABLE `employees` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(100) NOT NULL,
  `position` varchar(100) DEFAULT NULL,
  `hire_date` date DEFAULT NULL,
  `salary` decimal(10,2) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci

使用INFORMATION_SCHEMA的输出:

+-----------+--------------+-----------------+------+-----+---------+-------+---------------------------------+
| TABLE_CATALOG | TABLE_SCHEMA | TABLE_NAME      | COLUMN_NAME | ORDINAL_POSITION | COLUMN_DEFAULT | IS_NULLABLE | DATA_TYPE  | CHARACTER_MAXIMUM_LENGTH | CHARACTER_OCTET_LENGTH | NUMERIC_PRECISION | NUMERIC_SCALE | DATETIME_PRECISION | CHARACTER_SET_NAME | COLLATION_NAME | COLUMN_TYPE       | COLUMN_KEY | EXTRA          | PRIVILEGES | COLUMN_COMMENT |
+-----------+--------------+-----------------+------+-----+---------+-------+---------------------------------+
| def       | mydatabase   | employees       | id   | 1           | NULL  | NO      | int      | NULL                  | NULL                  | 10                    | 0             | NULL              | NULL               | NULL           | int(11)         | PRI        | auto_increment | SELECT,INSERT,UPDATE,REFERENCES |                |
| def       | mydatabase   | employees       | name | 2           | NULL  | NO      | varchar  | 100                  | 300                  | NULL                 | NULL          | NULL              | utf8mb4            | utf8mb4_0900_ai_ci | varchar(100)  | MUL        |                | SELECT,INSERT,UPDATE,REFERENCES |                |
| def       | mydatabase   | employees       | position | 3           | NULL  | YES     | varchar  | 100                  | 300                  | NULL                 | NULL          | NULL              | utf8mb4            | utf8mb4_0900_ai_ci | varchar(100)  |                |                | SELECT,INSERT,UPDATE,REFERENCES |                |
| def       | mydatabase   | employees       | hire_date | 4           | NULL  | YES     | date     | NULL                  | NULL                  | NULL                 | NULL          | 0                | NULL               | NULL           | date            |                |                | SELECT,INSERT,UPDATE,REFERENCES |                |
| def       | mydatabase   | employees       | salary | 5           | NULL  | YES     | decimal  | NULL                  | NULL                  | 10                   | 2             | NULL              | NULL               | NULL           | decimal(10,2)   |                |                | SELECT,INSERT,UPDATE,REFERENCES |                |
+-----------+--------------+-----------------+------+-----+---------+-------+---------------------------------+

总结

  • DESCRIBE DESC:适合快速查看表的基本结构。
  • SHOW COLUMNS:提供更详细的列信息,如默认值和额外信息。
  • SHOW CREATE TABLE:显示创建表的完整SQL语句,包括所有列定义、索引和约束。
  • INFORMATION_SCHEMA:通过查询系统数据库,获取最详细的元数据信息。

标签:name,查看,SHOW,employees,MySQL,TABLE,100,NULL,结构
From: https://blog.csdn.net/Davina_yu/article/details/143978262

相关文章

  • 探索计算机网络体系结构的奥秘
    在当今数字化的时代,计算机网络已成为我们生活和工作中不可或缺的一部分。而理解计算机网络体系结构则是深入掌握这一领域的关键。 计算机网络体系结构是指计算机网络各层及其协议的集合。它为网络通信提供了一种标准化的框架,使得不同的设备和系统能够相互通信和协同工作。......
  • 计算机体系结构 胡伟武 课后习题期末题库重点选集解析Ⅲ(8-12章)
    第8章转移预测第一题转移猜测结构图1.附表8.1是转移猜测的Yeh和Patt分类中根据转移历史表(BHT)和模式历史表(PHT)的不同组合形成的转移猜测种类。PC中用来索引BHT表的位数为低6位,索引PHT表的位数为低8位,BHT表每项9位,请画出SAs转移猜测的结构图,说明其基......
  • mysql启动错误
    从错误信息“Can'tstartserver:Bindonunixsocket:Addressalreadyinuse”以及“Doyoualreadyhaveanothermysqldserverrunningonsocket:/tmp/mysql.sock?”可以看出,MySQL无法绑定到指定的Unix套接字文件 /tmp/mysql.sock,因为该地址已经被其他进程占用......
  • 计算机毕业设计原创定制(免费送源码):Java+B/S+SSM+Web前端开发技术+IDEA+MySQL+Navicat
    摘 要信息化社会内需要与之针对性的信息获取途径,但是途径的扩展基本上为人们所努力的方向,由于站在的角度存在偏差,人们经常能够获得不同类型信息,这也是技术最为难以攻克的课题。针对有风小院等问题,对有风小院信息管理进行研究分析,然后开发设计出有风小院系统以解决问题。有......
  • 基于Java+SpringBoot+Mysql在线简单拍卖竞价拍卖竞拍系统功能设计与实现六
    一、前言介绍:免费学习:猿来入此1.1项目摘要主要源于互联网技术的快速发展和电子商务的普及。随着网络技术的不断进步,人们越来越依赖于互联网进行购物、交易和沟通。电子商务的兴起为在线拍卖提供了广阔的市场和便利的条件。在线拍卖系统通过搭建一个虚拟的拍卖平台,将传统的拍卖......
  • 数据库技术提升-MySQL数据库原理、设计与应用【3.4】
    3.触发器的触发触发器在创建完成后,若使触发器触发,则需要让触发器指定的数据表执行设置的对应操作。为了让读者更好地理解,接下来以触发inserttri触发器为例进行演示,具体SQL,语句及执行结果如下.(1)首先查看shgoods表中商品编号为5的库存量stock。(2)接着向购物......
  • 基于Java+SpringBoot+Mysql在线简单拍卖竞价拍卖竞拍系统功能设计与实现五
    一、前言介绍:免费学习:猿来入此1.1项目摘要主要源于互联网技术的快速发展和电子商务的普及。随着网络技术的不断进步,人们越来越依赖于互联网进行购物、交易和沟通。电子商务的兴起为在线拍卖提供了广阔的市场和便利的条件。在线拍卖系统通过搭建一个虚拟的拍卖平台,将传统的拍卖......
  • spark 写入mysql 中文数据 显示?? 或者 乱码
    目录前言Spark报错:解决办法:总结一下:报错:解决:前言用spark写入mysql中,查看中文数据显示??或者乱码Spark报错:SatNov2319:15:59CST2024WARN:EstablishingSSLconnectionwithoutserver'sidentityverificationisnotrecommended.AccordingtoMySQL5.......
  • 【数据结构】时间和空间复杂度
    时间和空间复杂度1.如何衡量一个算法的好坏2.算法效率3.时间复杂度3.1时间复杂度的概念3.2大O的渐进表示法3.3推导大O阶方法3.4常见时间复杂度计算举例3.空间复杂度【本节目标】算法效率时间复杂度空间复杂度1.如何衡量一个算法的好坏下面求斐波那契数......
  • MySQL原理简介—4.深入分析Buffer Pool
    大纲1.BufferPool是什么2.如何配置BufferPool的大小3.数据页是MySQL中抽象出来的数据单位4.数据页如何对应BufferPool中的缓存页5.缓存页对应的描述信息是什么6.BufferPool简单总结7.数据库启动时如何初始化BufferPool8.free链表可判断哪些缓存页是空闲的9.free链表......