怎么在Python中使用pymysql模块操作数据库

  介绍

这篇文章给大家介绍怎么在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的数据库、表名为用户,字段名称和标识

怎么在Python中使用pymysql模块操作数据库

怎么在Python中使用pymysql模块操作数据库

数据的查找

#建立数据库连接   时间=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模块操作数据库