Python(24):Python3之数据库操作(查询数据库,删除数据库,以及新增数据库)

Python(24):Python3之数据库操作(查询数据库,删除数据库,以及新增数据库)

1、首先需要安装pymysql

$pip3 install pymysql

2、引用pymysql

import pymysql

3、Python3之数据库操作(查询数据库,删除数据库,以及新增数据库)

# -*- coding: utf-8 -*-
"""
Create by HMF on 2021/04/07.
"""

import pymysql
import common

class casb_data(object):
    def __init__(self,dbhost,dbuser,dbpassword,dbname,dbport):
        self.dbhost=dbhost
        self.dbuser = dbuser
        self.dbpassword = dbpassword
        self.dbname = dbname
        self.dbport = dbport

    def get_conn(self):
        conn = pymysql.connect(host=self.dbhost, user=self.dbuser, password=self.dbpassword, db=self.dbname,port=self.dbport)
        return conn

    def show_databases(self):
        conn = self.get_conn()
        try:
            # 使用cursor()方法获取操作游标
            cursor = conn.cursor()
            # 使用execute方法执行SQL语句
            results=cursor.execute('show databases;')
            results = cursor.fetchall()
            return results
            conn.close()
        except Exception as e:
            print("查询数据库失败,Exception:", e)
            conn.close()

    def create_database(self,dbname):
        conn = self.get_conn()
        try:
            # 使用cursor()方法获取操作游标
            cursor = conn.cursor()

            # 使用execute方法执行SQL语句
            cursor.execute('CREATE database  %s' % dbname)

            conn.close()
        except Exception as e:
            print("创建数据库失败,Exception:", e)
            conn.close()

    def drop_database(self,dbname):
        conn = self.get_conn()
        try:
            # 使用cursor()方法获取操作游标
            cursor = conn.cursor()

            # 使用execute方法执行SQL语句
            cursor.execute('drop database  %s' % dbname)

            conn.close()
        except Exception as e:
            print("删除数据库失败,Exception:", e)
            conn.close()

4、调用查询数据库,删除数据库,新增数据库函数

if __name__ == '__main__':
    dbname = "casb"
    dbhost = "10.1.1.143"
    dbport = 3306
    dbuser = "root"
    dbpassword = "lian2020"


    scheduler_database="jenkins_scheduler"   # scheduler数据库
    uim_database="jenkins_test1"
    sem_database="jenkins_test1"
    kms_database="jenkins_test2"


    dbconn=casb_data(dbhost,dbuser,dbpassword,dbname,dbport)
    results=dbconn.show_databases()
    #print (results)
    #删除数据库
    for i in range(len(results)):
        #print('\t' + results[i][0])
        #print (results[i][0])
        if (scheduler_database in results[i][0]) or kms_database in results[i][0] or sem_database in results[i][0] or uim_database in results[i][0]:
            #print (results[i][0])
            dbconn.drop_database(results[i][0])
    #创建数据库
    dbconn.create_database(scheduler_database)
    dbconn.create_database(kms_database)
    dbconn.create_database(sem_database)
    dbconn.create_database(uim_database)

    results=dbconn.show_databases()
    add_database_num=0
    for i in range(len(results)):
        #print('\t' + results[i][0])
        #print (results[i][0])
        database_num=0
        if (scheduler_database in results[i][0]) or kms_database in results[i][0] or sem_database in results[i][0] or uim_database in results[i][0]:
            add_database_num+=1
    if add_database_num==4:
        print ("4个数据库在10.1.1.143创建成功,%s,%s,%s,%s"%(scheduler_database,kms_database,sem_database,uim_database))
    print (add_database_num)   #打印创建的数据库数量

 

你可能感兴趣的:(Python自动化测试(web,接口),python相关)