如何使用 Python 在 MySQL 中创建表

在使用MySQL数据库时,除了创建数据库,下一步往往就是在数据库里创建表(Table)。下面的示例将教你如何利用Python代码在MySQL中创建表,并设置主键。

1. 创建表的基本操作

首先,你需要连接到指定的数据库。在代码中,要记得指定database参数:

import mysql.connector

# 连接到 mydatabase 数据库
mydb = mysql.connector.connect(
    host="localhost",
    user="yourusername",
    password="yourpassword",
    database="mydatabase"
)

mycursor = mydb.cursor()

# 创建名为 customers 的表
mycursor.execute("CREATE TABLE customers (name VARCHAR(255), address VARCHAR(255))")

以上示例如果执行无误,就说明数据库中新增了一个名为customers的表,包含nameaddress两列。

2. 检查表是否存在

若想确认表已成功创建,可执行SHOW TABLES查看数据库中所有表:

mycursor.execute("SHOW TABLES")

for x in mycursor:
    print(x)

输出中若包含customers,说明表创建成功。

3. 为表设置主键 (Primary Key)

在实际应用中通常需要为每条记录设置唯一标识(主键)。下面在新建表时就设定主键:

mycursor.execute(
    "CREATE TABLE customers ("
    "id INT AUTO_INCREMENT PRIMARY KEY, "
    "name VARCHAR(255), "
    "address VARCHAR(255))"
)
  • AUTO_INCREMENT 表示自动递增。
  • PRIMARY KEY 表示这个字段是主键。

在现有表上添加主键:

# 如果表已经存在,但没有主键,可以使用ALTER TABLE语句添加:
mycursor.execute("ALTER TABLE customers ADD COLUMN id INT AUTO_INCREMENT PRIMARY KEY")

其他提示

  • 如果创建表时遇到同名表已存在的情况,可先删除旧表或使用IF NOT EXISTS语句。
  • 列类型如VARCHAR(255)适用于存储字符串,根据需求可选其他类型。
  • 主键通常用整数自增,以确保唯一性。

通过以上步骤,你已经能够使用Python轻松完成在MySQL中创建表的操作,并设置主键以保证数据的唯一标识。