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

溫馨提示×

溫馨提示×

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

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

Python標準庫MySQL工作流程是怎么樣的

發布時間:2020-05-26 11:44:52 來源:網絡 閱讀:260 作者:三月 欄目:數據庫

本文主要給大家介紹Python標準庫MySQL工作流程是怎么樣的,文章內容都是筆者用心摘選和編輯的,具有一定的針對性,對大家的參考意義還是比較大的,下面跟筆者一起了解下Python標準庫MySQL工作流程是怎么樣的 吧。

MySQLdb工作流程如下:

Python標準庫MySQL工作流程是怎么樣的


connection

connection方法用于創建客戶端與數據庫的網絡連接.

語法:

MySQLdb.Connect(參數)

參數

參數類型說明
host字符串MySQL云服務器地址
port整型MySQL云服務器端口號
user字符串MySQL數據庫用戶名
passwd字符串MySQL數據庫密碼
db字符串MySQL數據庫庫名
charset字符串連接所使用的字符集

例如:

# 導入MySQLdb模塊
>>> import MySQLdb
# 創建一個Connect連接
>>> conn = MySQLdb.Connect(host='127.0.0.1', user='root', passwd='as', db='USER', port=3306, charset="utf8")
>>> cursor = conn.cursor()
>>> print(cursor)
<MySQLdb.cursors.Cursor object at 0x7f4af5e15550>
>>> print(conn)
<_mysql.connection open to '127.0.0.1' at 15b1518>
# 關閉連接
>>> conn.close()
>>> print(conn)
<_mysql.connection closed at 15b1518>

connection對象支持的方法

方法名說明
cursor()使用該連接創建并返回游標
commit()提交當前事務
rollback()回滾當前事務
close()關閉連接

cursor

cursor用戶執行查詢和獲取結果,執行流程如下:

Python標準庫MySQL工作流程是怎么樣的

cursor對象所支持的方法

參數名說明
execute(“SQL”)執行的SQL語句
fefchone()獲取結果的下一行
fefchmany(size)獲取結果的下幾行
fefchall()獲取結果剩下的所有行
rowcount最近一次execute返回數據的行數或影響的行數
close()關閉游標對象

事務

訪問額更新數據庫的一個程序執行單元,執行單元指的就是很多操作的集合,里面的每個操作都是用來訪問個更新數據庫.

  • 原子性: 事務中包括的諸多操作要么都做要么都不做

比如銀行轉賬,A用戶向B用戶轉賬100,A-100和B+100這兩個操作,要么都做,要么都不操作

  1. 一致性: 事務必須使數據庫從一致性狀態變到另一個一致性狀態

  2. 隔離性: 一個事務的執行不能被其他事務干擾

  3. 持久性: 事務一旦提交,他對數據庫的改變是永久性的

開發中怎樣使用事務?

  1. 關閉自動commit: 設置conn.autocommit(False),MySQLdb默認已經為False

  2. 正常結束事務: conn.commit()

  3. 異常結束事務: conn.rollback()

實例

  • SELECT查詢數據

先創建一個user表:

CREATE DATABASE USER;
USE USER;
CREATE TABLE `user` (
`userid` INT(11) NOT NULL AUTO_INCREMENT,
`username` VARCHAR(100) DEFAULT NULL,
PRIMARY KEY (`userid`)
) ENGINE=INNODB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8;

插入以下內容

INSERT INTO user(userid, username) VALUES(1, 'name1');
INSERT INTO user(userid, username) VALUES(2, 'name2');
INSERT INTO user(userid, username) VALUES(3, 'name3');
INSERT INTO user(userid, username) VALUES(4, 'name4');
INSERT INTO user(userid, username) VALUES(5, 'name5');

查看數據

mysql> SELECT * FROM user;
+--------+----------+
| userid | username |
+--------+----------+
|      1 | name1    |
|      2 | name2    |
|      3 | name3    |
|      4 | name4    |
|      5 | name5    |
+--------+----------+
5 rows in set (0.00 sec)
>>> import MySQLdb
>>> conn = MySQLdb.Connect(host='127.0.0.1', user='root', passwd='as', db='USER', port=3306, charset="utf8")
>>> cursor = conn.cursor()
>>> SQL = "SELECT * FROM user"
# 返回獲取到的多少行
>>> cursor.execute(SQL)
5
# 輸出獲取到的行數
>>> print(cursor.rowcount)
5
# 返回第一條數據
>>> cursor.fetchone()
(1, 'name1')
# 返回兩條數據
>>> cursor.fetchmany(2)
((2, 'name2'), (3, 'name3'))
# 返回剩下的所有數據
>>> cursor.fetchall()
((4, 'name4'), (5, 'name5'))
  • insert/update/delete

流程圖:

Python標準庫MySQL工作流程是怎么樣的

>>> import MySQLdb
>>> conn = MySQLdb.Connect(host='127.0.0.1', user='root', passwd='as', db='USER', port=3306, charset="utf8")
>>> cursor = conn.cursor()
>>> cursor.execute("INSERT INTO user(userid, username) VALUES(50, 'name50')")
1
>>> cursor.execute("UPDATE user SET username='as' WHERE userid=1")
1
>>> cursor.execute("DELETE FROM user WHERE userid=2")
1
>>> conn.commit()
>>> cursor.close()
>>> conn.close()

查看數據庫表內容

mysql> SELECT * FROM user;
+--------+----------+
| userid | username |
+--------+----------+
|      1 | as       |
|      3 | name3    |
|      4 | name4    |
|      5 | name5    |
|     50 | name50   |
+--------+----------+
5 rows in set (0.00 sec)

#Python標準庫 #Mysqldb

看完以上關于Python標準庫MySQL工作流程是怎么樣的,很多讀者朋友肯定多少有一定的了解,如需獲取更多的行業知識信息 ,可以持續關注我們的行業資訊欄目的。

向AI問一下細節

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

AI

葵青区| 易门县| 宝丰县| 中宁县| 资讯| 沙湾县| 沐川县| 沙坪坝区| 余江县| 葫芦岛市| 天水市| 广南县| 南川市| 兴隆县| 山东省| 陵水| 南通市| 郧西县| 托里县| 东乌珠穆沁旗| 舒兰市| 凌云县| 丹棱县| 佛坪县| 青河县| 凤庆县| 赤水市| 武宣县| 临清市| 安达市| 普兰店市| 平陆县| 白城市| 方山县| 鹤庆县| 怀柔区| 会泽县| 木兰县| 昌吉市| 崇仁县| 柏乡县|