from pymysql import *
import matplotlib.pyplot as plt
def main():
name = []
salary = []
#建立數據庫連接
#host:主機 port:端口 user:數據庫用戶 password:密碼
#database:數據庫名 charset:編碼集
cnn = connect(host="localhost", port=3306, \
user="root", password="frank_123", \
database="test", charset="utf8")
#創建遊標
cur = cnn.cursor()
tables = cur.execute("SHOW TABLES")
for i in range(tables):
print(cur.fetchone())
#執行MySQL語句,返回的record爲查詢到表中的記錄的個數,即行數
record = cur.execute("SELECT * FROM employee")
#遊標相當於鼠標的光標,通過遊標獲取查詢到的相關記錄
#返回的查詢記錄是元組類型
#fetchmany一次獲取所有查詢記錄
#fetchone一次只獲取一條查詢記錄
result = cur.fetchmany(record)
print(result)
for line in result:
name.append(line[2])
salary.append(line[4])
#先關閉遊標,再關閉與數據庫的連接
cur.close()
cnn.close()
return name, salary
if __name__=="__main__":
name, salary = main()
plt.bar(range(len(name)), salary, width=0.1, tick_label=name, color="orange")
plt.xlabel("names")
plt.ylabel("salary")
plt.show()
('employee',)
((1001, 26, 'Tom', '北京', Decimal('8000.00'), 'R&D', Decimal('0.25'), datetime.date(1993, 10, 2)),
(1002, 25, 'Charles', '北京', Decimal('4000.00'), 'Personnel', None, datetime.date(1996, 3, 10)),
(1003, 30, 'Douglas', '上海', Decimal('4000.00'), 'Personnel', Decimal('0.20'), datetime.date(1995, 8, 20)),
(1004, 28, 'Justin', '北京', Decimal('10000.00'), 'R&D', Decimal('0.36'), datetime.date(1990, 7, 26)),
(1005, 32, 'Marshal', '深圳', Decimal('4000.00'), 'Logistics', None, datetime.date(1985, 5, 11)))
以上代碼實際並沒有多大意義,只是爲了做從數據庫導入數據便於做數據分析的樣例。