一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

python對MySQL數(shù)據(jù)庫的增刪改查

 copy_left 2020-05-17

PyMySQL 是在 Python3.x 版本中用于連接 MySQL 服務(wù)器的一個庫,Python2中則使用mysqldb。

1.PyMySQL的安裝

PS G:\book> pip install pymysql

Collecting pymysql

Downloading https://files./packages/ed/39/15045ae46f2a123019aa968dfcba0396c161c20f855f11dea6796bcaae95/PyMySQL-0.9.3-py2.py3-none-any.whl (47kB)

100% |████████████████████████████████| 51kB 17kB/s

Installing collected packages: pymysql

Successfully installed pymysql-0.9.3

2.使用python操作數(shù)據(jù)庫的流程

python對MySQL數(shù)據(jù)庫的增刪改查

3.各個對象的介紹

導(dǎo)入import pymysql后,使用pymysql.connect函數(shù)就可以連接數(shù)據(jù)庫了。

pymysql.connect()參數(shù)說明:

python對MySQL數(shù)據(jù)庫的增刪改查

conn=pymysql.connect(host='127.0.0.1',user='root',passwd='123456',db='test',port=3306)

還可以簡寫為這樣:

conn=pymysql.connect('127.0.0.1','root','123456','test',3306)

打開數(shù)據(jù)庫鏈接后,返回一個connection對象。

connection對象支持的方法,如下表所示:

python對MySQL數(shù)據(jù)庫的增刪改查

通過connection對象的cursor方法,返回一個cursor游標(biāo)對象,

cursor對象支持的方法,如下表所示:

python對MySQL數(shù)據(jù)庫的增刪改查

4. 連接數(shù)據(jù)庫

import pymysql

#數(shù)據(jù)庫連接,返回數(shù)據(jù)庫連接對象

conn=pymysql.connect('127.0.0.1','root','123456','tt',3306)

#conn=pymysql.connect('127.0.0.1','root','123456','tt',3306)

cur=conn.cursor()

5.創(chuàng)建數(shù)據(jù)表

sql='''

create table test(id int not null auto_increment primary key,username varchar(50),password varchar(50))

'''

cur.execute(sql)

注意:這段代碼是創(chuàng)建一個表,一般可以通過可視化界面進(jìn)行創(chuàng)建。

6. 插入數(shù)據(jù)

插入test表中數(shù)據(jù),該表有兩個字段,可以使用占位符%s,可以有效避免sql注入問題。參數(shù)通過元組插入。

insertsql='''

insert into test(username,password) values (%s,%s)

'''

cur.execute(insertsql,('admin','123456'))

還可以executemany實現(xiàn)批量插入,比起循環(huán)插入效率要高。

insertmanysql='''

insert into test(username,password) values (%s,%s)

'''

cur.executemany(insertmanysql,[('zhangsan','123456'),('master','123456')])

上述方式無論插入單條數(shù)據(jù)還是多條數(shù)據(jù)都不會立即生效,需要進(jìn)行事務(wù)提交。

conn.commit()

如果出現(xiàn)異常,可以使用事務(wù)回滾操作

conn.rollback()

7.查詢數(shù)據(jù)

游標(biāo)對象提供了fetchall方法,獲取全部數(shù)據(jù)。返回一個元組。

Fetchone方法,獲取其中的一個結(jié)果,返回一個元組。

cur.execute('select * from test')

rs=cur.fetchall()

for line in rs:

print(line)

<class 'tuple'>

(1, 'admin', '123456')

(2, 'zhangsan', '123456')

(3, 'master', '123456')

cur.execute('select * from test')

rs=cur.fetchone()

print(rs)

<class 'tuple'>

(1, 'admin', '123456')

8.更新數(shù)據(jù)

import pymysql

#數(shù)據(jù)庫連接,返回數(shù)據(jù)庫連接對象

conn=pymysql.connect('127.0.0.1','root','123456','etc',3306)

cur=conn.cursor()

try:

updatesql='update test set username=%s where id=%s'

cur.execute(updatesql,('manager',1))

conn.commit()

cur.execute('select * from test')

rs=cur.fetchall()

for line in rs:

print(line)

except:

conn.rollback()

conn.close()

(1, 'manager', '123456')

(2, 'zhangsan', '123456')

(3, 'master', '123456')

9.刪除數(shù)據(jù)

import pymysql

#數(shù)據(jù)庫連接,返回數(shù)據(jù)庫連接對象

conn=pymysql.connect('127.0.0.1','root','123456','tt',3306)

cur=conn.cursor()

try:

delsql='delete from test where id=%s'

cur.execute(delsql,(3,))

conn.commit()

cur.execute('select * from test')

rs=cur.fetchall()

print(rs)

except:

print('發(fā)生了錯誤')

conn.rollback()

conn.close()

((1, 'manager', '123456'), (2, 'zhangsan', '123456'))

可以看到,id=3的數(shù)據(jù)已經(jīng)被刪除。

python訪問數(shù)據(jù)庫基本類似,非常簡單,大家動手做一個屬于你的數(shù)據(jù)庫應(yīng)用吧。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    在线观看那种视频你懂的| 少妇丰满a一区二区三区| 亚洲欧美黑人一区二区| 正在播放玩弄漂亮少妇高潮| 一区二区三区四区亚洲专区| 亚洲少妇一区二区三区懂色| 婷婷基地五月激情五月| 欧美一区二区三区十区| 国产在线日韩精品欧美| 欧美一区二区三区不卡高清视| 国产熟女一区二区不卡| 午夜传媒视频免费在线观看| 不卡中文字幕在线视频| 亚洲精品欧美精品一区三区| 欧美日韩综合综合久久久| 东京热男人的天堂久久综合| 福利一区二区视频在线| 亚洲中文字幕视频一区二区| 好吊视频有精品永久免费| 久久精品亚洲精品国产欧美| 欧美日韩国产黑人一区| 亚洲午夜福利不卡片在线| 麻豆视传媒短视频在线看| 91精品视频全国免费| 黑色丝袜脚足国产一区二区| 亚洲av熟女一区二区三区蜜桃| 福利视频一区二区在线| 中文字幕亚洲精品人妻| 日韩少妇人妻中文字幕| 激情国产白嫩美女在线观看| 九九热在线视频观看最新| 欧美中文字幕日韩精品| 日本东京热视频一区二区三区| 国产又粗又猛又爽又黄| 国产一级性生活录像片| 国产乱久久亚洲国产精品| 三级理论午夜福利在线看| 日本精品视频一二三区| 久久热在线视频免费观看| 中文字幕在线五月婷婷| 一区二区三区四区亚洲另类|