清空mysql一个库中的所有表_mysql怎样清空一个数据库中的所有表_MySQL
轉(zhuǎn)載自:http://blog.csdn.net/zhangzhizhen1988/article/details/8432146
Mysql清空表是很重要的操作,也是最常見的操作之一,下面就為您詳細介紹Mysql清空表的實現(xiàn)方法,希望能夠?qū)δ兴鶐椭?/p>
方法1:重建庫和表
一。只導出表結(jié)構(gòu)
導出整個數(shù)據(jù)庫結(jié)構(gòu)(不包含數(shù)據(jù))
mysqldump -h localhost -uroot -p123456 -d database > dump.sql
導出單個數(shù)據(jù)表結(jié)構(gòu)(不包含數(shù)據(jù))
mysqldump -h localhost -uroot -p123456 -d database table > dump.sql
二。只導出表數(shù)據(jù)
導出整個數(shù)據(jù)庫數(shù)據(jù)
mysqldump -h localhost -uroot -p123456 -t database > dump.sql
三。導出結(jié)構(gòu)+數(shù)據(jù)
導出整個數(shù)據(jù)庫結(jié)構(gòu)和數(shù)據(jù)
mysqldump -h localhost -uroot -p123456 database > dump.sql
導出單個數(shù)據(jù)表結(jié)構(gòu)和數(shù)據(jù)
mysqldump -h localhost -uroot -p123456 database table > dump.sql
方法2:生成清空所有表的SQL
mysql -N -s information_schema -e "SELECT CONCAT('TRUNCATE TABLE ',TABLE_NAME,';') FROM TABLES WHERE TABLE_SCHEMA='eab12'"
輸出結(jié)果如下:
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;
....
....
這樣就更完善了:
mysql -N -s information_schema -e "SELECT CONCAT('TRUNCATE TABLE ',TABLE_NAME,';') FROM TABLES WHERE TABLE_SCHEMA='eab12'" | mysql eab12
即清空eab12中所有的表。
但是如果有外鍵的話,很可能會報錯。因此還需要加個-f
mysql -N -s information_schema -e "SELECT CONCAT('TRUNCATE TABLE ',TABLE_NAME,';') FROM TABLES WHERE TABLE_SCHEMA='eab12'" | mysql -f eab12
多執(zhí)行幾次,直到不報錯。
以上就是Mysql清空表的實現(xiàn)方法。
備注:
SQLyog 11.24 也可以選擇數(shù)據(jù)庫---右鍵單擊---更多數(shù)據(jù)庫操作---截位數(shù)據(jù)庫
轉(zhuǎn)載自:http://blog.sina.com.cn/s/blog_71fbce730100obnq.html
1.大多時候,我們需要使用 mysql -e "" database 的方式,執(zhí)行一些命令,并且select 它會返回包含字段名在內(nèi)的行,我們還得手工將其去除 mysql -e "select name" database 2>/dev/null | sed -e '/name/d',其實不必這樣麻煩,可以直接這樣用mysql --skip-column-names[-N] -e "select name" database 2>/dev/null
2.在update,insert,delete的時候,我們更需要知道,它影響了多少行;可以這樣使用 mysql --skip-column-names(-N) -e "update table set field=xx limit 10;select row_count();" database
3.在select的時候,我們更需要知道,它找到多少行;可以這樣使用 mysql --skip-column-names(-N) -e "update table set field=xx limit 10;select found_rows();" database
4.在insert的時候,我們更需要知道,它insert的id;可以這樣使用 mysql --skip-column-names(-N) -e "update table set field=xx limit 10;select last_insert_id();" database 但是會碰到一個問題,只要是concat里面有一個是 null 的就會返回 null而且,每個中間都要有 '#',也比較麻煩 mysql="select concat_ws( '###',replace( ifnull(cid,''),' ','' ),replace( ifnull(username,''),' ','' ),replace( ifnull(password,''),' ','' ),replace( ifnull(comName,''),' ','' ),replace( ifnull(scomname,''),' ','' ),replace( ifnull(l_person,''),' ','' ),replace( ifnull(l_mobile,''),' ','' ),replace( ifnull(telephone,''),' ','' ),replace( ifnull(remark,''),' ','' ),replace( ifnull(status,''),' ','' ) ) from company order by cid asc limit 0,15"; 用concat_ws(delimiter,'xx','yy')==xx#yy用 ifnull( field ,replace_sta
本條技術(shù)文章來源于互聯(lián)網(wǎng),如果無意侵犯您的權(quán)益請點擊此處反饋版權(quán)投訴
本文系統(tǒng)來源:php中文網(wǎng)
總結(jié)
以上是生活随笔為你收集整理的清空mysql一个库中的所有表_mysql怎样清空一个数据库中的所有表_MySQL的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 黄心红薯的功效与作用、禁忌和食用方法
- 下一篇: 怀孕能吃烤鸭吗