溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python接入MySQL如何實現(xiàn)增刪改查

發(fā)布時間:2021-03-06 10:17:03 來源:億速云 閱讀:183 作者:小新 欄目:開發(fā)技術

小編給大家分享一下Python接入MySQL如何實現(xiàn)增刪改查,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

前言

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

打開數(shù)據(jù)庫連接,創(chuàng)建數(shù)據(jù)庫和表

基本語法如下:

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

案例:數(shù)據(jù)庫名learning,表名houses,字段name house_location purchasing_year

import pymysql
db = pymysql.connect('localhost', 'root', "password")  # 打開數(shù)據(jù)庫連接,password替換為本機數(shù)據(jù)庫密碼
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))  # 插入單條數(shù)據(jù)
cursor.executemany(sql_insert,[('紫英','蜀山',1996),('天河','石沉',1997),('菱紗','溪洞',1998)])  # 插入多條數(shù)據(jù)

查詢

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

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

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

更新

# 更新一條數(shù)據(jù)
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)
# 更新多條數(shù)據(jù)
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條數(shù)據(jù)
sql_delete = """delete from houses where name='夢璃';"""
cursor.execute(sql_delete)
cursor.execute(sql_select)
Result = cursor.fetchall()
for res in Result:
 print(res)
# 刪除多條數(shù)據(jù)
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)

關閉游標,關閉數(shù)據(jù)庫連接

cursor.close()           # 關閉游標
db.commit()
db.close()            # 關閉數(shù)據(jù)庫連接
print('sql執(zhí)行成功')

看完了這篇文章,相信你對“Python接入MySQL如何實現(xiàn)增刪改查”有了一定的了解,如果想了解更多相關知識,歡迎關注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI