前言
我們經常需要將大量數據保存起來以備后續使用,數據庫是一個很好的解決方案。在眾多數據庫中,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增刪改查內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:- 解決python mysql insert語句的問題
- python 在mysql中插入null空值的操作
- Python+MySQL隨機試卷及答案生成程序的示例代碼
- 詳解Python之Scrapy爬蟲教程NBA球員數據存放到Mysql數據庫
- Python從MySQL數據庫中面抽取試題,生成試卷
- python3 使用ssh隧道連接mysql的操作
- Python批量刪除mysql中千萬級大量數據的腳本分享
- python查詢MySQL將數據寫入Excel
- Python操控mysql批量插入數據的實現方法
- Python下的Mysql模塊MySQLdb安裝詳解
- python中MySQLdb模塊用法實例
- Python中操作mysql的pymysql模塊詳解
- MySQL和Python交互的示例