博客信息

Python操作mysql

发布时间:『 2019-08-01 11:12』  博客类别:Python  阅读(692)

1下载并安装PyMySQL-master.zip

 https://github.com/PyMySQL/PyMySQL

2解压进入PyMySQL-master文件夹,shift+右键进入dos命令窗口

3、输入python setup.py install

小李飞刀_Python


4、重启IDEA

5、Python代码测试数据库

import pymysql

print("================测试是否连通====================")
try:
    conn = pymysql.connect(host='localhost', user='root', passwd='123456', db='javaxl', port=3306, charset='utf8')
    cur = conn.cursor()
    cur.execute('select version()')
    version = cur.fetchone()
    print(version)
    cur.close()
    conn.close()
except  Exception:
    print("发生异常")


小李飞刀_Python



Python增删改查


import pymysql

print("================python数据库查询====================")
try:
    conn = pymysql.connect(host='localhost', user='root', passwd='123456', db='javaxl', port=3306, charset='utf8')
    cur = conn.cursor()
    cur.execute('select * from t_p1_blog')
    # 获取多条数据
    blogs = cur.fetchall()
    print(type(blogs))
    for blog in blogs:
        print(blog)
    cur.close()
    conn.close()
except  Exception:
    print("发生异常")


import pymysql

print("================python数据库修改====================")
try:
    conn = pymysql.connect(host='localhost', user='root', passwd='123456', db='javaxl', port=3306, charset='utf8')
    cur = conn.cursor()
    typename = "第三方接口"
    btid = 9
    # sql = "update t_p1_blogtype set typename=%s where btid=%d"%(typename,btid)
    sql = """update t_p1_blogtype set typename='第三方接口2' where btid=9"""
    try:
        # 执行sql语句
        cur.execute(sql)
        # 提交到数据库执行
        conn.commit()
    except:
        # Rollback in case there is any error
        conn.rollback()
    cur.close()
    conn.close()
except  Exception:
    print("发生异常")


import pymysql

print("================python数据库删除====================")
try:
    conn = pymysql.connect(host='localhost', user='root', passwd='123456', db='javaxl', port=3306, charset='utf8')
    cur = conn.cursor()
    typename = "第三方接口"
    btid = 9
    # sql = "update t_p1_blogtype set typename=%s where btid=%d"%(typename,btid)
    sql = """delete from t_p1_blogtype where btid=9"""
    try:
        # 执行sql语句
        cur.execute(sql)
        # 提交到数据库执行
        conn.commit()
    except:
        # Rollback in case there is any error
        conn.rollback()
    cur.close()
    conn.close()
except  Exception:
    print("发生异常")


import pymysql

print("================python数据库新增====================")
try:
    conn = pymysql.connect(host='localhost', user='root', passwd='123456', db='javaxl', port=3306, charset='utf8')
    cur = conn.cursor()
    sql = """INSERT INTO t_p1_blogtype(typename,sort) VALUES ('分布式', 8)"""
    typename = "第三方接口"
    sort = 9
    # sql = 'insert into t_p1_blogtype(typename,sort) values(%s,%s)' % \
    #       (typename, sort)
    # sql = "insert into t_p1_blogtype(typename,sort) values (%s,%d)"%(typename,sort)
    try:
        # 执行sql语句
        cur.execute(sql)
        # 提交到数据库执行
        conn.commit()
    except:
        # Rollback in case there is any error
        conn.rollback()
    cur.close()
    conn.close()
except  Exception:
    print("发生异常")


Python mysql操作通用工具类

import pymysql as mysql


class dbaccess():
    def __init__(self , host="127.0.0.1", username="root", password="123456", port=3306, database="javaxl"):
        '''类例化,处理一些连接操作'''
        self.host = host
        self.username = username
        self.password = password
        self.database = database
        self.port = port
        self.cur = None
        self.con = None
        # connect to mysql
        try:
            self.con = mysql.connect(host = self.host, user = self.username, password = self.password, port = self.port, database = self.database)
            self.cur = self.con.cursor()
        except :
            raise Exception("DataBase connect error,please check the db config.")

    def close(self):
        '''结束查询和关闭连接'''
        self.con.close()

    def create_table(self,sql_str):
        '''创建数据表'''
        try:
            self.cur.execute(sql_str)
        except Exception as e:
            print(e)

    def query(self,sql_str):
        '''查询数据并返回
             cursor 为连接光标
             sql_str为查询语句
        '''
        try:

            self.cur.execute(sql_str)
            rows = self.cur.fetchall()
            return rows
        except:
            return False

    def execute_update_insert(self,sql):
        '''
        插入或更新记录 成功返回最后的id
        '''
        self.cur.execute(sql)
        self.con.commit()
        return self.cur.lastrowid

if __name__ == "__main__":
    mydb = dbaccess()
    #创建表
    mydb.create_table('create table user (id varchar(20) primary key, name varchar(20))')
    #插入数据
    mydb.execute_update_insert("insert into user (id, name) values  ('1', '小李飞刀')")
    results = mydb.query("SELECT * FROM t_p1_blog")
    print(results)
    for row in results:
        bid = row[0]
        title = row[1]
        summary = row[2]
        print("bid=%s,title=%s,summary=%s" % \
              (bid, title, summary))
    #关闭数据库
    mydb.close()


工具类测试截图


小李飞刀_Python

over......


关键字:     Python       mysql  

备案号:湘ICP备19000029号

Copyright © 2018-2019 javaxl晓码阁 版权所有