python3 + pymysql 创建数据库

本文介绍如何使用Python和Pymysql库连接数据库并创建数据库及表结构,包括连接数据库、创建游标、执行创建数据库和表的SQL语句。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

# python + pymysql 创建数据库 
import pymysql
# 创建连接
conn = pymysql.connect(host='localhost',user='root',password='123456',charset='utf8mb4')
# 创建游标
cursor = conn.cursor()

# 创建数据库的sql(如果数据库存在就不创建,防止异常)
sql = "CREATE DATABASE IF NOT EXISTS db_name" 
# 执行创建数据库的sql
cursor.execute(sql)


# 创建表
sql_2 = '''CREATE TABLE `employee` (
  `id` INT NOT NULL AUTO_INCREMENT,
  `topic` INT ,
  `ptid` INT NOT NULL,
  `level` INT NOT NULL,
  `time` TIME,
  `consume` INT NOT NULL,
  `err` INT NOT NULL,
  `points` INT NOT NULL,
  `gid` INT NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
'''
cursor.execute(sql_2)

 

### Python Tkinter 结合 PyMySQL 示例代码 以下是一个结合 Python Tkinter 和 PyMySQL 的示例代码,展示如何通过图形界面与 MySQL 数据库进行交互。此代码包括连接数据库创建表单、插入数据和查询数据的功能。 ```python import tkinter as tk from tkinter import messagebox from pymysql import connect # 数据库连接函数 def connect_db(): try: db = connect( host='localhost', # 数据库主机地址 user='root', # 数据库用户名 password='123456', # 数据库密码 database='testdb' # 数据库名称 ) return db except Exception as e: messagebox.showerror("错误", f"无法连接到数据库: {e}") return None # 插入数据函数 def insert_data(): name = entry_name.get() age = entry_age.get() if not name or not age: messagebox.showwarning("警告", "请输入姓名和年龄") return db = connect_db() if db: cursor = db.cursor() sql = "INSERT INTO users (name, age) VALUES (%s, %s)" try: cursor.execute(sql, (name, age)) db.commit() messagebox.showinfo("成功", "数据插入成功") except Exception as e: db.rollback() messagebox.showerror("错误", f"数据插入失败: {e}") finally: db.close() # 查询数据函数 def query_data(): db = connect_db() if db: cursor = db.cursor() sql = "SELECT * FROM users" try: cursor.execute(sql) results = cursor.fetchall() listbox.delete(0, tk.END) for row in results: listbox.insert(tk.END, f"ID: {row[0]}, Name: {row[1]}, Age: {row[2]}") except Exception as e: messagebox.showerror("错误", f"数据查询失败: {e}") finally: db.close() # 创建主窗口 root = tk.Tk() root.title("Tkinter + PyMySQL 示例") # 创建输入框和标签 label_name = tk.Label(root, text="姓名:") label_name.grid(row=0, column=0, padx=10, pady=10) entry_name = tk.Entry(root) entry_name.grid(row=0, column=1, padx=10, pady=10) label_age = tk.Label(root, text="年龄:") label_age.grid(row=1, column=0, padx=10, pady=10) entry_age = tk.Entry(root) entry_age.grid(row=1, column=1, padx=10, pady=10) # 创建按钮 btn_insert = tk.Button(root, text="插入数据", command=insert_data) btn_insert.grid(row=2, column=0, padx=10, pady=10) btn_query = tk.Button(root, text="查询数据", command=query_data) btn_query.grid(row=2, column=1, padx=10, pady=10) # 创建列表框显示查询结果 listbox = tk.Listbox(root, selectmode=tk.SINGLE, width=50) listbox.grid(row=3, column=0, columnspan=2, padx=10, pady=10) # 启动主循环 root.mainloop() ``` ### 说明 上述代码实现了一个简单的 GUI 应用程序,允许用户通过 Tkinter 界面插入和查询 MySQL 数据库中的数据[^1]。具体功能包括: - 使用 `pymysql.connect` 方法连接到 MySQL 数据库。 - 提供两个功能按钮:一个用于插入数据,另一个用于查询数据并显示在列表框中。 - 错误处理确保在数据库连接或操作失败时向用户提供反馈。 ### 注意事项 - 在运行代码前,请确保已安装 `pymysql` 库,并正确配置 MySQL 数据库的主机名、用户名、密码和数据库名称[^2]。 - 如果需要更复杂的 GUI 功能,可以参考 Tkinter 的官方文档[^3]。
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值