Python(十一)数据库连接

2018-09-19  本文已影响10人  社会主义顶梁鹿

一、简介

前面介绍过python中文件的读取和写入,利用文件读写可以将python程序产生的数据保持到文件中,但简单的纯文本文件只能实现有限的功能,有时可能需要做额外的一些事

如:让几个用户同时对某些数据进行读写而不造成任何文件损坏之类的问题,或者希望同时使用多个数据字段或属性进行复杂的搜索

可以通过使用标准化的数据库来实现这样的需求

二、连接 ——connect()函数

为了使用数据库,首先应该连接到数据库,在适当的环境下使用具名函数connect(),该函数有多个参数,而具体使用哪个参数取决于底层数据库的类型

(1)connect函数的常用参数:uesr(用户名)、password(用户密码)、host(主机名)、db(数据库名)、port(端口) 默认 3306  charset(指定字符集)

(2)connect函数返回连接对象,这个对象表示目前和数据库的会话,不成功抛出异常。

connect函数返回的连接对象具有几个常用的方法:

close()-关闭连接,关闭后,连接对象和它的游标均不可用

commit()-提交事务,对数据库做的数据更改等事务只有提交才会生效

rollback()-回滚事务,撤销所有未提交的事务

cursor()-返回连接的游标对象

Import   pymysql

try:

conn =pymysql.connect(host=‘192.168.2.28’,user=‘root’,password=‘123456’ db=‘learn’,charset=‘utf8’)

print (‘连接成功’)

except:

print (“数据库连接失败”)

三、游标—— cursor

建立数据库连接后,就可以执行SQL查询并检查结果,这些都是通过游标cursor来完成的

(1)游标用来执行命令的方法:

callproc():用来执行存储过程,接收的参数为存储过程名和参数列表,返回值为受影响的行数

execute():执行单条sql语句(可能带有参数),返回值为受影响的行数

executemany():对序列中的每个参数集执行sql语句,返回值为受影响的行数

(2)游标用来接收返回值的方法:

fetchone():获取结果集中的下一行并保存为序列或None

fetchall():获取结果集中的所有行,每行作为一个序列保存在序列中

fetchmany():获取结果集中指定的多行,默认为arraysize

(3)游标的其他方法:

close():关闭游标,释放资源

四、MySQL数据库

Python连接MySQL数据库,使用的是第三方库MySQLdb,需要单独安装,安装完成后,第三方库位于在python安装目录下的\Lib\site-packages路径,第三方库安装完成后,就可以在python代码中通过import语句来导入MySQLdb模块,并调用MySQLdb模块的相应方法

(1)连接

通过上述代码就可以连接mysql数据库

注意:本地必须已经安装好mysql数据库(用户名root,密码123456,端口3306),且数据库中有名称为test的数据库实例

(2)创建游标对象

数据库连接成功后,就可以通过连接对象的cursor()方法来创建游标对象

再通过游标对象的相应方法来完成数据库中数据的操作

上一篇下一篇

猜你喜欢

热点阅读