📜  Python SQLite-创建表

📅  最后修改于: 2020-11-07 08:55:33             🧑  作者: Mango


使用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数据库中创建一个名为CRICKETERS的表-

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

您可以使用.tables命令获取SQLite数据库中数据库中的表列表。创建表格后,如果您可以验证表格列表,则可以在其中观察到新创建的表格,如下所示:

sqlite> . tables
CRICKETERS ODIStats
sqlite>

使用Python创建表

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

因此,要使用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........