• python-PyMySQ mysql数据库的操作和使用


    使用库 :import pymsql
    安装:pip install pymsql
    示例:

    数据库创建和删除

    pymysql连接数据库使用的是 pymsql.connect() 函数,其常用参数如下:

    pymysql.connect():连接数据库

    import pymysql
    
    db = pymysql.connect(
        host="localhost", 
        port=3306,
        user='root',    #在这里输入用户名
        password='',     #在这里输入密码
        charset='utf8mb4' 
        )
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    db.cursor():创建游标对象

    cursor = db.cursor() #创建游标对象
    
    • 1

    创建数据库justtest

    try:
    
        sql = 'show databases' 
        cursor.execute(sql)
        print('未创建数据库前:',cursor.fetchall()) #获取创建数据库前全部数据库
        dbname = 'justtest'
        sql = 'create database if not exists %s'%(dbname) #创建数据库
        cursor.execute(sql)
        sql = 'show databases' 
        cursor.execute(sql)
        print('创建新的数据库后:',cursor.fetchall()) #获取创建数据库后全部数据库
    except Exception as e:
        print(e)
        db.rollback()  #回滚事务
    finally:
        cursor.close() 
        db.close()  #关闭数据库连接
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    删除数据库

    sql = 'drop database if exists %s'%(dbname) #删除数据库
    cursor.execute(sql)
    sql = 'show databases' 
    cursor.execute(sql)
    print('删除新的数据库后:',cursor.fetchall()) #获取删除数据库后全部数据库
    
    • 1
    • 2
    • 3
    • 4
    • 5

    创建数据库”常用模板“
    CREATE DATABASE IF NOT EXISTS dbname DEFAULT CHARSET utf8;

    创建和管理表

    数据库test12340连接

    import pymysql
    
    db = pymysql.connect(
        host="nyanya.cc",   # mysql服务器IP地址
        port=3306,  # 服务所在的端口地址
        user='test12340',    #在这里输入用户名
        database='test12340',  #在这里数据库名称
        password='',     #在这里输入密码
        charset='utf8'  # 常用的utf8 utf8mb4
        ) #连接数据库
    cursor = db.cursor() #创建游标对象
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    创建表

    try:
        cursor = db.cursor()  # 创建游标对象
        tableName = 'user'
        sql = 'create table  %s (id varchar(20) not null, name varchar(20) not null, primary key(id))'%(tableName)
        cursor.execute(sql)     #执行sql语句,创建表
        sql = 'show tables'
        cursor.execute(sql)
        print('显示创建的表:',cursor.fetchall())  #显示创建的表
        sql = 'desc %s'%(tableName)
        cursor.execute(sql)
        print('显示表结构:',cursor.fetchall())  #显示表结构
    except Exception as e:
        print(e)
        db.rollback()  #回滚事务
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    创建成功
    在这里插入图片描述

    connect() 函数返回的连接对象的方法总结:

    方法
    close()关闭数据库的连接
    commit()提交事务
    rollback()回滚事务
    cursor()获取游标对象,操作数据库,如执行DML操作,调用存储过程等

    cursor():游标对象的方法

    方法名说明
    callproc(procname,[,parameters])调用存储过程,需要数据库支持
    close()关闭当前游标
    execute(operation,[,parameters])执行数据库操作,sql语句或者数据库命令
    executemany(operation, seq_of_params)用于批量操作
    fetchone()获取查询结果集合中的下一条记录
    fetchmany(size)获取指定数量的记录
    fetchall()获取查询结果集合所有记录
    nextset()跳至下一个可用的数据集
    arraysize指定使用fetchmany()获取的行数,默认为1
    setinputsizes(size)设置调用execute*()方法时分配的内存区域大小
    setoutputsizes(size)设置列缓冲区大小,对大数据列尤其有用
  • 相关阅读:
    【SpringBoot】SpringBoot开启MyBatis缓存+ehcache(一二级缓存和myBatis的差不多,第三方缓存是jar包的不一样)
    【react】手把手学习react - 元素条件渲染
    Docker自定义镜像
    【MC教程】iPad启动Java版mc(无需越狱)(保姆级?) Jitterbug启动iOS我的世界Java版启动器 PojavLauncher
    HBuilder X实现tabBar底部导航记录
    常见面试题-Redis专栏(二)
    Biotin-NHS ester,生物素-NHS,35013-72-0
    ANR Application Not Responding
    黑苹果修改intel hd3000核显显存大小.2022-11-29
    leetcode:857. 雇佣 K 名工人的最低成本【分块思考 + 由简单入手】
  • 原文地址:https://blog.csdn.net/zz891422822/article/details/126387044