python操作MySQL数据库

1.安装pymysql包

pip install pymysql

2.连接数据库

import pymysql


conn = pymysql.connect(

host = '     ' ,    #数据库地址

port = 3306,    #端口号,默认是3306

user = 'test',    #用户名

password = 'abc123456' ,  #密码

db = 'longtengserver'   #库名,要连接的数据库的名字,不填的话连接的是数据库服务器下面所有的库

)

3.建立游标   #默认游标

cur = conn.cursor()

4.执行sql

4.1.1执行查询

cur.execute("select * from cardInfo where cardNumber='abc_00001';")    #只执行sql,返回的也只是执行条数,不返回执行结果

conn.commit()   #为了防止执行多条sql时乱,尽管查询sql不用提交,也可以提交一下防止乱

4.1.2获取结果

result = cur.fetchall()    #获取所有结果,返回的是一个元组嵌套元组 ( ( ) ,)

result = cur.fetchone()   #获取一条结果,返回的是一个元组  ()

result = cur.fetchmany(5)   #获取前5条结果 

4.2.1执行修改

cur.execute("delete from cardInfo where cardNumber='abc_00001';")    #执行后不提交是不生效的

conn.commit()      #用conn去提交,不是cur

5.关闭

cur.close()   #关闭游标

conn.close()   #关闭连接



3.建立字典游标

cur = conn.cursor(pymysql.cursors.DictCursor)

4.执行sql

4.1.1执行查询

cur.execute("select * from cardInfo where cardNumber='abc_00001';")    #只执行sql,返回的也只是执行条数,不返回执行结果

4.1.2获取结果

result = cur.fetchall()    #获取所有结果,返回的是一个列表嵌套字典的格式,会把字段名和对应的值都变成字典格式




封装

improt pymysql


class DB(object):

    def __init__(self):

        self.conn = pymysql.connect(

            host = '     ' ,    #数据库地址

            port = 3306,    #端口号,默认是3306

            user = 'test',    #用户名

            password = 'abc123456' ,  #密码

            db = 'longtengserver' ,  #库名,要连接的数据库的名字,不填的话连接的是数据库服务器下面所有的库

            autocommit = True

)

        self.cur = self.conn.cursor(pymysql.cursors.DictCursor)


    def do_sql(self, sql)

        print('执行sql', sql)

        self.cur.execute(sql)

        # self.cur.commit()

        return self.cur.fetchall()

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容