欢迎访问宙启技术站
智能推送

使用Python中的sqlite3库进行数据库表格的创建和删除

发布时间:2023-12-25 17:26:28

SQLite是一个嵌入式关系数据库引擎,是一个零配置的、服务器的、事务性的SQL数据库引擎。在Python中使用SQLite3库可以方便地创建和删除数据库表格。

首先,需要导入sqlite3模块:

import sqlite3

然后,可以使用connect函数连接到数据库文件:

conn = sqlite3.connect('example.db')

这里的example.db是数据库文件的名称,如果不存在则会自动创建一个新的数据库文件。

接下来,可以创建一个游标对象,用于执行SQL语句:

cursor = conn.cursor()

创建表格的语法是使用CREATE TABLE语句,可以在execute函数中执行:

cursor.execute('''CREATE TABLE IF NOT EXISTS contacts 
                    (id INTEGER PRIMARY KEY, name TEXT, phone TEXT)''')

上述代码创建了一个名为contacts的表格,表格包括三列:id、name、phone。其中id是主键,是一个整数型,name和phone是文本型。

可以使用commit函数保存更改:

conn.commit()

表格创建完成后,可以插入数据:

cursor.execute("INSERT INTO contacts (name, phone) VALUES (?, ?)", ('Alice', '12345'))

上述代码插入了一条数据,姓名是Alice,电话是12345。

如果需要删除表格,可以使用DROP TABLE语句,在execute函数中执行:

cursor.execute('DROP TABLE IF EXISTS contacts')

上述代码删除了名为contacts的表格。

最后,关闭游标对象和数据库连接:

cursor.close()
conn.close()

这样就完成了对数据库表格的创建和删除。

以下是一个完整的使用例子:

import sqlite3

def create_table():
    conn = sqlite3.connect('example.db')
    cursor = conn.cursor()
    cursor.execute('''CREATE TABLE IF NOT EXISTS contacts 
                        (id INTEGER PRIMARY KEY, name TEXT, phone TEXT)''')
    conn.commit()
    cursor.close()
    conn.close()

def insert_data():
    conn = sqlite3.connect('example.db')
    cursor = conn.cursor()
    cursor.execute("INSERT INTO contacts (name, phone) VALUES (?, ?)", ('Alice', '12345'))
    cursor.execute("INSERT INTO contacts (name, phone) VALUES (?, ?)", ('Bob', '67890'))
    conn.commit()
    cursor.close()
    conn.close()

def delete_table():
    conn = sqlite3.connect('example.db')
    cursor = conn.cursor()
    cursor.execute('DROP TABLE IF EXISTS contacts')
    conn.commit()
    cursor.close()
    conn.close()

if __name__ == '__main__':
    create_table()
    insert_data()
    delete_table()

上述代码先创建一个名为contacts的表格,然后插入两条数据,最后删除该表格。