使用PyMySQL
連接數據庫
pymysql.Connect()
import pymysql db = pymysql.Connect( host="localhost", port=3306, user="root", password="12345", db="taobao", charset="utf8" )
基礎操作:增加、刪除、修改、查詢
connection對象支持的方法如下:
cursor():使用該連接創建並返回游標
commit():提交當前事務
rollback():回滾當前事務
close():關閉連接
cursor對象支持的方法如下:
execute(op):執行一個數據庫的查詢命令
fetchone():取得結果集的下一行
fetchmany(size):獲取結果集的下幾行
fetchall():獲取結果集中的所有行
rowcount():返回數據條數或影響行數
close():關閉游標對象
向數據庫新增數據:
op = "insert into table_name(column1,column2,...,columnN) values(value1,value2,...,valueN)"
cursor.execute(op)
刪除數據庫中的數據:
op = “delete from table_name where condition_statement"
cursor.execute(op)
修改數據庫中的數據:
op = "update table_name set column1=value1,column2=value2,...,columnN=valueN where condition_statement"
cursor.execute(op)
查詢數據庫中的數據:
op = "select * from table_name where condition_statement"
cursor.execute(op)
案例:
原始數據:
將原始數據通過NaviCat導入到數據庫中。
連接數據庫:
import pymysql db = pymysql.Connect( host="localhost", port=3306, user="root", password="12345", db="taobao", charset="utf8" )
查詢位置在江浙滬的商品銷量
cur = db.cursor() sql = 'SELECT * FROM sale_data WHERE 位置 IN (%s,%s,%s)' cur.execute(sql,("江蘇“,”浙江“,”上海“)) result = cur.fetchall() for item in result: print(item)
刪除價格低於100元的商品記錄
sql = 'DELETE FROM sale_data WHERE 價格 < 100' cur.execute(sql) db.commit() #自動提交,保存所執行的語句
把位置“江蘇”“浙江”“上海”統一改為“江浙滬”
sql = 'UPDATE sale_data SET 位置 = %s WHERE 位置 IN (%s,%s,%s)' cur.execute(sql,("江浙滬“,”江蘇“,”浙江“,”上海“)) db.commit()
插入一條新的銷售記錄
sql = 'INSERT INTO sale_data(商品,價格,成交量,賣家,位置) VALUES(%s,%s,%s,%s,%s)' cur.execute(sql,("連衣裙“,298,10000,”某店“,”北京“)) db.commit()
關閉游標和數據庫連接:
cur.close() db.close()