真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Python標(biāo)準(zhǔn)庫MySQL工作流程是怎么樣的

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

成都創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供西固網(wǎng)站建設(shè)、西固做網(wǎng)站、西固網(wǎng)站設(shè)計(jì)、西固網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)與制作、西固企業(yè)網(wǎng)站模板建站服務(wù),十載西固做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。

MySQLdb工作流程如下:

Python標(biāo)準(zhǔn)庫MySQL工作流程是怎么樣的


connection

connection方法用于創(chuàng)建客戶端與數(shù)據(jù)庫的網(wǎng)絡(luò)連接.

語法:

MySQLdb.Connect(參數(shù))

參數(shù)

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

例如:

# 導(dǎo)入MySQLdb模塊
>>> import MySQLdb
# 創(chuàng)建一個Connect連接
>>> conn = MySQLdb.Connect(host='127.0.0.1', user='root', passwd='as', db='USER', port=3306, charset="utf8")
>>> cursor = conn.cursor()
>>> print(cursor)

>>> print(conn)
<_mysql.connection open to '127.0.0.1' at 15b1518>
# 關(guān)閉連接
>>> conn.close()
>>> print(conn)
<_mysql.connection closed at 15b1518>

connection對象支持的方法

方法名說明
cursor()使用該連接創(chuàng)建并返回游標(biāo)
commit()提交當(dāng)前事務(wù)
rollback()回滾當(dāng)前事務(wù)
close()關(guān)閉連接

cursor

cursor用戶執(zhí)行查詢和獲取結(jié)果,執(zhí)行流程如下:

Python標(biāo)準(zhǔn)庫MySQL工作流程是怎么樣的

cursor對象所支持的方法

參數(shù)名說明
execute(“SQL”)執(zhí)行的SQL語句
fefchone()獲取結(jié)果的下一行
fefchmany(size)獲取結(jié)果的下幾行
fefchall()獲取結(jié)果剩下的所有行
rowcount最近一次execute返回?cái)?shù)據(jù)的行數(shù)或影響的行數(shù)
close()關(guān)閉游標(biāo)對象

事務(wù)

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

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

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

  1. 一致性: 事務(wù)必須使數(shù)據(jù)庫從一致性狀態(tài)變到另一個一致性狀態(tài)

  2. 隔離性: 一個事務(wù)的執(zhí)行不能被其他事務(wù)干擾

  3. 持久性: 事務(wù)一旦提交,他對數(shù)據(jù)庫的改變是永久性的

開發(fā)中怎樣使用事務(wù)?

  1. 關(guān)閉自動commit: 設(shè)置conn.autocommit(False),MySQLdb默認(rèn)已經(jīng)為False

  2. 正常結(jié)束事務(wù): conn.commit()

  3. 異常結(jié)束事務(wù): conn.rollback()

實(shí)例

  • SELECT查詢數(shù)據(jù)

先創(chuàng)建一個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;

插入以下內(nèi)容

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');

查看數(shù)據(jù)

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
# 輸出獲取到的行數(shù)
>>> print(cursor.rowcount)
5
# 返回第一條數(shù)據(jù)
>>> cursor.fetchone()
(1, 'name1')
# 返回兩條數(shù)據(jù)
>>> cursor.fetchmany(2)
((2, 'name2'), (3, 'name3'))
# 返回剩下的所有數(shù)據(jù)
>>> cursor.fetchall()
((4, 'name4'), (5, 'name5'))
  • insert/update/delete

流程圖:

Python標(biāo)準(zhǔn)庫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()

查看數(shù)據(jù)庫表內(nèi)容

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

#Python標(biāo)準(zhǔn)庫 #Mysqldb

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


文章題目:Python標(biāo)準(zhǔn)庫MySQL工作流程是怎么樣的
文章URL:http://weahome.cn/article/gcopei.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部