用python獲取mysql中的錶行數

orclwujian發表於2016-12-06
#匯入MySQLdb模組,這個模組需要自己安裝,安裝文件請見http://blog.itpub.net/29989552/viewspace-1805409/
import MySQLdb

#開啟資料庫連線
conn=MySQLdb.connect(host='172.30.249.57',port=3306,user='root',passwd='Welcome1>')

#使用cursor()方法獲取遊標
cursor1=conn.cursor(cursorclass=MySQLdb.cursors.DictCursor)
cursor2=conn.cursor(cursorclass=MySQLdb.cursors.DictCursor)
begin=True
while begin==True:

#輸入要查詢的哪個資料下的表資訊
        schema=raw_input('Please enter database name:') 

#執行sql獲取資料庫庫名
        cursor1.execute("select TABLE_SCHEMA from information_schema.tables group by TABLE_SCHEMA")
        rows=cursor1.fetchall()
        schemalist=[]
        for list in rows:
                schemalist.append(list['TABLE_SCHEMA'])

#判斷使用者是否輸入正確的資料庫名
        if schema in schemalist:
#執行sql獲取資料庫下的表資訊
                sql="select TABLE_NAME,TABLE_ROWS from information_schema.TABLES  where TABLE_SCHEMA='%s'" % (schema)
                cursor2.execute(sql)
                result=cursor2.fetchall()
                begin=False
#迴圈輸出
                for list2 in result:
                        print list2['TABLE_NAME']+':'+str(list2['TABLE_ROWS'])
        else:
                begin=True
                print '-database name not exist,please enter again-'
cursor1.close()
cursor2.close()
conn.commit()
conn.close()

效果:
[root@~]# python schema.py

Please enter database name:123      
-database name not exist,please enter again-
Please enter database name:test
fd_saleman_info:1612
fd_wx_user_info:1498
id:1
invite_user_detail:43341
july_active_earn_rank:2000

注意:這裡的行數是統計資訊裡的資料,會和實際去用select count(*)查出來的資料有差異

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29989552/viewspace-2129864/,如需轉載,請註明出處,否則將追究法律責任。

相關文章