#----------------------------------------------------- #範例13-7:印出前3筆,後3筆,印出全部資料 #------------------------------------------------- #(1)步驟1:建議:mySQL範例要在anaconda裡面測試(不要再cola測試) #要先安裝:python 3.x版本的安裝mysql的指令:pip install pymysql #(2)步驟2:安裝mySQL #安裝: wamp或xamp #帳號為root,密碼不設定 #(3)步驟3:建立mydb資料庫,匯入scorechi資料表 #(4)步驟4:連線mydb資料庫指令 #import pymysql #conn = pymysql.connect(host="localhost",user="root", password="", db="ch09") #(5)步驟5:查詢scorechi資料表,轉成df指令 #import pandas as pd #df = pd.read_sql_query("select * from books", conn) #------------------------------ #練習1:讀取mySQL資料庫 #------------------------------ #連線mydb資料庫指令 import pymysql conn = pymysql.connect(host='localhost', user='root', password='', db='mydb') #查詢scorechi資料表,轉成df指令 import pandas as pd df = pd.read_sql_query("select * from scorechi", conn) print() print("1-1.顯示全部資料=\n", df) #------------------------------ #練習2:印出前3筆 # (1)注意:mySQL與MS SQL的指令不同: # mySQL指令: SELECT * FROM Customers limit 3; # MS SQL指令: SELECT TOP 3 * FROM Customers; #SQL:印出前3筆 ==> df2 = pd.read_sql_query("select * from scorechi limit 3", conn) #Pandas:印出前3筆==> df.head(3) #------------------------------ print() df2 = pd.read_sql_query("select * from scorechi limit 3", conn) print("2-1.mySQL:印出前3筆 =\n", df2) print() #df2 = pd.read_sql_query("select TOP 3 * from scorechi", conn) print("2-2.MS SQL:印出前3筆 =\n", df2) #注意:mySQL與MS SQL的指令不同: # mySQL指令: SELECT * FROM Customers limit 3; # MS SQL指令: SELECT TOP 3 * FROM Customers; print() print("2-3.Pandas:印出前3筆 =\n", df.head(3)) #------------------------------ #練習3:印出後3筆 #SQL:印出後3筆 ==> df2 = pd.read_sql_query("select * from scorechi order by 學號 desc limit 3", conn) #Pandas:印出後3筆==> df.tail(3) #------------------------------ print() df2 = pd.read_sql_query("select * from scorechi order by 學號 desc limit 3", conn) print("3-1.SQL:印出後3筆 =\n", df2) print() print("3-2.Pandas:印出後3筆 =\n", df.tail(3)) #------------------------------ #練習4:顯示全部資料 #SQL:顯示所有列row ==> df2 = pd.read_sql_query("select * from scorechi", conn) #Pandas:顯示所有列row ==> pd.set_option('display.max_rows', None) #------------------------------ print() df2 = pd.read_sql_query("select * from scorechi", conn) print("4-1.SQL:顯示全部資料 =\n", df2) print() #顯示所有欄位(columns) pd.set_option('display.max_columns', None) #顯示所有列row(index) pd.set_option('display.max_rows', None) print("4-2.Pandas:顯示全部資料 =\n", df) #關閉連線 conn.close() #--------------------------------------------------------------------