您的位置:首页 > 编程语言 > Python开发

Python的学习笔记DAY11---python和Mysql

2016-10-31 17:53 555 查看
       刚使用了eclipse和Pydev实现了在eclipse里运行python,安装方法呢就是先安装eclipse,然后在eclipse里打开Help->Install New Software... ,点击Add.在Name填:Pydev,Location中填http://pydev.org/updates,然后一路下一步等下载就好,要是出错了就重新来一次(我失败了好几次才装好)。然后就是配置解释器,点击Windows ->Preferences,然选择pyDev->Interpreter
-> Python Interpreter,选好python.exe的安装路径然后OK就好了。等他进度条读完就可以用了。如图:



        如上图,运行成功。。。

        Python2.x版本使用MySQLdb包来执行各种数据库操作,使用的时候直接pip install MySQLdb安装即可,不过我用的是Python3.x版本,直接装那个会报错,百度之后得到的结果是MySQL还未支持Python3.x。然后解决方法是使用pymysql这个库,这个库有一个方法install_as_MySQLdb()可以伪装成MySQLdb。然后在导入MySQLdb就可以了,虽然eclipse前面还有个叉号:



        对数据库操作首先要创建链接对象,使用MySQLdb.Connect(host,port,user,passwd,db,charset)来创建链接对象。其中的参数host为服务器地址,port是端口号,user是数据库用户名,passwd是数据库密码,db是数据库名,charset是链接编码,以上参数除了port是数字类型之外其余均为字符串。

        而connection对象支持的方法有:

cursor()   #使用该链接并返回游标
commit()   #提交当前世务
rollback() #回滚当前事务
close()    #关闭连接
举例如下:

import pymysql
from django.db.transaction import rollback
pymysql.install_as_MySQLdb()
import MySQLdb

conn = MySQLdb.connect(host = '127.0.0.1',
port = 3306,
user = 'root',
passwd = '123456',
db = 'pytest',
charset = 'utf8'
)

cursor = conn.cursor()

print(conn)
print(cursor)

cursor.close()
conn.close()
#输出结果
<pymysql.connections.Connection object at 0x000001B77FE8C7F0>
<pymysql.cursors.Cursor object at 0x000001B701FA4D30>


        数据库游标对象consor,用于执行查询结果和获取结果。其支持的方法有:

execute(op[,args])  #执行一个数据库查询和命令
fetchone()          #取得结果集的下一行
fetchmany(size)     #取得结果集的下size行
fatchall()          #取得结果集剩下的所有行
rowcount            #最近一次execute返回数据的行数或影响行数
close()             #关闭游标对象


        现有一张user表,结构如下图:



来查询此表,代码如下:

import pymysql
from django.db.transaction import rollback
pymysql.install_as_MySQLdb()
import MySQLdb

conn = MySQLdb.connect(host = '127.0.0.1',
port = 3306,
user = 'root',
passwd = '123456',
db = 'pytest',
charset = 'utf8'
)

cursor = conn.cursor()

sql = 'select * from user'
cursor.execute(sql)

print(cursor.rowcount)

rs = cursor.fetchone()
print(rs)

rs = cursor.fetchmany(3)
print(rs)

rs = cursor.fetchall()
print(rs)

cursor.close()
conn.close()
输出结果:

9

('one', '一', 1)

(('two', '二', 2), ('three', '三', 3), ('four', '四', 4))

(('five', '五', 5), ('six', '六', 6), ('seven', '七', 7), ('eight', '八', 8), ('nine', '九', 9))
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: