Python中的數據庫連接與查詢——使用PyMySQL


使用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()

  

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM