• python 用 pymysql 新建数据库、表,通过 pandas 查看结果


    一、加载库,定义通用函数

    import pandas as pd
    import pymysql
    
    def mycursor(db_name=None):
        '''连接数据库,创建游标'''
        config = dict(zip(['host', 'user', 'port', 'password'],
                          ['192.168.137.155', 'shanger', 3306, '0123']))
        config.update(database=db_name)
        connection = pymysql.connect(**config)
        cursor = connection.cursor()
        return cursor
    
    def use(db_name):
        '''切换数据库,返回游标'''
        return mycursor(db_name)
    
    def create_database(db_name):
        '''新建数据库'''
        sql = f'create database if not exists {db_name};'
        cursor.execute(sql)
        
    def create_table(tbl_name):
        '''新建数据库'''
        sql = f'create table if not exists {tbl_name};'
        cursor.execute(sql) 
        
    def drop_database(db_name):
        '''删除数据库'''
        sql = f'drop database if exists {db_name};'
        cursor.execute(sql)
           
    def drop_table(tbl_name):
        '''删除数据库'''
        sql = f'drop table if exists {tbl_name};'
        cursor.execute(sql)
    
    def query(sql):
        '''以数据框形式返回查询据结果'''
        cursor.execute(sql)
        data = cursor.fetchall()  # 以元组形式返回查询数据
        header = [t[0] for t in cursor.description]
        df = pd.DataFrame(list(data), columns=header)  # pd.DataFrem 对列表具有更好的兼容性
        return df
    
    def show_databases():
        '''查看服务器上的所有数据库'''
        sql = 'show databases;'
        return query(sql)
    
    def select_database():
        '''查看当前数据库'''
        sql = 'select database();'
        return query(sql)
    
    def show_tables():
        '''查看当前数据库中所有的表'''
        sql = 'show tables;'
        return query(sql)

    二 、新建数据库

    1、新建前所有数据库

    cursor = mycursor()
    show_databases()

    结果:

     2 新建数据库 sql123

    cursor = mycursor()
    create_database('sql123') # 新建库
    
    show_databases()  # 查看结果

     三、新建数据表

    1、切换数据库

    cursor = use('sql123')
    
    select_database()  # 查询当前数据库

     查询其中的所有数据表

     2 、新建数据表

    sql = '''
    create table poptbl
    (pref_name varchar(32) primary key,
     population integer not null);
    '''
    
    create_table(sql)
    
    show_tables() # 查看当前数据库中的所有数据表

     

     

  • 相关阅读:
    Mvc的路由
    Java编程思想——第14章 类型信息(一)RTTI
    让你的sql开启氮气加速
    CountDownLatch和CycliBarrier介绍
    Java编程思想——第21章 并发
    emojy表情的小问题
    ThreadPoolExecutor使用方法
    Java8两大特性(一)——Stream
    js保留两位小数(不四舍五入)
    vant popup能不能插在body下
  • 原文地址:https://www.cnblogs.com/shanger/p/12982110.html
Copyright © 2020-2023  润新知