Python中使用Mysql

1.安装mysql模块:pip3 install pymysql

2.文件中引入模块:import pymysql

3.Connection对象:目的:用来建立与数据库的连接

                                创建:调用connect()方法,如conn=connect(参数列表)

                                参数列表的参数:host:连接的mysql主机,若为本机则是‘localhost’,否则写目标主机的ip;

                                                             port:连接的mysql主机的端口,默认为3306;

                                                             db:数据库的名称;

                                                             user:连接的用户名:

                                                             passwd:连接的密码;

                                                             charset:采用的编码方式,一般用utf8;

                                方法:close():关闭连接;

                                          commit():提交事务;(在py程序中默认是打开事务的,因此所有的数据库操作都需要commit才会生效)

                                          rollback():回滚事务;

                                          cursor():返回一个Cursor对象,该对象中有方法用来执行sql语句并获得结果;

4.Cursor对象:目的:来执行sql语句;

                         创建:调用Connection对象的cursor()方法;

                         方法:close()关闭;

                                    execute(operation[,parameters])执行语句,返回受影响的行数;

                                    fetchone()执行查询语句时,获取查询结果集的第一行数据,返回一个元祖;

                                    next()执行查询语句时,获取当前行的下一行;

                                    fetchall()执行查询时,获取结果集的所有行,一行构成一个元组,再将这些元组装入一个元组返回;

                                    scroll(value[,mode])将指针移动到某个位置:mode表示移动方式,默认为relative,基于当前行移动到value,value为正则向下移动,为负则向上移动;mode值为absolute,表示基于第一条数据的位置,第一条数据的位置为0;

                          属性:rowcount为只读属性,表示最近一次execute()执行后受影响的行数;

                                   connection获得当前连接对象;

例如:

from pymysql import *

try:  
#创建连接对象                conn=connect(host="localhost",port=3306,db='test0',user='root',passwd='mysql',charset='utf8')
#创建cursor对象
    cs1=conn.cursor()
    sname=input("请输入姓名:")
    params=[sname]
#  这里使用参数传递的方式,实际上sql操作语句也可以使用变量再当做参数传入
#  %s并不代表字符格式,只表示占位,无论后面参数是什么类型都使用%s
    count=cs1.execute('insert into students(sname) values(%s)',params)
#提交改动
    conn.commit()
#关闭
    cs1.close()
    conn.close()
except Exception,e:
    print e



但一般建议项目开始时就建立好数据库表结构,而不是在代码中进行;此外,可以将数据库的基本操作进行封装,使用类对象,更集中于业务逻辑的构造。  

例如:

from pymysql import *

class MysqlHelper(object):   def__init__(self,host='localhost',port=3306,db='test2',user='root',passwd='mysql',charset='utf8'):
        self.conn=connect(host=host,port=port,db=db,user=user,passwd=passwd,charset=charset)

    def insert(self,sql,params):
        return self.__cud(sql,params)

    def update(self,sql,params):
        return self.__cud(sql,params)

    def delete(self,sql,params):
        return self.__cud(sql,params)

    def __cud(self,sql,params=[]):
        try:
            cs1 = self.conn.cursor()
            rows=cs1.execute(sql, params)
            self.conn.commit()
            cs1.close()
            self.conn.close()
            return rows
        except Exception,e:
            print e
            self.conn.rollback()

    def fetchone(self,sql,params=[]):
        try:
            cs1=self.conn.cursor()
            cs1.execute(sql,params)
            row=cs1.fetchone()
            cs1.close()
            self.conn.close()
            return row
        except Exception,e:
            print e

    def fetchall(self,sql,params):
        try:
            cs1=self.conn.cursor()
            cs1.execute(sql,params)
            rows=cs1.fetchall()
            cs1.close()
            self.conn.close()
            return rows
        except Exception,e:
            print e

 

   

 

                                    

                                     

 

 

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值