10
2023
05
09:27:35

mysql怎么查询表头(获取数据库表格的列名)

在MySQL数据库中,我们经常需要查询表头(也就是获取数据库表格的列名),以便了解表格的结构和字段信息。这个操作非常简单,下面我们就来介绍一下如何在MySQL中查询表头。



一、使用DESC命令查询表头



DESC命令是MySQL中用来查询表结构的命令,它可以查询表的字段名、数据类型、是否允许为空等信息。我们可以通过DESC命令来查询表头,具体操作如下:



1. 打开MySQL客户端,输入以下命令连接到数据库:



ysql -u root -p“-u”表示用户名,“root”为用户名,“-p”表示密码,需要输入密码才能登录。



2. 进入需要查询表头的数据库,输入以下命令:



use 数据库名称;“数据库名称”为需要查询表头的数据库名称。



3. 使用DESC命令查询表头,输入以下命令:



DESC 表格名称;“表格名称”为需要查询表头的表格名称。



4. 查询结果会列出表格的所有列名及其数据类型、如下图所示:



二、使用SHOW命令查询表头



除了使用DESC命令查询表头,我们还可以使用SHOW命令查询。SHOW命令是MySQL中用来查看数据库服务器的状态和元数据信息的命令,它可以查询表的字段名、数据类型、是否允许为空等信息。具体操作如下:



1. 打开MySQL客户端,输入以下命令连接到数据库:



ysql -u root -p“-u”表示用户名,“root”为用户名,“-p”表示密码,需要输入密码才能登录。



2. 进入需要查询表头的数据库,输入以下命令:



use 数据库名称;“数据库名称”为需要查询表头的数据库名称。



3. 使用SHOW命令查询表头,输入以下命令:



SHOW COLUMNS FROM 表格名称;“表格名称”为需要查询表头的表格名称。



4. 查询结果会列出表格的所有列名及其数据类型、如下图所示:



以上就是在MySQL中查询表头的方法,我们可以使用DESC命令或SHOW命令来查询表头。查询结果会列出表格的所有列名及其数据类型、帮助我们了解表格的结构和字段信息。



bitsCN.com


show databases;show tables from db_name;


show columns from table_name from db_name;


show index from talbe_name [from db_name];


show status;show variables;


show [full] processlist;


show table status [from db_name];


show grants for user;


除了status,processlist和grants外,其它的都可以带有like wild选项,它可以使用SQL的'%'和'_'字符;


show databases like '%t';


将会列出所有数据库名字末尾为't'字符的数据库


当然了,在这些sql中,你也可以用db_name.table_name来代替 table_name from db_name这样写会更简便些!


如果一个用户没有一个表的任何权限,表将不在SHOW TABLES或mysqlshow db_name中的输出中显示


大家可能还记得describe table_name ,它实现的是与show columns from db_name.table_name一样的效果


show status将可以用mysqlshow --status 来得到同样的效果


列含义


Name表名


Type表的类型 (ISAM,MyISAM或HEAP)


Row_format行存储格式 (固定, 动态, 或压缩)


Rows行数量


Avg_row_length平均行长度


Data_length数据文件的长度


Max_data_length数据文件的最大长度


Index_length索引文件的长度


Data_free已分配但未使用了字节数


Auto_increment下一个 autoincrement(自动加1)值


Create_time表被创造的时间


Update_time数据文件最后更新的时间


Check_time最后对表运行一个检查的时间


Create_options与CREATE TABLE一起使用的额外选项


Comment当创造表时,使用的注释 (或为什么MySQL不能存取表信息的一些信息)。


SHOW FIELDS是SHOW COLUMNS一个同义词,SHOW KEYS是SHOW INDEX一个同义词。你也可以用mysqlshow db_name tbl_name或mysqlshow -k db_name tbl_name 列出一张表的列或索引。


SHOW INDEX以非常相似于ODBC的SQLStatistics调用的格式返回索引信息。下面的列被返回:


列含义


Table表名


Non_unique0,如果索引不能包含重复。


Key_name索引名


Seq_in_index索引中的列顺序号, 从 1 开始。


Column_name列名。


Collation列怎样在索引中被排序。在MySQL中,这可以有值A(升序) 或NULL(不排序)。


Cardinality索引中唯一值的数量。这可通过运行isamchk -a更改.


Sub_part如果列只是部分被索引,索引字符的数量。NULL,如果整个键被索引。


SHOW STATUS提供服务器的状态信息(象mysqladmin extended-status一样)。输出类似于下面的显示,尽管格式和数字可以有点不同:+--------------------------+--------+


| Variable_name | Value |


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


| Aborted_clients | 0 |


| Aborted_connects | 0 |


| Connections | 17 |


| Created_tmp_tables | 0 |


| Delayed_insert_threads | 0 |


| Delayed_writes | 0 |


| Delayed_errors | 0 |


| Flush_commands | 2 |


| Handler_delete | 2 |


| Handler_read_first | 0 |


| Handler_read_key | 1 |


| Handler_read_next | 0 |


| Handler_read_rnd | 35 |


| Handler_update | 0 |


| Handler_write | 2 |


| Key_blocks_used | 0 |


| Key_read_requests | 0 |


| Key_reads | 0 |


| Key_write_requests | 0 |


| Key_writes | 0 |


| Max_used_connections | 1 |


| Not_flushed_key_blocks | 0 |


| Not_flushed_delayed_rows | 0 |


| Open_tables | 1 |


| Open_files | 2 |


| Open_streams | 0 |


| Opened_tables | 11 |


| Questions | 14 |


| Slow_queries | 0 |


| Threads_connected | 1 |


| Threads_running | 1 |


| Uptime | 149111 |


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


上面列出的状态变量有下列含义:Aborted_clients由于客户没有正确关闭连接已经死掉,已经放弃的连接数量。


Aborted_connects尝试已经失败的MySQL服务器的连接的次数。


Connections试图连接MySQL服务器的次数。


Created_tmp_tables当执行语句时,已经被创造了的隐含临时表的数量。


Delayed_insert_threads正在使用的延迟插入处理器线程的数量。


Delayed_writes用INSERT DELAYED写入的行数。


Delayed_errors用INSERT DELAYED写入的发生某些错误(可能重复键值)的行数。


Flush_commands执行FLUSH命令的次数。


Handler_delete请求从一张表中删除行的次数。


Handler_read_first请求读入表中第一行的次数。


Handler_read_key请求数字基于键读行。


Handler_read_next请求读入基于一个键的一行的次数。


Handler_read_rnd请求读入基于一个固定位置的一行的次数。


Handler_update请求更新表中一行的次数。


Handler_write请求向表中插入一行的次数。


Key_blocks_used用于关键字缓存的块的数量。


Key_read_requests请求从缓存读入一个键值的次数。


Key_reads从磁盘物理读入一个键值的次数。


Key_write_requests请求将一个关键字块写入缓存次数。


Key_writes将一个键值块物理写入磁盘的次数。


Max_used_connections同时使用的连接的最大数目。


Not_flushed_key_blocks在键缓存中已经改变但是还没被清空到磁盘上的键块。


Not_flushed_delayed_rows在INSERT DELAY队列中等待写入的行的数量。


Open_tables打开表的数量。


Open_files打开文件的数量。


Open_streams打开流的数量(主要用于日志记载)


Opened_tables已经打开的表的数量。


Questions发往服务器的查询的数量。


Slow_queries要花超过long_query_time时间的查询数量。


Threads_connected当前打开的连接的数量。


Threads_running不在睡眠的线程数量。


Uptime服务器工作了多少秒。


关于上面的一些注释:如果Opened_tables太大,那么你的table_cache变量可能太小。


如果key_reads太大,那么你的key_cache可能太小。缓存命中率可以用key_reads/key_read_requests计算。


如果Handler_read_rnd太大,那么你很可能有大量的查询需要MySQL扫描整个表或你有没正确使用键值的联结(join)。


SHOW VARIABLES显示出一些MySQL系统变量的值,你也能使用mysqladmin variables命令得到这个信息。如果缺省值不合适,你能在mysqld启动时使用命令行选项来设置这些变量的大多数。输出类似于下面的显示,尽管格式和数字可以有点不同:+------------------------+--------------------------+


| Variable_name | Value |


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


| back_log | 5 |


| connect_timeout | 5 |


| basedir | /my/monty/ |


| datadir | /my/monty/data/ |


| delayed_insert_limit | 100 |


| delayed_insert_timeout | 300 |


| delayed_queue_size | 1000 |


| join_buffer_size | 131072 |


| flush_time | 0 |


| interactive_timeout | 28800 |


| key_buffer_size | 1048540 |


| language | /my/monty/share/english/ |


| log | OFF |


| log_update | OFF |


| long_query_time | 10 |


| low_priority_updates | OFF |


| max_allowed_packet | 1048576 |


| max_connections | 100 |


| max_connect_errors | 10 |


| max_delayed_threads | 20 |


| max_heap_table_size | 16777216 |


| max_join_size | 4294967295 |


| max_sort_length | 1024 |


| max_tmp_tables | 32 |


| net_buffer_length | 16384 |


| port | 3306 |


| protocol-version | 10 |


| record_buffer | 131072 |


| skip_locking | ON |


| socket | /tmp/mysql.sock |


| sort_buffer | 2097116 |


| table_cache | 64 |


| thread_stack | 131072 |


| tmp_table_size | 1048576 |


| tmpdir | /machine/tmp/ |


| version | 3.23.0-alpha-debug |


| wait_timeout | 28800 |


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




推荐本站淘宝优惠价购买喜欢的宝贝:

image.png

本文链接:https://hqyman.cn/post/4091.html 非本站原创文章欢迎转载,原创文章需保留本站地址!

分享到:
打赏





休息一下~~


« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

请先 登录 再评论,若不是会员请先 注册

您的IP地址是: