美文网首页
python编程基础39-常用第三方库-pymysql

python编程基础39-常用第三方库-pymysql

作者: 疯子李 | 来源:发表于2023-12-31 00:28 被阅读0次
    # -*- coding: utf-8 -*-
    # @Time    : 2023/5/15 19:50
    # @Author  : yanfa
    # @user   : yanfa 
    # @File    : pymysql_.py
    # @remark: 常用第三方库 pymysql
    """"""
    import sys
    
    """一、pymysql概述
    1、python的数据库接口标准是Python DB-API
    2、PyMySQL是从python连接到MYSQL数据库服务器的接口
    3、PyMySQL的目标是成为MySQL的替代品
    4、官方文档:http://pymysql.readthedocs.io/"""
    
    """二、pymysql安装
    1、使用pip安装:pip install pymysql
    2、使用pycharm界面安装"""
    
    """三、pymysql连接数据库
    host:服务器地址
    user:用户名
    password:密码
    database:数据库名称
    charset:编码方式,推荐使用utf8mb4
    """
    # 1、导入包
    import pymysql
    
    # 2、建立连接
    conn=pymysql.connect(host="主机地址",
                         user="用户名",
                         password="密码",
                         database="数据库名称",
                         charset="utf8mb4")
    # 3、关闭连接
    conn.close()
    
    """封装获取连接的函数"""
    def get_conn():
        conn=pymysql.connect(host="主机地址",
                         user="用户名",
                         password="密码",
                         database="数据库名称",
                         charset="utf8mb4")
        return conn
    
    """四、pymysql入门实例
    获取连接对象:打开、关闭
    获取游标对象:执行sql-execute()、查询记录、关闭游标"""
    
    # def test_demo():
    #     # 1、获取连接对象
    #     conn=get_conn()
    #     # 2、获取游标对象
    #     cursor=conn.cursor()
    #     # 3、执行sql
    #     cursor.execute("select * from table")
    #     # 4、查询结果
    #     result1=cursor.fetchone() #获取第一条
    #     result2=cursor.fetchall() #获取全部
    #     result3=cursor.fetchmany(10) #获取前10条
    #     # 5、关闭游标
    #     cursor.close()
    #     # 6、关闭连接
    #     conn.close()
    
    """五、常用数据库操作
    CRUD操作:
    1)创建表:
    2)插入记录
    3)查询记录
    4)更新记录
    5)删除记录
    执行事务:
    1)提交:commit
    2)回滚:rollback"""
    
    # 5.1 创建表testcase
    def test_create():
        conn=get_conn() #获取连接
        cursor=conn.cursor() #获取游标
        sql="create table `testcase`(" \
            "`id` int(11) not null auto_increment" \
            "`name` varchar(255) collale utf8_bin not null)"
        cursor.execute(sql) #执行建表语句
    
        cursor.close() #关闭游标
        conn.close() #关闭连接
    
    # 5.2 插入记录
    def test_insert():
        conn=get_conn() #获取连接
        cursor=conn.cursor() #获取游标
        sql="insert into testcase (id,name) values('123','yanfa')"
        cursor.execute(sql) #执行建表语句
        conn.commit() #提交
    
        cursor.close() #关闭游标
        conn.close() #关闭连接
    
    # 5.3 执行事务
    def test_insert1():
        conn=get_conn() #获取连接
        cursor=conn.cursor() #获取游标
        sql="insert into testcase (id,name) values('123','yanfa')"
        try:
            cursor.execute(sql)
            conn.commit()
        except:
            conn.rollback()
        finally:
            cursor.close()  # 关闭游标
            conn.close()
    
    # 5.4 查询操作
    def test_retrieve():
        conn=get_conn() #获取连接
        cursor=conn.cursor() #获取游标
        sql="select * from testcase "
        # 捕获异常
        try:
            cursor.execute(sql)
            record=cursor.fetchone()
            print(record)
        except Exception as e:
            print(sys.exc_info()) #打印错误信息
        finally:
            cursor.close()  # 关闭游标
            conn.close() # 关闭连接
    
    # 5.5 更新操作
    def test_update():
        conn=get_conn() #获取连接
        cursor=conn.cursor() #获取游标
        sql="update testcase set name='lisi' where name='yanfa'"
        # 捕获异常
        try:
            cursor.execute(sql) #执行sql
            conn.commit() #提交事务
        except:
            conn.rollback() # 回滚事务
        finally:
            cursor.close()  # 关闭游标
            conn.close() # 关闭连接
    
    # 5.6 删除
    def test_delete():
        conn=get_conn() #获取连接
        cursor=conn.cursor() #获取游标
        sql="delete from testcase where name='yanfa'"
        # 捕获异常
        try:
            cursor.execute(sql) #执行sql
            conn.commit() #提交事务
        except:
            conn.rollback() # 回滚事务
        finally:
            cursor.close()  # 关闭游标
            conn.close() # 关闭连接
    
    

    相关文章

      网友评论

          本文标题:python编程基础39-常用第三方库-pymysql

          本文链接:https://www.haomeiwen.com/subject/cnjvgdtx.html