使用 Python 和 SQLite 的 SQL


在本文中,我们将学习如何使用 Python 和 SQLite 数据库来使用 SQL。Python 有一个内置模块可以连接到 SQLite 数据库。我们将使用 sqlite3 模块来连接 Python 和 SQLite。

我们必须遵循以下步骤来连接 SQLite 数据库和 Python。请查看这些步骤并编写程序。

  • 导入 sqlite3 模块。
  • 使用 sqlite3.connect(db_name) 方法创建一个连接,该方法将数据库名称作为参数。如果不存在,它将创建一个具有给定名称的文件;否则,它将打开具有给定名称的文件。
  • 使用 conn.cursor() 从连接中获取游标对象。它是 Python 和 SQLite 数据库之间的中介。我们必须使用此游标对象来执行 SQL 命令。

以上三个步骤帮助我们与 SQLite 数据库建立连接。这些步骤与 Python 中的任何数据库都类似。如果您对以上步骤有任何疑问,请参见下面的代码。

# importing the module
import sqlite3

# creating an connection
conn = sqlite3.connect("tutorialspoint.db") # db - database

# Cursor object
cursor = conn.cursor()

现在,我们与数据库建立了连接。让我们按照以下步骤使用 SQL 查询创建数据库。

  • 编写 SQL 代码以创建具有列名和类型的表。
  • 使用 cursor.execute() 执行代码以在数据库中创建表。
  • 编写 SQL 代码以将一些行插入表中。并像上面那样执行它们。
  • 使用 conn.commit() 方法提交更改以将其保存到文件中。
  • 使用 conn.close() 方法关闭连接。
# importing the module
import sqlite3

# creating an connection
conn = sqlite3.connect("tutorialspoint.db") # db - database

# Cursor object
cursor = conn.cursor()

# code to create a databse table
create_table_sql = """
CREATE TABLE students (
   id INTEGER PRIMARY KEY,
   first_name VARCHAR(20),
   last_name VARCHAR(30),
   gender CHAR(1)
);
"""
# executing the above SQL code
cursor.execute(create_table_sql)

# inserting data into the students table
insert_student_one_sql = """INSERT INTO students VALUES (1, "John", "Hill", "M");"""
cursor.execute(insert_student_one_sql)

insert_student_two_sql = """INSERT INTO students VALUES (2, "Jessy", "Hill", "F");"""
cursor.execute(insert_student_two_sql)

insert_student_three_sql = """INSERT INTO students VALUES (3, "Antony", "Hill", "M");"""
cursor.execute(insert_student_three_sql)

# saving the changes using commit method of connection
conn.commit()

# closing the connection
conn.close()

如果您在执行上述代码后没有收到任何错误,那么您就可以开始了。

如何查看数据库表中的数据?让我们按照给定的步骤编写代码。

  • 连接到数据库。
  • 创建一个游标对象。
  • 编写 SQL 查询以从表中获取所需的数据。
  • 现在执行它。
  • 游标对象将包含您想要的数据。使用 fetchall() 方法获取它。
  • 通过打印它查看数据。

如果您有任何疑问,请查看下面的代码。

# importing the module
import sqlite3

# creating an connection
conn = sqlite3.connect("tutorialspoint.db") # db - database

# Cursor object
cursor = conn.cursor()

# SQL query to get all students data
fetch_students_sql = """
SELECT * FROM students;
"""

# executing the SQL query
cursor.execute(fetch_students_sql)

# storing the data in a variable using fetchall() method
students = cursor.fetchall() # a list of tuples

# printing the data
print(students)

如果您执行上述程序,则将获得与输出类似的结果。

输出

[(1, 'John', 'Hill', 'M'), (2, 'Jessy', 'Hill', 'F'), (3, 'Antony', 'Hill', 'M')]

结论

现在,您可以开始在 Python 中使用数据库了。多加练习才能获得更多技能。如果您对本教程有任何疑问,请在评论区提出。

更新于:2020年11月13日

浏览量 1000+

启动您的 职业生涯

完成课程获得认证

开始学习
广告