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 資料庫中建立名為 CRICKETERS 的表 -

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

讓我們再建立一個 OneDayStats 表,描述 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 方法返回一個遊標物件。

因此,要使用 python 在 SQLite 資料庫中建立表 -

  • 使用 connect() 方法與資料庫建立連線。

  • 透過呼叫以上建立的連線物件中的 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........
廣告