Python接入MySQL實現增刪改查的實戰記錄

前言

我們經常需要將大量數據保存起來以備後續使用,數據庫是一個很好的解決方案。在眾多數據庫中,MySQL數據庫算是入門比較簡單、語法比較簡單,同時也比較實用的一個。本文主要介紹瞭Python接入MySQL實現增刪改查的相關內容,下面話不多說,一起來看看詳細的介紹吧

打開數據庫連接,創建數據庫和表

基本語法如下:

execute(query, args=None)
# query為字符串類型的sql語句
# args:可選的序列或映射,用於query的參數值。
# 如果args為序列,query中必須使用%s做占位符;
# 如果args為映射,query中必須使用%(key)s做占位符

案例:數據庫名learning,表名houses,字段name house_location purchasing_year

import pymysql
db = pymysql.connect('localhost', 'root', "password")  # 打開數據庫連接,password替換為本機數據庫密碼
cursor = db.cursor()
cursor.execute('drop database learning;')
cursor.execute('create database learning;')
cursor.execute('use learning')
sql_create = """create table houses (name VARCHAR(100) NOT NULL, house_location VARCHAR(100) NOT NULL, purchasing_year VARCHAR(100) NOT NULL);"""
cursor.execute(sql_create)

插入

# 插入
sql_insert = """insert into houses values(%s,%s,%s);"""
cursor.execute(sql_insert,('夢璃','南天門',1995))  # 插入單條數據
cursor.executemany(sql_insert,[('紫英','蜀山',1996),('天河','石沉',1997),('菱紗','溪洞',1998)])  # 插入多條數據

查詢

sql_select = """select * from houses"""
# 單條查詢
cursor.execute(sql_select)
while 1:
 result = cursor.fetchone()
 if result is None:
  # 取完所有結果
  break
 print(result)

# 多條查詢,取3條數據
cursor.execute(sql_select)
Result = cursor.fetchmany(3)
for res in Result:
 print(res)

# 多條查詢,取所有數據
cursor.execute(sql_select)
Result = cursor.fetchall()
for res in Result:
 print(res)

更新

# 更新一條數據
sql_update = """update houses set purchasing_year=2000 where name='菱紗';"""
cursor.execute(sql_update)
cursor.execute(sql_select)
Result = cursor.fetchall()
for res in Result:
 print(res)
# 更新多條數據
sql_update = """update houses set purchasing_year=%s where name=%s;"""
cursor.executemany(sql_update,[(2018,'夢璃'),(2019,'紫英')])
cursor.execute(sql_select)
Result = cursor.fetchall()
for res in Result:
 print(res)
# 回滾事務
db.rollback()
cursor.execute(sql_select)
Result = cursor.fetchall()
for res in Result:
 print(res)

刪除

# 刪除1條數據
sql_delete = """delete from houses where name='夢璃';"""
cursor.execute(sql_delete)
cursor.execute(sql_select)
Result = cursor.fetchall()
for res in Result:
 print(res)
# 刪除多條數據
sql_delete = """delete from houses where name=%s;"""
cursor.executemany(sql_delete,[('天河'),('紫英')])
cursor.execute(sql_select)
Result = cursor.fetchall()
for res in Result:
 print(res)

關閉遊標,關閉數據庫連接

cursor.close()           # 關閉遊標
db.commit()
db.close()            # 關閉數據庫連接
print('sql執行成功')

總結

到此這篇關於Python接入MySQL實現增刪改查的文章就介紹到這瞭,更多相關Python MySQL增刪改查內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: