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

Python中使用sqlite3进行数据库操作的基本方法

发布时间:2023-12-25 17:19:47

在Python中,可以使用sqlite3模块来连接和操作SQLite数据库。sqlite3是Python标准库中的一个模块,不需要额外安装。下面是sqlite3模块的基本方法以及一个使用例子。

1. 连接数据库

首先需要使用connect()函数连接数据库。如果数据库不存在,会自动创建一个新的数据库。

   import sqlite3
   
   conn = sqlite3.connect("database.db")  # 连接一个名为database.db的数据库
   

2. 创建表格

使用execute()方法执行SQL语句来创建表格。

   conn.execute('''CREATE TABLE employees
                    (ID INT PRIMARY KEY     NOT NULL,
                    NAME           TEXT    NOT NULL,
                    AGE            INT     NOT NULL,
                    ADDRESS        CHAR(50),
                    SALARY         REAL);''')
   

3. 插入数据

使用execute()方法执行INSERT语句来插入数据。

   conn.execute("INSERT INTO employees (ID,NAME,AGE,ADDRESS,SALARY) \
                 VALUES (1, 'John Doe', 28, '123 Street, City', 2500)")
   conn.execute("INSERT INTO employees (ID,NAME,AGE,ADDRESS,SALARY) \
                 VALUES (2, 'Jane Smith', 30, '456 Avenue, Town', 3000)")
   

4. 查询数据

使用execute()方法执行SELECT语句来查询数据,并使用fetchall()方法来获取查询结果。

   cursor = conn.execute("SELECT * from employees")
   for row in cursor.fetchall():
       print(f"ID: {row[0]}, Name: {row[1]}, Age: {row[2]}, Address: {row[3]}, Salary: {row[4]}")
   

5. 更新数据

使用execute()方法执行UPDATE语句来更新数据。

   conn.execute("UPDATE employees set SALARY = 3500 where ID = 1")
   

6. 删除数据

使用execute()方法执行DELETE语句来删除数据。

   conn.execute("DELETE from employees where ID = 2")
   

7. 提交变更

使用commit()方法提交对数据库的变更。

   conn.commit()
   

8. 关闭连接

使用close()方法关闭数据库连接。

   conn.close()
   

完整的例子:

import sqlite3

# 连接数据库
conn = sqlite3.connect("database.db")

# 创建表格
conn.execute('''CREATE TABLE employees
                (ID INT PRIMARY KEY     NOT NULL,
                NAME           TEXT    NOT NULL,
                AGE            INT     NOT NULL,
                ADDRESS        CHAR(50),
                SALARY         REAL);''')

# 插入数据
conn.execute("INSERT INTO employees (ID,NAME,AGE,ADDRESS,SALARY) \
              VALUES (1, 'John Doe', 28, '123 Street, City', 2500)")
conn.execute("INSERT INTO employees (ID,NAME,AGE,ADDRESS,SALARY) \
              VALUES (2, 'Jane Smith', 30, '456 Avenue, Town', 3000)")

# 查询数据
cursor = conn.execute("SELECT * from employees")
for row in cursor.fetchall():
    print(f"ID: {row[0]}, Name: {row[1]}, Age: {row[2]}, Address: {row[3]}, Salary: {row[4]}")

# 更新数据
conn.execute("UPDATE employees set SALARY = 3500 where ID = 1")

# 删除数据
conn.execute("DELETE from employees where ID = 2")

# 提交变更
conn.commit()

# 关闭连接
conn.close()

这个例子中,我们首先连接了一个名为database.db的数据库。然后创建了一个名为employees的表格,并插入了两条员工数据。接着查询了所有员工的数据,并打印出来。随后更新了ID为1的员工的薪水,并删除了ID为2的员工的数据。最后提交了对数据库的变更并关闭了连接。

通过上述简单的例子,你可以了解sqlite3模块在Python中进行数据库操作的基本方法。可以根据自己的需求来执行更复杂的SQL语句以满足不同的操作需求。