日韩性视频-久久久蜜桃-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)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 无码人妻aⅴ一区二区三区69岛 | 亚洲xx网 | 欧美午夜精品久久久久久浪潮 | 吃奶摸下的激烈视频 | 五月激情小说 | 日韩视频免费 | 亚洲视频手机在线 | 成人午夜sm精品久久久久久久 | 香蕉依人 | 不卡av电影在线观看 | 秋霞无码一区二区 | 亚洲日皮| 9久9久9久女女女九九九一九 | 欧美com| 毛片视频网址 | 亚洲图片综合区 | 久久网亚洲 | 亚洲男性天堂 | 亚洲国产无线乱码在线观看 | 久久久久99精品成人片 | 天码人妻一区二区三区在线看 | 爱情岛论坛亚洲品质自拍视频 | 国产亚洲一区二区三区四区 | 国产精品伊人久久 | 日本在线天堂 | 精品女同一区二区三区 | 国偷自产av一区二区三区 | 亚洲一区二区三区在线观看视频 | 日韩一区二区在线观看视频 | 国产成人在线视频免费观看 | 国产精品久久久久久婷婷天堂 | 国产欧美日韩精品在线 | 亚洲精品aⅴ | www亚洲精品 | 精品人妻人伦一区二区有限公司 | 久久久久亚洲av成人毛片韩 | 青青在线观看视频 | 日韩欧美在线视频观看 | 无码精品a∨在线观看中文 福利片av | 欧美性生交xxxxx久久久 | 日本成人一区二区三区 | 亚洲成人精品网 | 日韩伦理视频 | 日韩精品自拍 | www.xxxxx日本 | 国产成人精品无码免费看在线 | 国产一区二区三区精品视频 | 天堂资源中文 | 成人欧美一区二区三区黑人一 | 午夜影院在线观看 | 爆操老女人 | 久热网| 国产精品第9页 | 囯产精品久久久久久 | 亚洲第三区 | 岛国一区二区三区 | 痴汉电车在线观看 | 日韩免费一级 | 久久中文一区 | 少妇丰满尤物大尺度写真 | www.性欧美| 色婷婷www | 一本av在线| 天天爽| 亚洲一区二区高清视频 | 黄网站免费看 | 69中国xxxxxxxxx69| 999久久久久 | 操网| 69视频在线 | 人人澡人人干 | 欧美黄一级 | 亚洲一区二区三区在线播放 | 狠狠鲁影院 | 三级a做爰全过程 | 韩国伦理电影免费在线 | 国产精品一区二区不卡 | 国产乡下妇女三片 | 中文在线а√在线 | 韩国美女av | 久久久久久午夜 | 久久无码人妻丰满熟妇区毛片 | 男女黄床上色视频 | 欧美中文一区 | 亚洲欧美激情小说另类 | 亚洲精品www久久久久久广东 | 黄色aaaaa| 91精品视频一区二区三区 | 手机电影在线观看 | 久久精品国产一区二区 | 性少妇mdms丰满hdfilm | 国产精品熟女一区二区不卡 | 黄色在线观看国产 | 美女作爱网站 | 精品欧美一区二区在线观看 | 在线观看福利片 | 无码h肉动漫在线观看 | 爱福利视频网 | 97国产精品视频 |