MySQL查看表和清空表的命令总结

查看MySQL数据库表
进入MySQL Command line client下
查看当前使用的数据库:

mysql>select database();
mysql>status;
mysql>show tables;
mysql>show databases;//可以查看有哪些数据库,返回数据库名(databaseName)
mysql>use databaseName; //更换当前使用的数据库
mysql>show tables; //返回当前数据库下的所有表的名称

或者也可以直接用以下命令

mysql>show tables from databaseName;//databaseName可以用show databases得来

mysql查看表结构命令,如下:

desc 表名;
show columns from 表名;
或者
describe 表名;
show create table 表名;
或者
use information_schema
select * from columns where table_name='表名';
查看警告:
Rows matched: 1 Changed: 0 Warnings: 1

mysql> show warnings;

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

| Level  | Code | Message                  |

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

| Warning | 1265 | Data truncated for column 'name' at row 3 |

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

1 row in set

以上就是查看MySQL数据库表的命令介绍。

方法一:MySQL清空表,保留数据结构和定义

Mysql清空表是很重要的操作,也是最常见的操作之一,下面就为您详细介绍Mysql清空表的实现方法,希望能够对您有所帮助。

方法1:重建库和表
用mysqldump –no-data把建表SQL导出来,然后drop database再create database,执行一下导出的SQL文件,把表建上;
方法2:生成清空所有表的SQL

mysql -u root -p -N -s information_schema -e "SELECT CONCAT('TRUNCATE TABLE ',TABLE_NAME,';') FROM TABLES WHERE TABLE_SCHEMA='eab12'"

输出结果如下:

TRUNCATE TABLE AUTHGROUPBINDINGS;

TRUNCATE TABLE AUTHGROUPS;

TRUNCATE TABLE AUTHUSERS;

TRUNCATE TABLE CORPBADCUSTOMINFO;

TRUNCATE TABLE CORPSMSBLACKLISYInfo;

TRUNCATE TABLE CORPSMSFILTERINFO;

TRUNCATE TABLE CORPSMSINFO;

TRUNCATE TABLE EABASEREGINFOS;

TRUNCATE TABLE EACORPBLOB;

TRUNCATE TABLE EACORPINFO;

....

....
然后把这个truncate语句全部复制,在mysql里面粘贴运行一下,这样就会把所有表的数据清除,但是数据表的结构和定义并没有清除。

这样就更完善了:

代码如下:

mysql -u root -p -N -s information_schema -e “SELECT CONCAT(‘TRUNCATE TABLE ‘,TABLE_NAME,’;’) FROM TABLES WHERE TABLE_SCHEMA=’eab12′” | mysql eab12

即清空eab12中所有的表。
但是如果有外键的话,很可能会报错。因此还需要加个-f

代码如下:

mysql -u root -p -N -s information_schema -e “SELECT CONCAT(‘TRUNCATE TABLE ‘,TABLE_NAME,’;’) FROM TABLES WHERE TABLE_SCHEMA=’eab12′” | mysql -f eab12
多执行几次,直到不报错。

以上就是Mysql清空表的实现方法。

方法二 清除数据库中的所有表,仅保留数据库:

下面提供一个使用information_schema库的方案:

SELECT CONCAT('drop table ',table_name,';') FROM information_schema.`TABLES` WHERE table_schema='数据库名';

通过这条命令来得到drop table 表名;这个并没有把所有表删除,而是把删除表的语句都列出来了,然后把所有这些drop语句复制,然后在SQL语句里面运行一下,那么就实现了删除所有表的预期。
看我执行的结果,去掉第一行,后面就是删除数据库中所有表。这个时候可以直接复制下面的命令执行一下就好了。

CONCAT(‘drop table ‘,table_name,’;‘)
 drop table qwspa_aiowps_events;
 drop table qwspa_aiowps_failed_logins;
 drop table qwspa_aiowps_global_meta;
 drop table qwspa_aiowps_login_activity;
 drop table qwspa_aiowps_login_lockdown;
 drop table qwspa_aiowps_permanent_block;
 drop table qwspa_ap_config;
 drop table qwspa_ap_config_option;
 drop table qwspa_ap_config_url_list;
 drop table qwspa_ap_download_img_temp;
 drop table qwspa_ap_flickr_img;
 drop table qwspa_ap_flickr_oauth;
 drop table qwspa_ap_log;
 drop table qwspa_ap_more_content;
 drop table qwspa_ap_qiniu_img;
 drop table qwspa_ap_updated_record;
 drop table qwspa_ap_upyun_img;
 drop table qwspa_ap_watermark;
 drop table qwspa_autolink;
 drop table qwspa_commentmeta;
 drop table qwspa_comments;
 drop table qwspa_cr_table;
 drop table qwspa_links;
 drop table qwspa_options;
 drop table qwspa_postmeta;
 drop table qwspa_posts;
 drop table qwspa_postviews_plus;
 drop table qwspa_term_relationships;
 drop table qwspa_term_taxonomy;
 drop table qwspa_termmeta;
 drop table qwspa_terms;
 drop table qwspa_usermeta;
 drop table qwspa_users;
 drop table qwspa_wangguardcronjobs;
 drop table qwspa_wangguardquestions;
 drop table qwspa_wangguardreportqueue;
 drop table qwspa_wangguardsignupsstatus;
 drop table qwspa_wangguarduserstatus;
 drop table qwspa_yoast_seo_links;
 drop table qwspa_yoast_seo_meta;

执行完毕,这个时候你重新连接一下数据库你会发现,就剩下一个空数据库了,里面所有的表,连表结构和定义都被删除了。

未经允许不得转载:哈勃私语 » MySQL查看表和清空表的命令总结

本文共3361个字 创建时间:2017年9月3日10:39   

分享到:更多 ()