Hướng dẫn dùng sql install python
MySQL là một hệ cơ sở dữ liệu quan hệ phổ biến nhất hiện nay. Rất nhiều ngôn ngữ có thể kết nối đến MySQL và Python cũng không ngoại lệ. Show Nội dung chính
Mặc định Python không có thư viện để kết nối đến MySQL server. Trong phần này, để kết nối đến MySQL Server từ Python, chúng ta sẽ sử dụng module 9.1. Cài đặt MySQLdbCài đặt thông qua $ sudo pip install MySQL-python Tham khảo thêm tại: https://pypi.python.org/pypi/MySQL Khai báo module MySQLdb là có thể sử dụng. import MySQLdb Trong một số trường hợp đã cài MySQLdb nhưng import báo lỗi thiếu file
sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib 9.2. Kết nối đến MySQL ServerBạn cần có một MySQL server đang chạy và cho kết nối đến. Trong trường hợp này là localhost nên không cần cấu hình đặc biệt, chỉ cần cung cấp username và password là có thể kết nối đến MySQL Server. Thực hiện gọi hàm như sau để trả về kết nối: import MySQLdb dbcon = MySQLdb.connect(host = 'localhost', user = 'myusername', passwd = 'mypassword', db = 'mydbname ') Nếu kết nối không thành công thì sẽ báo lỗi và ngưng chương trình. Cách kết nối an toàn là đưa vào trong try để bắt lỗi như sau: import MySQLdb db = None try: db = MySQLdb.connect(host = 'localhost', user = 'root', passwd = 'root', db = 'mysql') except MySQLdb.Error, e: print "Error %d: %s" % (e.args[0],e.args[1]) sys.exit(1) if db: cur = db.cursor() cur.execute("SELECT VERSION()") ver = cur.fetchone() print "Database version : %s " % ver 9.3. Kết nối với charset utf8Mặc định kết nối đến MySQL server là charset ... db = MySQLdb.connect(host = 'localhost', user = 'ro ot', passwd = 'root', db = 'test', charset = 'utf8') Tuyển dụng python các vị trí 9.4. Query dữ liệuĐể truy vấn dữ liệu (chạy câu lệnh SQL) thì sử dụng cursor của MySQLdb. Ví dụ: import MySQLdb db = MySQLdb.connect(host = 'localhost', user = 'ro ot', passwd = 'root', db = 'mysql'); cursor = db.cursor() sql = 'SELECT * FROM user' cursor.execute(sql) myusers = cursor.fetchall() Ví dụ dữ liệu biến Mặc định, import MySQLdb db = MySQLdb.connect(host = 'localhost', user = 'ro ot', passwd = 'root', db = 'mysql') cursor = db.cursor(MySQLdb.cursors.DictCursor) ... 9.5. Fetch dữ liệuCó
một số cách để fetch dữ liệu thông dụng từ
Sau khi kết nối và truy vấn thì có thể đóng kết nối theo ví dụ sau: import MySQLdb db = MySQLdb.connect(...) db.close() Ngoài ra, bạn cũng nên đóng cursor khi không còn sử dụng theo ví dụ: import MySQLdb db = MySQLdb.connect(...) cursor = db.cursor() cursor.close() db.close() 9.7. Prepared StatementPrepared statement là kỹ thuật tham số hóa các dữ liệu truyền vào câu truy vấn thay vì nối chuỗi trực tiếp để xây dựng một chuỗi truy vấn dài. Kỹ thuật này được áp dụng nhiều và giúp tăng hiệu quả và tính bảo mật của câu truy vấn. Ví dụ: ... cur.execute("UPDATE Writers SET Name = %s WHERE Id = %s", ("John", "4")) ... Mỗi tham số truy vấn sẽ được thay thế bằng |