📜  Python MySQL创建表(1)

📅  最后修改于: 2023-12-03 14:46:00.819000             🧑  作者: Mango

Python MySQL创建表

创建表是MySQL中的重要操作之一,可以使用Python中的MySQL模块来创建MySQL数据库中的表。

连接MySQL数据库

在创建表之前,需要先连接MySQL数据库。使用mysql.connector模块来连接MySQL数据库。

import mysql.connector

mydb = mysql.connector.connect(
  host="localhost",
  user="yourusername",
  password="yourpassword",
  database="mydatabase"
)
创建表

使用execute()方法来执行SQL语句来创建表。下面是一个简单的例子。

mycursor = mydb.cursor()

mycursor.execute("CREATE TABLE customers (name VARCHAR(255), address VARCHAR(255))")

这将创建名为customers的表,其中包含名为nameaddress的两列。

要查找创建的表是否存在,可以使用以下SQL语句:

mycursor.execute("SHOW TABLES")

for x in mycursor:
  print(x)

此代码将输出数据库中的所有表格。

主键和自动增量

在创建表时,可以指定主键和自动增量。主键可以确保每个行都具有唯一性。自动增量可确保在插入每行时,主键值均自动增加。

以下代码演示如何创建具有主键和自动增量的表。

mycursor = mydb.cursor()

mycursor.execute("CREATE TABLE customers (id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255), address VARCHAR(255))")

这将创建一个具有名称customers,包含idnameaddress三列的表。其中,id列为主键,自动增量。

数据类型

在创建表时,必须指定每个列的数据类型。以下是MySQL支持的一些数据类型:

  • VARCHAR(size)
  • INT
  • FLOAT
  • DOUBLE
  • DATE
  • TIME
  • DATETIME

例如,以下代码将创建一个名为products的表,其中包含一个列名为id(主键、自动增量)、一个名为name(VARCHAR类型)、一个名为price(DOUBLE类型)的列。

mycursor = mydb.cursor()

mycursor.execute("CREATE TABLE products (id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255), price DOUBLE)")
索引

您还可以在创建表时指定索引,以提高检索速度。以下是如何创建一个具有索引的表格:

mycursor = mydb.cursor()

mycursor.execute("CREATE TABLE customers (id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255), address VARCHAR(255), INDEX (name))")

此代码将在name列上创建一个索引。