设计一个工业电气和自动化项目需要应用到很多软件,常用的如Word、Excel、Autocad等,后期还包括一些工业编程软件。面对繁杂的项目数据,常常是一头露水。后来用Excel VBA写了一些小程序,虽然在项目设计过程中省了很多事,但移植性不强,面对一个新项目又是很多问题。学了一段Python后,思量一下是否可以用Python把他们整合起来,答案是肯定的。在这里记录一下过程,问题,也希望有兴趣的朋友参与,共同研究一下。
连接项目和软件的一个关键就是数据,因此我们选择了使用数据库。数据库不仅能够在项目和软件之间共享数据,还能保证数据的唯一性。数据库我们选择了Mysql。首先我们要建立一个访问Mysql的函数库,创建一个名字为mysql.py的Python文件。
文件的开始我们要使用以下代码,导入一个Pyhton与Mysql连接的外部库文件:
import pymysql
自定义的第一个函数,用途获取MySQL中所有的数据库名:
def ReadDatabaseName():
conn=pymysql.connect(host='localhost',user='root',password='密码',charset='utf8mb4')
sql = "SHOW DATABASES"
cursor = conn.cursor()
cursor.execute(sql)
data = cursor.fetchall()
cursor.close()
conn.close()
return data
我们可以通过代码 print(ReadDatabaseName()) 测试函数,得到以下结果:
============= RESTART: C:\Users\mwy\Desktop\新项目\python\mysql.py =============
((‘gc’,), (‘gm’,), (‘information_schema’,), (‘mysql’,), (‘performance_schema’,), (‘sys’,))
这是由所有数据库名组成的一个元组数据。
自定义的第二个函数,用途依据数据库名删除MySQL中的数据库:
def DeleteDatabase(DatabaseName):
conn=pymysql.connect(host='localhost',user='root',password='密码',charset='utf8mb4')
sql = "DROP DATABASE {0}".format(DatabaseName)
try:
cursor = conn.cursor()
cursor.execute(sql)
cursor.close()
conn.close()
return True
except:
conn.close()
return False
可通过代码 DeleteDatabase(‘数据名’) 测试函数。这个函数只返回了真和假,用于判断函数是否删除名字为输入参数的数据库。
自定义的第三个函数,创建数据库:
def CreateDatabase(DatabaseName):
conn=pymysql.connect(host='localhost',user='root',password='密码',charset='utf8mb4')
sql = "CREATE DATABASE {0}".format(DatabaseName) #IF NOT EXISTS
try:
cursor = conn.cursor()
cursor.execute(sql)
cursor.close()
conn.close()
return True
except:
conn.close()
return False
可通过代码 CreateDatabase(‘数据名’) 测试函数。数据库名应为新名,不能与其它数据库名重名。
以上三个函数基本实现对数据库的查询、创建和删除功能,为以后窗口程序的编写简化了代码。