Con trỏ đến từ điển python

MySQL là một hệ thống cơ sở dữ liệu phổ biến nhất hiện nay. Rất nhiều ngôn ngữ có thể kết nối với MySQL và Python cũng không ngoại lệ

Nội dung chính Hiển thị

Nội dung chính

  • 9. 1. Cài đặt MySQLdb
  • 9. 2. Connected to MySQL Server
  • 9. 3. Connected with charset utf8
  • 9. 4. Truy vấn dữ liệu
  • 9. 5. Tìm nạp dữ liệu
  • 9. 7. Tuyên bố chuẩn bị

Mặc định Python không có thư viện để kết nối với máy chủ MySQL. Trong phần này, để kết nối với MySQL Server từ Python, chúng ta sẽ sử dụng mô-đun

import MySQLdb
1

9. 1. Cài đặt MySQLdb

Settings information through

import MySQLdb
2 as after

$ sudo pip install MySQL-python

Tham khảo thêm tại. https. //pypi. con trăn. org/pypi/MySQL

Khai báo mô-đun MySQLdb có thể sử dụng được

import MySQLdb

Trong một số trường hợp đã cài đặt MySQLdb nhưng nhập báo lỗi thiếu tệp

import MySQLdb
3. Nguyên nhân có thể được thực hiện tại đường dẫn đến tệp không tồn tại. Cố gắng tạo liên kết tượng trưng hoặc sử dụng câu lệnh sau để tạo liên kết tượng trưng từ tệp
import MySQLdb
3 đến thư mục
import MySQLdb
5

sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib

9. 2. Connected to MySQL Server

You need to have a MySQL server is running and to connect to. 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 tên người dùng và mật khẩu là có thể kết nối đến MySQL Server

Thực hiện chức năng gọi như sau để trả về kết nối

________số 8

Nếu kết nối không thành công, chương trình sẽ báo lỗi và ngưng chương trình. Cách kết nối an toàn được đưa vào trong thử để 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. Connected with charset utf8

Mặc định kết nối đến máy chủ MySQL là bộ ký tự

import MySQLdb
6 nên khi lấy dữ liệu unicode thì hiển thị Tiếng Việt không đúng, bạn phải chọn bộ ký tự là
import MySQLdb
7 khi tạo kết nối. Cú pháp như sau

import MySQLdb
2

Tuyển dụng python các vị trí

9. 4. Truy vấn dữ liệu

Để truy vấn dữ liệu [chạy câu lệnh SQL] thì sử dụng con trỏ của MySQLdb. Ví dụ.

import MySQLdb
3

Ví dụ biến dữ liệu

import MySQLdb
8 là. ______09

Mặc định,

sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib
0 sẽ trả về mỗi dòng dữ liệu từ MySQL theo kiểu
sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib
1 , tức là không có khóa. Nếu bạn muốn trả lại kiểu
sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib
2 thì có thể khai báo

import MySQLdb
9

9. 5. Tìm nạp dữ liệu

Có một số cách để tìm nạp thông tin dữ liệu từ

sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib
0 sau  khi đã
sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib
4 là < .
sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib
5
sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib
6 .

  • sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib
    5
    . chỉ tìm nạp một dòng dữ liệu. Nếu muốn tìm nạp nhiều dòng dữ liệu thì có thể gọi nhiều lần, mỗi lần sẽ trả về một dòng dữ liệu. Tốt cho trường hợp truy vấn rất nhiều dữ liệu một lúc. If return
    sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib
    8 tức là đã lấy hết dữ liệu từ câu truy vấn.
  • sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib
    9. tìm nạp toàn bộ truy vấn dữ liệu được từ câu truy vấn và trả về một tuple chứa các dòng dữ liệu. Mỗi phần tử của Tuple có thể là một Tuple khác hoặc là một Dictionary tùy theo cài đặt ở bước lấy con trỏ [Xem phần 9. 4]
  • import MySQLdb
    
    dbcon = MySQLdb.connect[host = 'localhost', user = 'myusername', passwd = 'mypassword', db = 'mydbname ']
    0. nằm giữa 2 kiểu tìm nạp trên, có thể quy định số lượng hàng trong mỗi lần tìm nạp. Nếu tìm nạp hết thì trả về Tuple rỗng

Sau khi kết nối và truy vấn, có thể đóng kết nối theo ví dụ sau

$ sudo pip install MySQL-python
8

Ngạch ra, bạn cũng nên đóng con trỏ khi không còn sử dụng theo ví dụ.

$ sudo pip install MySQL-python
9

9. 7. Tuyên bố chuẩn bị

Câu lệnh chuẩn bị là kỹ thuật tham số hóa các dữ liệu được 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 hỏi. Ví dụ

import MySQLdb
0

Mỗi tham số truy vấn sẽ được thay thế bằng

import MySQLdb

dbcon = MySQLdb.connect[host = 'localhost', user = 'myusername', passwd = 'mypassword', db = 'mydbname ']
1 và phương thức
import MySQLdb

dbcon = MySQLdb.connect[host = 'localhost', user = 'myusername', passwd = 'mypassword', db = 'mydbname ']
2 sẽ có tham số thứ 2 là một Tuple có giá trị tương ứng với thứ tự xuất hiện của các thành phần
import MySQLdb

dbcon = MySQLdb.connect[host = 'localhost', user = 'myusername', passwd = 'mypassword', db = 'mydbname ']
1

Chủ Đề