Python Data Access 简明教程

Python MySQL - Create Table

CREATE TABLE 语句用于在 MySQL 数据库中创建表。在这里,你需要指定表的名称以及每个列的定义(名称和数据类型)。

Syntax

下面是创建 MySQL 表的语法:

CREATE TABLE table_name(
   column1 datatype,
   column2 datatype,
   column3 datatype,
   .....
   columnN datatype,
);

Example

以下查询在 MySQL 中创建一个名为 EMPLOYEE 的表,该表具有五个列,即 FIRST_NAME、LAST_NAME、AGE、SEX 和 INCOME。

mysql> CREATE TABLE EMPLOYEE(
   FIRST_NAME CHAR(20) NOT NULL,
   LAST_NAME CHAR(20),
   AGE INT,
   SEX CHAR(1),
   INCOME FLOAT
);
Query OK, 0 rows affected (0.42 sec)

DESC 语句提供指定表的描述。使用此语句可以验证是否已创建表,如下所示:

mysql> Desc Employee;
+------------+----------+------+-----+---------+-------+
| Field      | Type     | Null | Key | Default | Extra |
+------------+----------+------+-----+---------+-------+
| FIRST_NAME | char(20) | NO   |     | NULL    |       |
| LAST_NAME  | char(20) | YES  |     | NULL    |       |
| AGE        | int(11)  | YES  |     | NULL    |       |
| SEX        | char(1)  | YES  |     | NULL    |       |
| INCOME     | float    | YES  |     | NULL    |       |
+------------+----------+------+-----+---------+-------+
5 rows in set (0.07 sec)

Creating a table in MySQL using python

名为 execute() (在游标对象上调用)的方法接受两个变量:

  1. 一个字符串值,表示要执行的查询。

  2. 可选的 args 参数,可以是元组、列表或字典,表示查询的参数(占位符的值)。

它返回一个整数值,表示受查询影响的行数。

一旦建立数据库连接,就可以通过将 CREATE TABLE 查询传递给 execute() 方法来创建表。

简而言之,要使用 python 7minus 创建表;

  1. Import mysql.connector package.

  2. 使用 mysql.connector.connect() 方法创建一个连接对象,通过将用户名、密码、主机(可选,默认值:localhost)和数据库(可选)作为参数传递给该对象。

  3. 通过对上面创建的连接对象调用 cursor() 方法创建一个游标对象。

  4. 然后,通过将其作为参数传递给 execute() 方法来执行 CREATE TABLE 语句。

Example

以下示例在 mydb 数据库中创建了一个名为 Employee 的表。

import mysql.connector

#establishing the connection
conn = mysql.connector.connect(
   user='root', password='password', host='127.0.0.1', database='mydb'
)

#Creating a cursor object using the cursor() method
cursor = conn.cursor()

#Dropping EMPLOYEE table if already exists.
cursor.execute("DROP TABLE IF EXISTS EMPLOYEE")

#Creating table as per requirement
sql ='''CREATE TABLE EMPLOYEE(
   FIRST_NAME CHAR(20) NOT NULL,
   LAST_NAME CHAR(20),
   AGE INT,
   SEX CHAR(1),
   INCOME FLOAT
)'''
cursor.execute(sql)

#Closing the connection
conn.close()