91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

Python3 操作Mysql數據庫

發布時間:2020-07-23 03:39:02 來源:網絡 閱讀:620 作者:低調的男孩 欄目:系統運維

Pymysql介紹

PyMySQL 是在 Python3.x 版本中用于連接 MySQL 服務器的一個庫,而Python2中則使用mysqldb。
PyMySQL 遵循 Python 數據庫 API v2.0 規范,并包含了 pure-Python MySQL 客戶端庫。

通用步驟:

1.引入模塊
2.獲取與數據庫的連接
3.執行SQL語句和存儲過程
4.關閉數據庫連接

Python3 操作Mysql數據庫

PyMySQL 安裝

1.打開cmd命令

cd C:\Users\Administrator\AppData\Local\Programs\Python\Python37\Scripts #切換目錄
pip install pymysql

Python3 操作Mysql數據庫

數據庫連接

import pymysql #模塊導入
#打開數據庫連接
db = pymysql.connect(
host='數據庫ip',
user='用戶名,
passwd='密碼',
db='數據庫名',
port=3306,
charset='utf8'
)
#使用 cursor() 方法創建一個游標對象 cursor
cursor = db.cursor()
#使用 execute() 方法執行 SQL 查詢
cursor.execute("SELECT VERSION()")
#使用 fetchone() 方法獲取單條數據.
data = cursor.fetchone()
print ("Database version : %s " % data)
#關閉數據庫連接
db.close()

腳本輸出結果:

Database version : 5.6.24-log

創建數據庫表

import pymysql
#打開數據庫連接
db = pymysql.connect(
host='數據庫ip',
user='用戶名,
passwd='密碼',
db='數據庫名',
port=3306,
charset='utf8'
)
#使用 cursor() 方法創建一個游標對象 cursor
cursor = db.cursor()
#使用 execute() 方法執行 SQL,如果表存在則刪除
cursor.execute("DROP TABLE IF EXISTS info")
#使用預處理語句創建表
sql = """create table info (id int not null,name char(6),score decimal(5,2),age int(4));"""
cursor.execute(sql)
#關閉數據庫連接
db.close()

腳本驗證
Python3 操作Mysql數據庫

數據庫插入操作

import pymysql
#打開數據庫連接
db = pymysql.connect(
host='數據庫ip',
user='用戶名,
passwd='密碼',
db='數據庫名',
port=3306,
charset='utf8'
)
#使用cursor()方法獲取操作游標
cursor = db.cursor()
#SQL 插入語句
sql_1= """insert into info (id,name,score,age)values(1,'張三',88,33);"""
sql_2 = """insert into info (id,name,score,age)values(2,'李四',78,23);"""
sql_3 = """insert into info (id,name,score,age)values(3,'王五',58,43);"""
try:
#執行sql語句
cursor.execute(sql_1)
cursor.execute(sql_2)
cursor.execute(sql_3)
#提交到數據庫執行
db.commit()
except:
#如果發生錯誤則回滾
db.rollback()
#關閉數據庫連接
db.close()

插入數據驗證
Python3 操作Mysql數據庫

數據庫查詢操作

Python查詢Mysql使用 fetchone() 方法獲取單條數據, 使用fetchall() 方法獲取多條數據。
fetchone(): 該方法獲取下一個查詢結果集。結果集是一個對象
fetchall(): 接收全部的返回結果行.
rowcount: 這是一個只讀屬性,并返回執行execute()方法后影響的行數。

腳本文件:

import pymysql
#打開數據庫連接
db = pymysql.connect(
host='數據庫ip',
user='用戶名,
passwd='密碼',
db='數據庫名',
port=3306,
charset='utf8'
)
#使用cursor()方法獲取操作游標
cursor = db.cursor()
#SQL 查詢語句
sql = 'select * from info;'
#執行SQL語句
cursor.execute(sql)
#獲取所有記錄列表
res = cur.fetchall()
#打印結果
print(res)
#打印出每個元組
print(res[0])
print(res[1])
print(res[2])
|#關閉游標
cur.close()
#關閉數據庫
db.close()

查詢驗證
Python3 操作Mysql數據庫

數據庫更新操作

import pymysql
#打開數據庫連接
db = pymysql.connect(
host='數據庫ip',
user='用戶名,
passwd='密碼',
db='數據庫名',
port=3306,
charset='utf8'
)
#使用cursor()方法獲取操作游標
cursor = db.cursor()
#SQL 查詢語句
sql = 'UPDATE info SET AGE = AGE + 1 WHERE id=3'
#執行SQL語句
cursor.execute(sql)
try:
#執行SQL語句
cursor.execute(sql)
#提交到數據庫執行
db.commit()
except:
#發生錯誤時回滾
db.rollback()
#關閉數據庫連接
db.close()

更新驗證
Python3 操作Mysql數據庫

刪除操作

import pymysql
#打開數據庫連接
db = pymysql.connect(
host='數據庫ip',
user='用戶名,
passwd='密碼',
db='數據庫名',
port=3306,
charset='utf8'
)
#使用cursor()方法獲取操作游標
cursor = db.cursor()
#SQL 查詢語句
sql = 'DELETE FROM info WHERE id=3;'
#執行SQL語句
cursor.execute(sql)
try:
#執行SQL語句
cursor.execute(sql)
#提交到數據庫執行
db.commit()
except:
#發生錯誤時回滾
db.rollback()
#關閉數據庫連接
db.close()

刪除驗證
Python3 操作Mysql數據庫

執行事務

事務機制可以確保數據一致性。
事務應該具有4個屬性:原子性、一致性、隔離性、持久性。這四個屬性通常稱為ACID特性。
原子性(atomicity)。一個事務是一個不可分割的工作單位,事務中包括的諸操作要么都做,要么都不做。
一致性(consistency)。事務必須是使數據庫從一個一致性狀態變到另一個一致性狀態。一致性與原子性是密切相關的。
隔離性(isolation)。一個事務的執行不能被其他事務干擾。即一個事務內部的操作及使用的數據對并發的其他事務是隔離的,并發執行的各個事務之間不能互相干擾。
持久性(durability)。持續性也稱永久性(permanence),指一個事務一旦提交,它對數據庫中數據的改變就應該是永久性的。接下來的其他操作或故障不應該對其有任何影響。
Python DB API 2.0 的事務提供了兩個方法 commit 或 rollback。

錯誤處理

Python3 操作Mysql數據庫

總結:

1.本文參考了菜鳥教程和親自操作后寫出來的。
2.python2和pyhton3 模塊不一樣,這里主要介紹pymysql。
3.這里只是介紹最基本的知識,出發點是為自己做一份筆記,方便日后查閱!
4.增加,刪除,更新數據都要提交事務,否則數據庫不執行該操作。
5.同時操作多條sql語句的方法,可以參考數據庫插入操作。

向AI問一下細節

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

AI

临邑县| 陇川县| 扎鲁特旗| 沅江市| 海宁市| 渑池县| 永兴县| 盱眙县| 且末县| 廉江市| 吕梁市| 昌江| 新安县| 永善县| 曲阳县| 灵璧县| 醴陵市| 长子县| 盘山县| 大庆市| 鄂尔多斯市| 富民县| 临泽县| 彩票| 台中县| 安顺市| 拉孜县| 鄢陵县| 晋城| 渭源县| 武平县| 读书| 桂阳县| 锡林郭勒盟| 蒲城县| 富锦市| 易门县| 二手房| 安义县| 香格里拉县| 鸡东县|