Hướng dẫn how do i run sqlite in python? - làm cách nào để chạy sqlite trong python?


Trong chương này, bạn sẽ học cách sử dụng SQLite trong các chương trình Python.

Cài đặt

SQLite3 có thể được tích hợp với Python bằng mô -đun SQLite3, được viết bởi Gerhard Haring. Nó cung cấp một giao diện SQL tuân thủ đặc tả DB-API 2.0 được mô tả bởi PEP 249. Bạn không cần phải cài đặt mô-đun này một cách riêng biệt vì nó được vận chuyển theo mặc định cùng với Python phiên bản 2.5.x trở đi.

Để sử dụng mô -đun SQLite3, trước tiên bạn phải tạo một đối tượng kết nối đại diện cho cơ sở dữ liệu và sau đó tùy chọn bạn có thể tạo một đối tượng con trỏ, điều này sẽ giúp bạn thực thi tất cả các câu lệnh SQL.

API mô -đun Python SQLite3

Sau đây là các thói quen mô -đun SQLite3 quan trọng, có thể đủ yêu cầu của bạn để làm việc với cơ sở dữ liệu SQLite từ chương trình Python của bạn. Nếu bạn đang tìm kiếm một ứng dụng tinh vi hơn, thì bạn có thể xem xét tài liệu chính thức của mô -đun Python SQLite3.

Sr.No.API & Mô tả
1

sqlite3.connect (cơ sở dữ liệu [, thời gian chờ, các đối số tùy chọn khác])

API này mở kết nối với tệp cơ sở dữ liệu SQLite. Bạn có thể sử dụng ": bộ nhớ:" Để mở kết nối cơ sở dữ liệu đến cơ sở dữ liệu nằm trong RAM thay vì trên đĩa. Nếu cơ sở dữ liệu được mở thành công, nó sẽ trả về một đối tượng kết nối.

Khi một cơ sở dữ liệu được truy cập bởi nhiều kết nối và một trong các quy trình sửa đổi cơ sở dữ liệu, cơ sở dữ liệu SQLite sẽ bị khóa cho đến khi giao dịch đó được thực hiện. Tham số thời gian chờ chỉ định thời gian kết nối sẽ đợi khóa biến mất cho đến khi tăng ngoại lệ. Mặc định cho tham số thời gian chờ là 5.0 (năm giây).

Nếu tên cơ sở dữ liệu đã cho không tồn tại thì cuộc gọi này sẽ tạo cơ sở dữ liệu. Bạn cũng có thể chỉ định tên tệp với đường dẫn cần thiết nếu bạn muốn tạo cơ sở dữ liệu ở bất cứ nơi nào khác ngoại trừ trong thư mục hiện tại.

2

connection.cursor([cursorClass])

Thường trình này tạo ra một con trỏ sẽ được sử dụng trong suốt chương trình cơ sở dữ liệu của bạn với Python. Phương pháp này chấp nhận một tham số tùy chọn duy nhất CursorClass. Nếu được cung cấp, đây phải là một lớp con trỏ tùy chỉnh mở rộng sqlite3.cursor.cursor which will be used throughout of your database programming with Python. This method accepts a single optional parameter cursorClass. If supplied, this must be a custom cursor class that extends sqlite3.Cursor.

3

con trỏ.execute (SQL [, tham số tùy chọn])

Thói quen này thực thi một câu lệnh SQL. Câu lệnh SQL có thể được tham số hóa (i. Mô -đun SQLITE3 hỗ trợ hai loại trình giữ chỗ: Dấu câu hỏi và người giữ chỗ được đặt tên (kiểu được đặt tên).

Ví dụ: con trỏ.execute ("Chèn vào các giá trị con người (?,?)", (Ai, tuổi))) − cursor.execute("insert into people values (?, ?)", (who, age))

4

Connection.execute (SQL [, tham số tùy chọn])

Thói quen này là một lối tắt của phương thức thực thi trên được cung cấp bởi đối tượng con trỏ và nó tạo ra một đối tượng con trỏ trung gian bằng cách gọi phương thức con trỏ, sau đó gọi phương thức thực thi của con trỏ với các tham số được đưa ra.

5

con trỏ.executemany (SQL, SEQ_OF_PARAMETERS)

Thường trình này thực thi lệnh SQL đối với tất cả các chuỗi tham số hoặc ánh xạ được tìm thấy trong chuỗi SQL.

6

Connection.executemany (SQL [, tham số])

Thói quen này là một lối tắt tạo ra một đối tượng con trỏ trung gian bằng cách gọi phương thức con trỏ, sau đó gọi phương thức exec con trỏ với các tham số được đưa ra.

7

cursor.executescript(sql_script)

Thường trình này thực thi nhiều câu lệnh SQL cùng một lúc được cung cấp dưới dạng tập lệnh. Nó phát hành một câu lệnh cam kết trước, sau đó thực thi tập lệnh SQL mà nó nhận được dưới dạng tham số. Tất cả các câu lệnh SQL nên được phân tách bằng một đại tràng (;).

8

connection.executescript(sql_script)

Thói quen này là một lối tắt tạo ra một đối tượng con trỏ trung gian bằng cách gọi phương thức con trỏ, sau đó gọi phương thức Executescript của con trỏ với các tham số được đưa ra.

9

connection.total_changes()

Thói quen này trả về tổng số hàng cơ sở dữ liệu đã được sửa đổi, chèn hoặc xóa kể từ khi kết nối cơ sở dữ liệu được mở.

10

connection.commit()

Phương pháp này thực hiện giao dịch hiện tại. Nếu bạn không gọi phương thức này, bất cứ điều gì bạn đã làm vì cuộc gọi cuối cùng để cam kết () không hiển thị từ các kết nối cơ sở dữ liệu khác.

11

connection.rollback()

Phương thức này quay lại mọi thay đổi đối với cơ sở dữ liệu kể từ lần gọi cuối cùng để cam kết ().

12

connection.close()

Phương pháp này đóng kết nối cơ sở dữ liệu. Lưu ý rằng điều này không tự động gọi cam kết (). Nếu bạn chỉ cần đóng kết nối cơ sở dữ liệu của mình mà không cần gọi cam kết (), các thay đổi của bạn sẽ bị mất!

13

cursor.fetchone()

Phương thức này lấy hàng tiếp theo của tập kết quả truy vấn, trả về một chuỗi duy nhất hoặc không có gì khi không có thêm dữ liệu.

14

con trỏ.fetchmany ([size = con trỏ.arraysize])

Thói quen này tìm thấy bộ hàng tiếp theo của kết quả truy vấn, trả về một danh sách. Một danh sách trống được trả về khi không có thêm hàng. Phương pháp cố gắng tìm nạp càng nhiều hàng như được chỉ ra bởi tham số kích thước.

15

cursor.fetchall()

Thói quen này lấy tất cả (phần còn lại) của một kết quả truy vấn, trả lại một danh sách. Một danh sách trống được trả về khi không có hàng.

Kết nối với cơ sở dữ liệu

Theo mã Python cho thấy cách kết nối với cơ sở dữ liệu hiện có. Nếu cơ sở dữ liệu không tồn tại, thì nó sẽ được tạo và cuối cùng một đối tượng cơ sở dữ liệu sẽ được trả về.

#!/usr/bin/python

import sqlite3

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

print "Opened database successfully";

Tại đây, bạn cũng có thể cung cấp tên cơ sở dữ liệu làm tên đặc biệt: bộ nhớ: để tạo cơ sở dữ liệu trong RAM. Bây giờ, chúng ta hãy chạy chương trình trên để tạo thử nghiệm cơ sở dữ liệu của chúng tôi trong thư mục hiện tại. Bạn có thể thay đổi đường dẫn của bạn theo yêu cầu của bạn. Giữ mã trên trong tệp sqlite.py và thực thi nó như được hiển thị bên dưới. Nếu cơ sở dữ liệu được tạo thành công, thì nó sẽ hiển thị thông báo sau.:memory: to create a database in RAM. Now, let's run the above program to create our database test.db in the current directory. You can change your path as per your requirement. Keep the above code in sqlite.py file and execute it as shown below. If the database is successfully created, then it will display the following message.

$chmod +x sqlite.py
$./sqlite.py
Open database successfully

Tạo một bảng

Theo chương trình Python sẽ được sử dụng để tạo một bảng trong cơ sở dữ liệu được tạo trước đó.

#!/usr/bin/python

import sqlite3

conn = sqlite3.connect('test.db')
print "Opened database successfully";

conn.execute('''CREATE TABLE COMPANY
         (ID INT PRIMARY KEY     NOT NULL,
         NAME           TEXT    NOT NULL,
         AGE            INT     NOT NULL,
         ADDRESS        CHAR(50),
         SALARY         REAL);''')
print "Table created successfully";

conn.close()

Khi chương trình trên được thực thi, nó sẽ tạo bảng công ty trong bài kiểm tra.db của bạn và nó sẽ hiển thị các tin nhắn sau -test.db and it will display the following messages −

Opened database successfully
Table created successfully

Chèn hoạt động

Theo chương trình Python cho thấy cách tạo hồ sơ trong bảng công ty được tạo trong ví dụ trên.

#!/usr/bin/python

import sqlite3

conn = sqlite3.connect('test.db')
print "Opened database successfully";

conn.execute("INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) \
      VALUES (1, 'Paul', 32, 'California', 20000.00 )");

conn.execute("INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) \
      VALUES (2, 'Allen', 25, 'Texas', 15000.00 )");

conn.execute("INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) \
      VALUES (3, 'Teddy', 23, 'Norway', 20000.00 )");

conn.execute("INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) \
      VALUES (4, 'Mark', 25, 'Rich-Mond ', 65000.00 )");

conn.commit()
print "Records created successfully";
conn.close()

Khi chương trình trên được thực thi, nó sẽ tạo các bản ghi đã cho trong bảng công ty và nó sẽ hiển thị hai dòng sau -

Opened database successfully
Records created successfully

Chọn Hoạt động

Theo chương trình Python cho thấy cách tìm nạp và hiển thị hồ sơ từ bảng công ty được tạo trong ví dụ trên.

#!/usr/bin/python

import sqlite3

conn = sqlite3.connect('test.db')
print "Opened database successfully";

cursor = conn.execute("SELECT id, name, address, salary from COMPANY")
for row in cursor:
   print "ID = ", row[0]
   print "NAME = ", row[1]
   print "ADDRESS = ", row[2]
   print "SALARY = ", row[3], "\n"

print "Operation done successfully";
conn.close()

Khi chương trình trên được thực hiện, nó sẽ tạo ra kết quả sau đây.

Opened database successfully
ID = 1
NAME = Paul
ADDRESS = California
SALARY = 20000.0

ID = 2
NAME = Allen
ADDRESS = Texas
SALARY = 15000.0

ID = 3
NAME = Teddy
ADDRESS = Norway
SALARY = 20000.0

ID = 4
NAME = Mark
ADDRESS = Rich-Mond
SALARY = 65000.0

Operation done successfully

Cập nhật hoạt động

Theo mã Python cho thấy cách sử dụng câu lệnh Update để cập nhật bất kỳ bản ghi nào và sau đó tìm nạp và hiển thị các bản ghi được cập nhật từ bảng công ty.

#!/usr/bin/python

import sqlite3

conn = sqlite3.connect('test.db')
print "Opened database successfully";

conn.execute("UPDATE COMPANY set SALARY = 25000.00 where ID = 1")
conn.commit()
print "Total number of rows updated :", conn.total_changes

cursor = conn.execute("SELECT id, name, address, salary from COMPANY")
for row in cursor:
   print "ID = ", row[0]
   print "NAME = ", row[1]
   print "ADDRESS = ", row[2]
   print "SALARY = ", row[3], "\n"

print "Operation done successfully";
conn.close()

Khi chương trình trên được thực hiện, nó sẽ tạo ra kết quả sau đây.

Opened database successfully
Total number of rows updated : 1
ID = 1
NAME = Paul
ADDRESS = California
SALARY = 25000.0

ID = 2
NAME = Allen
ADDRESS = Texas
SALARY = 15000.0

ID = 3
NAME = Teddy
ADDRESS = Norway
SALARY = 20000.0

ID = 4
NAME = Mark
ADDRESS = Rich-Mond
SALARY = 65000.0

Operation done successfully

Cập nhật hoạt động

Theo mã Python cho thấy cách sử dụng câu lệnh Update để cập nhật bất kỳ bản ghi nào và sau đó tìm nạp và hiển thị các bản ghi được cập nhật từ bảng công ty.

$chmod +x sqlite.py
$./sqlite.py
Open database successfully
0

Khi chương trình trên được thực hiện, nó sẽ tạo ra kết quả sau đây.

Cập nhật hoạt động

Làm cách nào để chạy tệp sqlite?

Chạy mã SQL bằng cách sử dụng shell sqlite..
Mở dấu nhắc lệnh (cmd.exe) và 'cd' đến vị trí thư mục của sql_safi. Tệp cơ sở dữ liệu SQLite ..
Chạy lệnh 'sqlite3' Điều này sẽ mở shell sqlite và trình bày một màn hình tương tự như bên dưới ..

Tôi có cần cài đặt sqlite cho python không?

SQLite là một cơ sở dữ liệu SQL dựa trên tệp khép kín. SQLite đi kèm với Python và có thể được sử dụng trong bất kỳ ứng dụng Python nào của bạn mà không phải cài đặt bất kỳ phần mềm bổ sung nào.can be used in any of your Python applications without having to install any additional software.

Làm cách nào để hiển thị một bảng sqlite trong python?

Danh sách bảng.Để liệt kê tất cả các bảng trong cơ sở dữ liệu SQLite3, bạn nên truy vấn bảng SQLite_Master và sau đó sử dụng Fetchall () để tìm nạp kết quả từ câu lệnh SELECT.SQLite_Master là bảng chính trong sqlite3, nơi lưu trữ tất cả các bảng.query the sqlite_master table and then use the fetchall() to fetch the results from the SELECT statement. The sqlite_master is the master table in SQLite3, which stores all tables.

Python có sử dụng sqlite không?

Mô -đun Python SQLite3 được sử dụng để tích hợp cơ sở dữ liệu SQLite với Python.Đây là một Python DBI API 2.0 được tiêu chuẩn hóa và cung cấp giao diện đơn giản và đơn giản để tương tác với cơ sở dữ liệu SQLite.. It is a standardized Python DBI API 2.0 and provides a straightforward and simple-to-use interface for interacting with SQLite databases.