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

       刚使用了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))

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值