zoukankan      html  css  js  c++  java
  • 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() # 查看当前数据库中的所有数据表

     

     

  • 相关阅读:
    4.9新随笔
    4.2上机作业
    3.30作业
    3.26上机练习
    作业十
    作业九
    作业八
    作业六
    作业五
    作业三
  • 原文地址:https://www.cnblogs.com/shanger/p/12982110.html
Copyright © 2011-2022 走看看