Thắc mắc về Cursor object trong sqlite3 Python

Em có học kết nối SQLite trên Python bằng sqlite3 và có thắc mắc là:
Việc sử dụng Cursor object có cần thiết không ?

Em thấy có thể dùng connection.execute() ( connection = sqlite3.connect("school.db")) để thực thi các câu lệnh của SQL cũng được thay vì sử dụng cursor.execute() ( cursor = connection.cursor()), và lấy dữ liệu từ db cũng có thể thông qua connection thay vì cursor

Có thể em chưa hiểu rõ bản chất hay công dụng đặc biệt của cursor object mong mọi người giúp em ạ

Cứ thử luôn cái cách mà bạn cho rằng nó là ổn, không cần thiết phải cursor đi, rồi bạn sẽ rút ra ngay chứ hỏi người khác thì bạn không sao thông não nổi đâu, thật đấy.

Quan điểm của mình là khi mọi thứ đang trong tầm tay, thử ngay và luôn chứ đi hỏi làm gì? Gặp những thằng thích chơi xỏ, nó trả lời thiếu nghiêm túc có phải là hỏng bét việc không? Lại nghe theo nó mà thiếu kiểm chứng bằng nhận định cá nhân => bán lúa giống.

4 Likes

chủ yếu là bởi vì execute trong connection không phải là standard PEP249. thì làm vậy sau này đổi sang thư viện db khác xài chung PEP249 thì nó dễ bị lỗi.

execute ( sql [, parameters ])
This is a nonstandard shortcut that creates a cursor object by calling the cursor() method, calls the cursor’s execute() method with the parameters given, and returns the cursor.

nếu bạn thấy nó tiện hơn thì cứ xài thôi. vì python còn khuyên dùng cách đấy

Using sqlite3 efficiently

Using shortcut methods

8 Likes

em cảm ơnnn !!!

em cảm ơn ạ !!!

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?