查看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