手抄报 安全手抄报 手抄报内容 手抄报图片 英语手抄报 清明节手抄报 节约用水手抄报

python 中如何创建MySQL数据库

时间:2024-10-23 12:14:21

介绍利用python的pymysql模块来创建数据,在使用这个pymysql前需要完成一下准备工作,安装了MySQL,并启动了MySQL服务,而且安装了pymysql模块。如果有疑问可以浏览下面的经验引用。

工具/原料

python3.7版

pycharm社区版

1.需要了解创建库的MySQL命令

1、在使用“pymysql”模块前需要了解创建MySQL数据库的有关命令语句;创建数据库的命令是:CREATE DATABASES [ IF NOT EXISTS] 库名 [DEFAULT] CHARACTER SET [=] 字符集编码;注:中括号[ ] 内的字可以省略,库名后的编码格式,默认是utf8mb4, 这在初始化文件(my.ini)中已经设置。如果不想改变,库名后面的完全可以省去。所以可简单的使用:CREATE DATABASES 库名;

python 中如何创建MySQL数据库

2、获取错误信息:① 如果创建新库的名字已经存在就会报错 error,可用 show errors 命令来获取错误的内容,如错误代码信息等,对使用python很有用。② 其它不符合规范命名会报错,都可以用 show error 命令来获取错误信息。

python 中如何创建MySQL数据库

2.使用python代码来实现创建数据库

1、导入pymysql 模块;定义一个展示数据库的函数。import pymysqldef show_databases() conn = pymysql.connect(host='localhost', user='root', password='000') cursor = conn.cursor() cursor.execute('show databases;') result = cursor.fetchall() cursor.close() conn.close() print(result)show_databases()这里仅是为了说明过程,所以此函数没有设置返回值,而是直接打印。如下图例,运行函数,输出了当前所有的数据库。

python 中如何创建MySQL数据库

2、输出的数据库中有4个是MySQL创建的数据库,可以把它过滤掉,打印root用户创建的数据库,方法如下:① 定义一个全局列表,将MySQL创建的数据库装进去,system_db = ['information_schema''mysql','performance_schema', 'sys']②在show_databases() 函数内使用for循环及判断语句将其过滤掉。for i in range(len(result)): if result[i][0] not in system_db: print(f'数据库名称: {result[i][0]}')这样就仅打印了root用户建立的数据库;

python 中如何创建MySQL数据库

3、定义一个函数create_database()用于创建数据库。① 思路是:使用函数的递归,因为用input()函数输入数据库名称时有可能手误,或语法错误,或重复,都会报错,需要重新运行函数输入,为了避免错误,可使用try语句排除异常,然后在函数内部调用自身,进行下次输入,所以就用到递归函数的方法。②递归的出口是,当输入0 是退出递归。def create_database(): print('-' * 50) print('当前数据库:') show_databases() print('-' * 50) name = input('输入要创建的数据库名称,或输入 0 退出!:') if name == '0': show_databases() return print('创建数据库') create_database()如下图,测试递归无误。

python 中如何创建MySQL数据库

4、把创建数据库的代码插入其中:conn = pymysql.connect(host='localhost', user='root', password='000')cursor = conn.cursor()cursor.execute('create database %s' % name)运行函数,输入新数据库,成功建立,输入0退出。

python 中如何创建MySQL数据库

5、然而这并不完美,因为输入的数据库名称重复,或语法错误,就会报错。例如:下图当输入重复的数据库名称时,抛出了错误代码为1007的异常。当输入的数据库名称不符合语法规范时,抛出了错误代码为1064的异常。错误的类型可以查看说明,和测试出来。那么自然就想到了使用try语句来解决这个问题。

python 中如何创建MySQL数据库
python 中如何创建MySQL数据库

6、用try语句解决错误。try: cursor.execute('create database %s' % name)except Exception: cursor.execute('show errors') error = cursor.fetchone() print(error) create_database()else: print('新数据库【%s】创建成功!' % name) create_database()如果捕获到异常,可以调用自身,继续输入。直到输入0退出。如果输入正确,执行else语句块,直到输入0退出。

python 中如何创建MySQL数据库

7、也可以根据获取的错误信息,进行判断用中文显示。因为输入数据库名称错误,无非是重复(代码1007),或语法错误(代码1064),所以可以用简短的语句来打印。改写如下:try: cursor.execute('create database %s' % name)except Exception: cursor.execute('show errors') error = cursor.fetchone() if error[1] == 1007: print('此数据库已经存在!') create_database() elif error[1] == 1064: print('命名数据库语法错误!') create_database() else: print('输入异常!') create_database()else: print('新数据库【%s】创建成功!' % name) create_database()

python 中如何创建MySQL数据库

3.生成可执行文件

1、为了测试效果,将这段代码编译为可执行文件。① 确保安装了pyinstaller 模块(使用:pip install pyinstaller,非常easy);②为了不和别的文件混淆,可以将这个文件新建一个文件夹放进去。③打开cmd终端。cd到这个文件所在的文件夹。输入pyinstaller 文件名.py例如:我将这文件重命名为ac.py。粘贴到E盘下的ac空文件夹中,进行编译。编译的命令是 pyinstaller ac.py

python 中如何创建MySQL数据库

2、编译完成生成如下文件:

python 中如何创建MySQL数据库

3、在E:\ac\dist\ac目录下。运行 ac.exe文件。

python 中如何创建MySQL数据库

4、启动脚本,输入名称,完成新建数据库。全部步骤完成。如果能加上更的功能,如删除书库,表的增删改查等功能那就更方便了。

python 中如何创建MySQL数据库
© 手抄报圈