Hướng dẫn dùng database python python
Chương này sẽ giới thiệu khái quát cho bạn về cách truy cập Database bởi sử dụng Python và giới thiệu qua về một số hoạt động cơ bản trên Database như INSERT, UPDATE, DELETE ... Show
Trước khi theo dõi và thực hành chương này, bạn cần phải tải một DB API Module riêng cho mỗi Database bạn cần truy cập. DB API cung cấp một chuẩn tối thiểu để làm việc với Database bởi sử dụng Python. Trong chương này, chúng ta sẽ sử dụng MySQL, vì thế trước hết chúng ta hãy tìm hiểu qua về MySQLdb Module. MySQLdb là gì?MySQLdb là một Interface để kết nối tới một MySQL Database Server từ Python. Nó triển khai Python Database API 2.0 và được xây dựng trên cùng của MySQL C API. Cách cài đặt MySQLdb?Trước khi tiến hành, bạn cần cài đặt MySQL trên thiết bị của bạn. Sau đó gõ dòng Python script sau và thực thi nó:
Nếu nó cho kết quả sau, thì nghĩa là MySQLdb Module đã không được cài đặt:
Để cài đặt MySQLdb Module, tải nó từ MySQLdb Download và tiến hành như sau:
Kết nối Database trong PythonTrước khi kết nối với một MySQL Database, đảm bảo:
Dưới đây là ví dụ về kết nối với TESTDB.
Khi chạy script này, nó sẽ cho kết quả sau trên thiết bị Linux.
Nếu một kết nối được thành lập, thì một đối tượng Connection được trả về và được lưu giữ vào trong db, nếu không db được thiết lập là None. Tiếp đó, đối tượng db được sử dụng để tạo đối tượng cursor, mà tiếp đó được sử dụng để thực thi các truy vấn SQL. Cuối cùng, trước khi thoát ra, nó bảo đảm rằng kết nối tới Database được đóng và các resource được giải phóng. Tạo bảng dữ liệu trong PythonKhi một kết nối tới Database đã được thành lập, chúng ta có thể tạo các bảng hoặc bản ghi vào trong bảng đó bởi sử dụng phương thức execute của đối tượng cursor đã được tạo. Bạn theo dõi ví dụ để tạo bảng SINHVIEN:
Hoạt động INSERT trong PythonĐây là hoạt động bắt buộc khi bạn muốn tạo các bản ghi vào trong bảng đã tạo. Ví dụ sau sẽ thực thi lệnh SQL INSERT để tạo một bản ghi vào trong bảng SINHVIEN.
Ví dụ trên có thể được viết như sau để tạo các truy vấn SQL hay hơn:
Ví dụ Đoạn code sau là form thực thi khác, tại đây bạn có thể truyền các tham số một cách trực tiếp. ```.................................. user_id = "test123" password = "password" con.execute('chen cac gia tri de dang nhap ("%s", "%s")' % \ (user_id, password)) ..................................
import MySQLdb mo ket noi toi Databasedb = MySQLdb.connect("localhost","testuser","test123","TESTDB" ) chuan bi mot doi tuong cursor boi su dung phuong thuc cursor()cursor = db.cursor() Chuan bi truy van SQl de INSERT mot ban ghi vao trong database.sql = "SELECT * FROM SINHVIEN \ WHERE HOCPHI > '%d'" % (1000) try: Thuc thi lenh SQLcursor.execute(sql) Lay tat ca cac hang trong list.results = cursor.fetchall() for row in results: ho = row[0] ten = row[1] tuoi = row[2] gioitinh = row[3] hocphi = row[4] Bay gio in ket qua
except: print "Error: khong lay duoc du lieu" ngat ket noi voi serverdb.close()
ho=Nguyen, ten=Hoang, tuoi=20, gioitinh=M, hocphi=4000000
import MySQLdb mo ket noi toi Databasedb = MySQLdb.connect("localhost","testuser","test123","TESTDB" ) chuan bi mot doi tuong cursor boi su dung phuong thuc cursor()cursor = db.cursor() Truy van SQL de UPDATE cac ban ghisql = "UPDATE SINHVIEN SET TUOI = TUOI + 1 WHERE GIOITINH = '%c'" % ('M') try: Thuc thi lenh SQLcursor.execute(sql) Commit cac thay doi vao trong Databasedb.commit() except: Rollback trong tinh huong co bat ky error naodb.rollback() ngat ket noi voi serverdb.close()
import MySQLdb mo ket noi toi Databasedb = MySQLdb.connect("localhost","testuser","test123","TESTDB" ) chuan bi mot doi tuong cursor boi su dung phuong thuc cursor()cursor = db.cursor() Chuan bi truy van SQL de DELETE cac ban ghi can thietsql = "DELETE FROM SINHVIEN WHERE TUOI > '%d'" % (20) try: Thuc thi lenh SQLcursor.execute(sql) Commit cac thay doi vao trong Databasedb.commit() except: Rollback trong tinh huong co bat ky error naodb.rollback() ngat ket noi voi serverdb.close()
db.close() |