这篇文章给大家介绍怎么在Python中使用pymysql模块操作数据库,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
<强> 1。建立数据库连接强>
通过联系函数中参数参数建立连接,连接成功返回连接对象
import pymysql #建立数据库连接 时间=connection pymysql.connect (host =, & # 39; localhost,, ,,,,,,,user =, & # 39;根# 39; ,,,,,,,password =, & # 39; 123456 & # 39; ,,,,,,,database =, & # 39; mydb # 39; ,,,,,,,charset =, & # 39; use utf8 # 39; ) #打印(连接)
pymysql.connect()函数中常用的连接参数有以下几种:
- <李>
主持人:数据库主机名或者ip地址
李> <李>端口:端口号
李> <李>用户:数据库的账号
李> <李>密码或密码:数据库的密码
李> <李>数据库或db:数据库的名字
李> <李>字符集:编码方式
李>连接对象的重要方法:
- <李>
关闭()关闭数据库连接
李> <李>commit()提交数据库事物
李> <李>rollback()回滚数据库事务
李> <李>光标()获得光标游标对象
李><强> 2。创建游标强>
一个光标游标对象,暂时保存了SQL操作所影响到的数据,相同的数据库连接创建的游标所引起的数据变化,会马上反应到同一连接中的其它游标对象。但是不同数据库连接中的游标对象,是否能及时反映出来,则与数据库事物管理有关。
指针对象基本方法和属性:
<代码>执行(操作,(参数))代码>
执行一条SQL语句,操作时SQL语句,参数是其参数。返回值是整数,表示执行SQL语句影响的行数
<代码> executemany(操作,(参数))代码>
批量执行SQL语句
<代码> callproc (procname(参数))代码>
执行存储过程,procname是存储过程名
使用execute()和executemany()方法查询后,通过以下提取方法提取结果集
<代码> fetchone() 代码>
从结果集当中返回一条记录的序列,无则返回没有
<代码> fetchmany ([size=cursor.arraysize]) 代码>
从结果集当中返回小于或等于大小的记录序列,无则返回空序列,大小默认是整个游标的行数
<代码> fetchall() 代码>
从结果集当中返回所有的行数
<强> 3。建立数据库(这里我使用的是NaviCat) 强>
创建一个名为pydb的数据库、表名为用户,字段名称和标识
数据的查找
#建立数据库连接 时间=connection pymysql.connect (host =, & # 39; localhost,, ,,,,,,,user =, & # 39;根# 39; ,,,,,,,password =, & # 39; 123456 & # 39; ,,,,,,,database =, & # 39; mydb # 39; ,,,,,,,charset =, & # 39; use utf8 # 39; ) #打印(连接) 试一试: ,#创建游标对象 ,with connection.cursor (), as 游标: #才能执行SQL操作 sql 才能=,& # 39;select 名字,,userid 得到user where userid 在% (id) & # 39; cursor.execute才能(sql,, {& # 39; id # 39;: 0}) #才能提取数据集 时间=result_set 才能;cursor.fetchall () for 才能;row  result_set:拷贝 ,才能打印(& # 39;id:{0},安康,名字:{1}& # 39;.format行(行[1],[0])) #才能游标自动关闭 最后: ,#关闭连接 之前,connection.close () >数据插入
#数据增加 时间=connection pymysql.connect (host =, & # 39; localhost,, ,,,,,,,user =, & # 39;根# 39; ,,,,,,,password =, & # 39; 123456 & # 39; ,,,,,,,database =, & # 39; mydb # 39; ,,,,,,,charset =, & # 39; use utf8 # 39; ) 试一试: ,with connection.cursor (), as 游标: 时间=sql 才能;& # 39;insert into user (用户id、名称),values (% s % s) & # 39; cursor.execute才能(sql (3 & # 39; cc # 39;)) # affectcount 才能=,cursor.execute (sql, (3 & # 39; cc # 39;)) #才能打印(& # 39;影响的数据行数:{0}& # 39;.format (affectcount)) #才能提交数据库事务 connection.commit才能() except pymysql.DatabaseError: ,#数据库事务回滚 ,connection.rollback () 最后: 之前,connection.close ()怎么在Python中使用pymysql模块操作数据库