Python SQLite 创建表


使用 SQLite CREATE TABLE 语句,你可以在数据库中创建表。

语法

下面是在 SQLite 数据库中创建表的语法:

CREATE TABLE database_name.table_name(
    column1 datatype PRIMARY KEY(one or more columns),
    column2 datatype,
    column3 datatype,
    .....
    columnN datatype
);

例子

以下 SQLite 查询/语句创建一个名称为的表 板球运动员 在 SQLite 数据库中:

sqlite> CREATE TABLE CRICKETERS (
    First_Name VARCHAR(255),
    Last_Name VARCHAR(255),
    Age int,
    Place_Of_Birth VARCHAR(255),
    Country VARCHAR(255)
);
sqlite>

让我们再创建一个表 OdiStats,描述 CRICKETERS 表中每个球员的一日板球统计数据。

sqlite> CREATE TABLE ODIStats (
    First_Name VARCHAR(255),
    Matches INT,
    Runs INT,
    AVG FLOAT,
    Centuries INT,
    HalfCenturies INT
);
sqlite>

你可以使用 SQLite 数据库中的数据库中的表列表 .tables 命令。创建表后,如果可以验证表的列表,可以观察到其中新创建的表为:

sqlite> . tables
CRICKETERS ODIStats
sqlite>

使用 Python 创建表


游标对象包含执行查询和获取数据等的所有方法。连接类的游标方法返回一个游标对象。

因此,使用python在SQLite数据库中创建表:

  • 使用 connect() 方法建立与数据库的连接。

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

  • 现在使用 Cursor 类的 execute() 方法执行 CREATE TABLE 语句。

例子

以下 Python 程序在 SQLite3 中创建了一个名为 Employee 的表:

import sqlite3
#Connecting to sqlite
conn = sqlite3.connect('example.db')

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

#Doping 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)
print("Table created successfully........")

#Commit your changes in the database
conn.commit()

#Closing the connection
conn.close()
Table created successfully........