日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

MySQL获取数据库每个表的行数

發(fā)布時間:2025/3/21 数据库 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MySQL获取数据库每个表的行数 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

這個問題的起因,是我要進行數(shù)據(jù)庫數(shù)據(jù)的遷移,遷移后確定數(shù)據(jù)是否都遷移成功而遇到的。

對于數(shù)據(jù)庫的遷移,我是使用MySQL官方的數(shù)據(jù)庫管理工具MySQL Workbench完成的。源數(shù)據(jù)庫和目標(biāo)數(shù)據(jù)庫都使用MySQL Workbench連接上去。下面以測試數(shù)據(jù)庫為例講講過程。(如果不想看我廢話,想直接查看怎樣獲取數(shù)據(jù)庫/表記錄數(shù)的同學(xué),請直接翻到“四、獲取數(shù)據(jù)庫每個表的行數(shù)”和“?五、獲取數(shù)據(jù)庫總行數(shù)”吧 ^_^)

一、從源數(shù)據(jù)庫導(dǎo)出數(shù)據(jù)到本地

在MySQL Workbench中,通過“Server”-“Data Export”進入數(shù)據(jù)導(dǎo)出功能頁:?
?
在左邊選擇要導(dǎo)出的數(shù)據(jù)庫(多選),同時可以在右邊選擇該數(shù)據(jù)庫下需要導(dǎo)出的表(多選),其余選項根據(jù)自己需要自行選擇,我只選了“Include Create Schema”,添加用于生成數(shù)據(jù)庫的SQL語句。最后點擊“Start Export”開始導(dǎo)出即可。?
從軟件顯示的log中可以看到,實際是執(zhí)行了mysqldump來進行數(shù)據(jù)導(dǎo)出的:

Running: mysqldump.exe --defaults-file="c:\users\lzm\appdata\local\temp\tmp07fpyy.cnf" --user=root --host=127.0.0.1 --protocol=tcp --port=3306 --default-character-set=utf8 --skip-triggers "phalcon_invo"
  • 1

二、在目標(biāo)數(shù)據(jù)庫導(dǎo)入數(shù)據(jù)

與導(dǎo)出數(shù)據(jù)類似,在MySQL Workbench中,通過“Server”-“Data Import”進入數(shù)據(jù)導(dǎo)入功能頁:?
?
由于我們導(dǎo)出的時候,選擇了“Self-Contained File”,所以這里也勾選上這項,其他的默認(rèn)即可,點擊“Start Import”進行導(dǎo)入。同樣的,也可以通過log看到MySQL Workbench干了什么:

Running: mysql.exe --defaults-file="c:\users\lzm\appdata\local\temp\tmp7yfvll.cnf" --protocol=tcp --host=127.0.0.1 --user=root --port=3306 --default-character-set=utf8 --comments < "C:\\Users\\lzm\\Documents\\dumps\\Dump20160818-2.sql"
  • 1

三、檢驗數(shù)據(jù)是否遷移成功

這里可以利用MySQL Workbench查看數(shù)據(jù)庫信息,如下圖:?
?
如圖,數(shù)據(jù)指到要查看的數(shù)據(jù)庫上,點擊出現(xiàn)的“I”圖標(biāo),就可以顯示這個數(shù)據(jù)庫的相關(guān)信息,其中最后一項“Database Size(rough estimate)”即是數(shù)據(jù)庫的大小。在我的實際數(shù)據(jù)庫中,源數(shù)據(jù)庫顯示的是1.5G,而目標(biāo)數(shù)據(jù)庫顯示的卻只有847MB。?
此外,還可以切換到“Tables”選項卡,查看各個表的信息:?
?
注意到其中有一項“Rows”,顯示了每個表的行數(shù),這里有不少表在源數(shù)據(jù)庫和目標(biāo)數(shù)據(jù)庫顯示的行數(shù)也是不同的。這兩個地方讓我一度以為遷移失敗了。直到我一不小心執(zhí)行了select count(*) from xxx,竟意外的發(fā)現(xiàn)結(jié)果是相同的,在MySQL Workbench中看到的行數(shù)雖然不同,但是通過SQL查詢出來的結(jié)果是相同的。于是,為了確定是否所有表都相同,就引出了今天的問題:MySQL獲取數(shù)據(jù)庫每個表的行數(shù)。

四、獲取數(shù)據(jù)庫每個表的行數(shù)

方法1.利用INFORMATION_SCHEMA.TABLES 表

對這個沒有深入去了解,只知道這個表是在MySQL中默認(rèn)存在的,包含了各個數(shù)據(jù)庫以及各個表的各種信息,具體可以參考官方文檔。具體的用法就是

select table_name,table_rows from information_schema.tables where TABLE_SCHEMA = 'phalcon_invo' order by table_rows desc
  • 1

看到結(jié)果的我驚呆了,發(fā)現(xiàn)這不正和“三”中在MySQL Workbench中看到的數(shù)據(jù)一樣嗎?也是不正確的!上網(wǎng)查了一下,看到有說法說,“對于InnoDB表,table_rows行計數(shù)僅是大概估計值。”到了這里,順便也發(fā)現(xiàn)了MySQL Workbench的數(shù)據(jù)庫大小信息以及每個表的行數(shù)其實都是通過 INFORMATION_SCHEMA.TABLES中的“DATA_LENGTH”和“TABLE_ROWS”字段實現(xiàn)的(PS:后來仔細看發(fā)現(xiàn)人家MySQL Workbench顯示數(shù)據(jù)庫大小那里特意用括號標(biāo)注了“rough estimate”,即“粗略估計”,只怪我英語不好,一開始被我直接無視掉了。。。)。既然這個方法行不通,那我們只能老老實實的通過select count(*) from xxx來查看了。

方法2.批量查找各表的行數(shù)

雖然要通過select count(*) from xxx來查看,但我們也不能自己手動把xxx替換成每個表呀,那不得累死了!雖然上面的INFORMATION_SCHEMA.TABLES中的“DATA_LENGTH”和“TABLE_ROWS”并不可靠,但是它的“TABLE_NAME”還是可靠的,所以我們就要利用這個字段,獲取每個表的名字,然后批量構(gòu)造出查詢的SQL語句,就可以大大減輕我們的負(fù)擔(dān)啦!?
a.構(gòu)造SQL語句

select concat('select "',TABLE_name,'", count(*) from ',TABLE_SCHEMA,'.',TABLE_name,' union all' ) from information_schema.tables where TABLE_SCHEMA='phalcon_invo';
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

執(zhí)行后,我們便獲得了構(gòu)造好的SQL語句了,如圖:?
?
一個Ctrl + a ,復(fù)制中間的查詢結(jié)果備用。?
b.執(zhí)行查詢?
粘貼上一步復(fù)制的SQL語句,并去掉最后的一個“union all”:

select "companies", count(*) from phalcon_invo.companies union all select "contact", count(*) from phalcon_invo.contact union all select "product_types", count(*) from phalcon_invo.product_types union all select "products", count(*) from phalcon_invo.products union all select "users", count(*) from phalcon_invo.users
  • 1
  • 2
  • 3
  • 4
  • 5

再執(zhí)行語句就可以啦:?
?
大功告成!

五、獲取數(shù)據(jù)庫總行數(shù)

上面的方法已經(jīng)可以獲取某個數(shù)據(jù)庫里每個表的行數(shù)了,但如果你只關(guān)心總行數(shù)的話,還要把它們加起來,這就比較麻煩了。所以再補充一個直接獲取總行數(shù)的方法,和上面的方法很相似,也是分兩步,構(gòu)造SQL和執(zhí)行查詢,只不過構(gòu)造SQL的時候用一個sum語句來包住就可以了。?
a.構(gòu)造SQL語句

select 'select sum(count) as total_rows from (' union all select concat('select "',TABLE_name,'", count(*) as count from ',TABLE_SCHEMA,'.',TABLE_name,' union all' ) from information_schema.tables where TABLE_SCHEMA='mewme_address' union all select ') as total'
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

b.執(zhí)行查詢?
粘貼上一步復(fù)制的SQL語句,并去掉最后的一個“union all”:

select sum(count) as total_rows from ( select "companies", count(*) as count from phalcon_invo.companies union all select "contact", count(*) as count from phalcon_invo.contact union all select "product_types", count(*) as count from phalcon_invo.product_types union all select "products", count(*) as count from phalcon_invo.products union all select "users", count(*) as count from phalcon_invo.users ) as total
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

這樣就省事許多啦!

參考文章:?
mysql中查看數(shù)據(jù)庫中所有表的記錄

from: http://blog.csdn.net/call_me_lzm/article/details/52244162

總結(jié)

以上是生活随笔為你收集整理的MySQL获取数据库每个表的行数的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 黄色小视频在线观看 | 综合久久久久 | 日本女人黄色片 | 在线观看av中文字幕 | 成人高清视频在线观看 | 国产一卡二卡三卡 | 无码精品人妻一区二区三区漫画 | 婷婷色基地 | 精品乱码久久久久久中文字幕 | 免费看a毛片 | 亚洲精品国产熟女久久久 | 无码精品在线观看 | 日韩一及片 | 污污内射久久一区二区欧美日韩 | 久久人人视频 | 青青操网| 日韩中文字幕影院 | 丰满人妻中伦妇伦精品app | 第一页综合 | 黄色网址av | 日韩在线高清视频 | 久久最新网址 | 小视频成人| 欧美在线观看免费高清 | 欧美一区二区三区四区在线 | 欧美3p视频 | 我和公激情中文字幕 | 日韩一区二区免费视频 | 亚洲h片 | www.欧美成人| 黄色片子一级 | 国模吧一区二区三区 | 中文字幕在线免费观看视频 | 波多野吉衣久久 | 免费在线黄网 | 黄色片久久 | 日韩第四页 | 亚洲一区二区免费 | 99久久免费看精品国产一区 | 国产一区二区三区四区五区 | 伊人av影院 | 蜜臂av | 夜夜骑天天干 | 亚洲成人av免费 | 久久这里有精品 | 亚洲免费在线 | 亚洲无码精品免费 | 国产精品无码久久久久成人app | 中文字幕一区二区在线视频 | 紧身裙女教师三上悠亚红杏 | 欧美大片高清 | 色婷婷国产精品久久包臀 | 浪浪视频在线观看 | 午夜精品久久久久久毛片 | www夜夜操 | 亚洲天堂偷拍 | 操操操操操操操操操操 | 国产在线观看免费视频软件 | 久久99精品波多结衣一区 | 国产制服在线 | 日本视频免费在线 | 在线观看av网页 | 欧美一级爽aaaaa大片 | 999综合网 | 欧美不卡一二三 | 亚洲一区二区三区高清视频 | 草草在线观看视频 | 国产精品91久久 | 一区二区在线免费看 | 欧美极品少妇xxxxⅹ裸体艺术 | 亚洲欧美在线一区 | 亚州国产精品 | 欧美aaaaaaa| 成人欧美一区二区三区黑人动态图 | 久久99日 | 天天摸夜夜添狠狠添婷婷 | 久久精品国产亚洲av无码娇色 | 麻豆精品国产传媒mv男同 | 97涩涩网 | 国产欧美综合一区二区三区 | 久久久久久国产精品三区 | 就爱av | 精品少妇一区二区三区免费观看 | 丁香婷婷网 | 久操福利| 日韩一区二区三区视频在线 | 日本熟妇一区二区三区四区 | 爆操少妇 | 麻豆福利影院 | 亚洲精品在线免费 | 欧美久久久久久久久久久 | 91免费精品 | 天天干天天色天天射 | 欧美日韩国产高清 | 三年中国片在线高清观看 | 深爱五月激情五月 | 欧美sm极限捆绑bd | 俺也来俺也去俺也射 | 幸福,触手可及 |