mysql排序空放后面_python对mysql数据库的增删改查
PyMySQL 是在 Python3.x 版本中用于連接 MySQL 服務器的一個庫,Python2中則使用mysqldb。
1.PyMySQL的安裝
PS G:\book> pip install pymysql
Collecting pymysql
Downloading https://files.pythonhosted.org/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操作數據庫的流程
3.各個對象的介紹
導入import pymysql后,使用pymysql.connect函數就可以連接數據庫了。
pymysql.connect()參數說明:
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)
打開數據庫鏈接后,返回一個connection對象。
connection對象支持的方法,如下表所示:
通過connection對象的cursor方法,返回一個cursor游標對象,
cursor對象支持的方法,如下表所示:
4. 連接數據庫
import pymysql
#數據庫連接,返回數據庫連接對象
conn=pymysql.connect(host='47.92.1.240',user='root',passwd='Hl123$%^',db='etc',port=3306)
#conn=pymysql.connect('47.92.1.240','root','Hl123$%^','etc',3306)
cur=conn.cursor()
5.創建數據表
sql='''
create table test(id int not null auto_increment primary key,username varchar(50),password varchar(50))
'''
cur.execute(sql)
注意:這段代碼是創建一個表,一般可以通過可視化界面進行創建。
6.插入數據
插入test表中數據,該表有兩個字段,可以使用占位符%s,可以有效避免sql注入問題。參數通過元組插入。
insertsql='''
insert into test(username,password) values (%s,%s)
'''
cur.execute(insertsql,('admin','123456'))
還可以executemany實現批量插入,比起循環插入效率要高。
insertmanysql='''
insert into test(username,password) values (%s,%s)
'''
cur.executemany(insertmanysql,[('zhangsan','123456'),('master','123456')])
上述方式無論插入單條數據還是多條數據都不會立即生效,需要進行事務提交。
conn.commit()
如果出現異常,可以使用事務回滾操作
conn.rollback()
7.查詢數據
游標對象提供了fetchall方法,獲取全部數據。返回一個元組。
Fetchone方法,獲取其中的一個結果,返回一個元組。
cur.execute('select * from test')
rs=cur.fetchall()
for line in rs:
print(line)
(1, 'admin', '123456')
(2, 'zhangsan', '123456')
(3, 'master', '123456')
cur.execute('select * from test')
rs=cur.fetchone()
print(rs)
(1, 'admin', '123456')
7.更新數據
import pymysql
#數據庫連接,返回數據庫連接對象
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')
8.刪除數據
import pymysql
#數據庫連接,返回數據庫連接對象
conn=pymysql.connect('47.92.1.240','root','Hl123$%^','etc',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("發生了錯誤")
conn.rollback()
conn.close()
((1, 'manager', '123456'), (2, 'zhangsan', '123456'))
可以看到,id=3的數據已經被刪除。
總結
以上是生活随笔為你收集整理的mysql排序空放后面_python对mysql数据库的增删改查的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java中数值023是什么类型_【Jav
- 下一篇: mysql数据库的环境搭建_数据库学习(