Mệnh đề Python mysql IN

Nếu bạn muốn tìm nạp, xóa hoặc cập nhật các hàng cụ thể của bảng trong MySQL, bạn cần sử dụng mệnh đề where để chỉ định điều kiện lọc các hàng của bảng cho thao tác

Ví dụ: nếu bạn có câu lệnh SELECT với mệnh đề where, thì chỉ những hàng thỏa mãn điều kiện đã chỉ định mới được truy xuất

cú pháp

Sau đây là cú pháp của mệnh đề WHERE -

SELECT column1, column2, columnN
FROM table_name
WHERE [condition]

Ví dụ

Giả sử chúng ta đã tạo một bảng trong MySQL với tên EMPLOYEES là -

mysql> CREATE TABLE EMPLOYEE[
   FIRST_NAME CHAR[20] NOT NULL,
   LAST_NAME CHAR[20],
   AGE INT,
   SEX CHAR[1],
   INCOME FLOAT
];
Query OK, 0 rows affected [0.36 sec]

Và nếu chúng ta đã chèn 4 bản ghi vào nó bằng cách sử dụng câu lệnh INSERT như -

mysql> INSERT INTO EMPLOYEE VALUES
   ['Krishna', 'Sharma', 19, 'M', 2000],
   ['Raj', 'Kandukuri', 20, 'M', 7000],
   ['Ramya', 'Ramapriya', 25, 'F', 5000],
   ['Mac', 'Mohan', 26, 'M', 2000];

Câu lệnh MySQL sau truy xuất các bản ghi của nhân viên có thu nhập lớn hơn 4000

mysql> SELECT * FROM EMPLOYEE WHERE INCOME > 4000;
+------------+-----------+------+------+--------+
| FIRST_NAME | LAST_NAME | AGE  | SEX  | INCOME |
+------------+-----------+------+------+--------+
| Raj        | Kandukuri | 20   | M    | 7000   |
| Ramya      | Ramapriya | 25   | F    | 5000   |
+------------+-----------+------+------+--------+
2 rows in set [0.00 sec]

Mệnh đề WHERE sử dụng python

Để tìm nạp các bản ghi cụ thể từ một bảng bằng chương trình python -

  • nhập mysql. gói kết nối

  • Tạo một đối tượng kết nối bằng mysql. kết nối. connect[], bằng cách chuyển tên người dùng, mật khẩu, máy chủ [mặc định tùy chọn. localhost] và, cơ sở dữ liệu [tùy chọn] làm tham số cho nó

  • Tạo một đối tượng con trỏ bằng cách gọi phương thức con trỏ [] trên đối tượng kết nối được tạo ở trên

  • Sau đó, thực thi câu lệnh SELECT với mệnh đề WHERE, bằng cách chuyển nó dưới dạng tham số cho phương thức exec[]

Ví dụ

Ví dụ sau tạo một bảng có tên là Nhân viên và điền vào đó. Sau đó, sử dụng mệnh đề where, nó truy xuất các bản ghi có giá trị tuổi nhỏ hơn 23

Bạn sẽ tìm hiểu các thao tác MySQL SELECT sau đây từ Python bằng cách sử dụng mô-đun 'Trình kết nối MySQL'

  • Thực thi truy vấn CHỌN và xử lý tập kết quả được truy vấn trả về trong Python
  • Sử dụng các biến Python trong mệnh đề where của truy vấn CHỌN để chuyển các giá trị động
  • Sử dụng các phương thức
    Total number of rows in Laptop is:  7
    Printing each laptop record
    
    Id =  1
    Name =  Lenovo ThinkPad P71
    Price  =  6459.0
    Purchase date  =  2019-08-14 
    
    Id =  2
    Name =  Area 51M
    Price  =  6999.0
    Purchase date  =  2019-04-14 
    
    Id =  3
    Name =  MacBook Pro
    Price  =  2499.0
    Purchase date  =  2019-06-20 
    
    Id =  4
    Name =  HP Pavilion Power
    Price  =  1999.0
    Purchase date  =  2019-01-11 
    
    Id =  5
    Name =  MSI WS75 9TL-496
    Price  =  5799.0
    Purchase date  =  2019-02-27 
    
    Id =  6
    Name =  Microsoft Surface
    Price  =  2330.0
    Purchase date  =  2019-07-23 
    
    Id =  7
    Name =  Acer Predator Triton
    Price  =  2435.0
    Purchase date  =  2019-08-15 
    
    MySQL connection is closed
    
    9,
    cursor.execute["SELECT Price FROM Laptop WHERE id = "ID from application"]
    0 và
    cursor.execute["SELECT Price FROM Laptop WHERE id = "ID from application"]
    1 của lớp con trỏ để tìm nạp tất cả hoặc các hàng giới hạn từ một bảng

Đọc thêm

  • Giải bài tập Python MySQL
  • Đọc Hướng dẫn Python MySQL [Hướng dẫn đầy đủ]

Mục lục

  • điều kiện tiên quyết
  • Các bước để tìm nạp hàng từ bảng cơ sở dữ liệu MySQL
  • Sử dụng các biến Python làm tham số trong MySQL Select Query
  • Chọn các hàng giới hạn từ bảng MySQL bằng cách sử dụng tìm nạp và tìm nạp
    • Ví dụ để lấy ít hàng hơn từ bảng MySQL bằng cách sử dụng tìm nạp của con trỏ
    • Tìm nạp một hàng từ bảng MySQL bằng tìm nạp của con trỏ
  • Python Tìm nạp hàng MySQL bằng cách sử dụng tên cột
  • Chọn giá trị cột MySQL thành Biến Python
  • Bước tiếp theo

điều kiện tiên quyết

Trước khi di chuyển xa hơn, hãy chắc chắn rằng bạn có những điều sau đây tại chỗ. –

  • Tên người dùng và mật khẩu để kết nối MySQL
  • Tên bảng MySQL mà bạn muốn chọn dữ liệu

Đối với bài học này, tôi đang sử dụng bảng 'Máy tính xách tay' có trong máy chủ MySQL của tôi

Nếu một bảng không có trong máy chủ MySQL của bạn, bạn có thể tham khảo bài viết của chúng tôi để tạo một bảng MySQL từ Python

Bạn cũng có thể tải xuống tệp truy vấn SQL chứa các truy vấn SQL để tạo bảng và dữ liệu để bạn có thể sử dụng bảng này cho các thao tác INSERT của mình

Bảng máy tính xách tay MySQL có dữ liệu

Các bước để tìm nạp hàng từ bảng cơ sở dữ liệu MySQL

Thực hiện theo các bước sau. –

Cách chọn từ bảng MySQL bằng Python

  1. Kết nối với MySQL từ Python

    Tham khảo kết nối cơ sở dữ liệu MySQL trên Python để kết nối với cơ sở dữ liệu MySQL từ Python bằng mô-đun MySQL Connector

  2. Xác định truy vấn CHỌN SQL

    Tiếp theo, hãy chuẩn bị một truy vấn SQL SELECT để tìm nạp các hàng từ một bảng. Bạn có thể chọn tất cả hoặc các hàng giới hạn dựa trên yêu cầu của bạn. Nếu điều kiện where được sử dụng, thì nó quyết định số lượng hàng cần tìm nạp.
    Ví dụ,

    cursor.execute["SELECT Price FROM Laptop WHERE id = "ID from application"]
    2. Điều này sẽ trả về hàng số 10.

  3. Nhận đối tượng con trỏ từ kết nối

    Tiếp theo, sử dụng phương thức

    cursor.execute["SELECT Price FROM Laptop WHERE id = "ID from application"]
    3 để tạo đối tượng con trỏ. Phương thức này tạo một đối tượng
    cursor.execute["SELECT Price FROM Laptop WHERE id = "ID from application"]
    4 mới

  4. Thực thi truy vấn SELECT sử dụng phương thức exec[]

    Thực hiện truy vấn chọn bằng phương thức

    cursor.execute["SELECT Price FROM Laptop WHERE id = "ID from application"]
    5

  5. Trích xuất tất cả các hàng từ một kết quả

    Sau khi thực hiện thành công thao tác Chọn, hãy sử dụng phương thức

    cursor.execute["SELECT Price FROM Laptop WHERE id = "ID from application"]
    6 của đối tượng con trỏ để lấy tất cả các hàng từ kết quả truy vấn. nó trả về một danh sách các hàng

  6. Lặp lại từng hàng

    Lặp lại danh sách hàng bằng vòng lặp for và truy cập từng hàng riêng lẻ [Truy cập dữ liệu cột của từng hàng bằng tên cột hoặc số chỉ mục. ]

  7. Đóng đối tượng con trỏ và đối tượng kết nối cơ sở dữ liệu

    sử dụng phương pháp

    cursor.execute["SELECT Price FROM Laptop WHERE id = "ID from application"]
    7 và
    cursor.execute["SELECT Price FROM Laptop WHERE id = "ID from application"]
    8 để đóng các kết nối mở sau khi công việc của bạn hoàn thành

Python chọn từ Bảng MySQL

Ví dụ

Trong ví dụ này, chúng tôi đang tìm nạp tất cả các hàng từ bảng Máy tính xách tay và sao chép chúng vào các biến Python để chúng tôi có thể sử dụng nó trong chương trình của mình

mysql> CREATE TABLE EMPLOYEE[
   FIRST_NAME CHAR[20] NOT NULL,
   LAST_NAME CHAR[20],
   AGE INT,
   SEX CHAR[1],
   INCOME FLOAT
];
Query OK, 0 rows affected [0.36 sec]
4

đầu ra. –

Total number of rows in Laptop is:  7
Printing each laptop record

Id =  1
Name =  Lenovo ThinkPad P71
Price  =  6459.0
Purchase date  =  2019-08-14 

Id =  2
Name =  Area 51M
Price  =  6999.0
Purchase date  =  2019-04-14 

Id =  3
Name =  MacBook Pro
Price  =  2499.0
Purchase date  =  2019-06-20 

Id =  4
Name =  HP Pavilion Power
Price  =  1999.0
Purchase date  =  2019-01-11 

Id =  5
Name =  MSI WS75 9TL-496
Price  =  5799.0
Purchase date  =  2019-02-27 

Id =  6
Name =  Microsoft Surface
Price  =  2330.0
Purchase date  =  2019-07-23 

Id =  7
Name =  Acer Predator Triton
Price  =  2435.0
Purchase date  =  2019-08-15 

MySQL connection is closed

Ghi chú. Sử dụng các phương pháp sau để tìm nạp dữ liệu được trả về bởi một

cursor.execute["SELECT Price FROM Laptop WHERE id = "ID from application"]
5

  • mysql> CREATE TABLE EMPLOYEE[
       FIRST_NAME CHAR[20] NOT NULL,
       LAST_NAME CHAR[20],
       AGE INT,
       SEX CHAR[1],
       INCOME FLOAT
    ];
    Query OK, 0 rows affected [0.36 sec]
    
    70 để lấy tất cả các hàng
  • mysql> CREATE TABLE EMPLOYEE[
       FIRST_NAME CHAR[20] NOT NULL,
       LAST_NAME CHAR[20],
       AGE INT,
       SEX CHAR[1],
       INCOME FLOAT
    ];
    Query OK, 0 rows affected [0.36 sec]
    
    71 để tìm nạp một hàng
  • mysql> CREATE TABLE EMPLOYEE[
       FIRST_NAME CHAR[20] NOT NULL,
       LAST_NAME CHAR[20],
       AGE INT,
       SEX CHAR[1],
       INCOME FLOAT
    ];
    Query OK, 0 rows affected [0.36 sec]
    
    72 để tìm nạp các hàng giới hạn

Sử dụng các biến Python làm tham số trong MySQL Select Query

Chúng ta thường cần truyền các biến cho SQL select query trong mệnh đề where để kiểm tra một số điều kiện. Giả sử ứng dụng muốn lấy giá máy tính xách tay bằng cách cung cấp bất kỳ id máy tính xách tay nào khi chạy. Để xử lý yêu cầu như vậy, chúng ta cần sử dụng truy vấn được tham số hóa

Truy vấn được tham số hóa là một truy vấn trong đó các phần giữ chỗ [_______173] được sử dụng cho các tham số và các giá trị tham số được cung cấp tại thời điểm thực hiện

cursor.execute["SELECT Price FROM Laptop WHERE id = "ID from application"]

Ví dụ

mysql> CREATE TABLE EMPLOYEE[
   FIRST_NAME CHAR[20] NOT NULL,
   LAST_NAME CHAR[20],
   AGE INT,
   SEX CHAR[1],
   INCOME FLOAT
];
Query OK, 0 rows affected [0.36 sec]
7

đầu ra

mysql> INSERT INTO EMPLOYEE VALUES
   ['Krishna', 'Sharma', 19, 'M', 2000],
   ['Raj', 'Kandukuri', 20, 'M', 7000],
   ['Ramya', 'Ramapriya', 25, 'F', 5000],
   ['Mac', 'Mohan', 26, 'M', 2000];
3

Chọn các hàng giới hạn từ bảng MySQL bằng cách sử dụng tìm nạp và tìm nạp

Trong một số trường hợp, việc tìm nạp tất cả các hàng từ một bảng là một nhiệm vụ tốn thời gian nếu một bảng chứa hàng nghìn hàng

Nếu tìm nạp tất cả các hàng, chúng tôi cần thêm dung lượng và thời gian xử lý. Vì vậy, điều cần thiết là sử dụng phương thức

cursor.execute["SELECT Price FROM Laptop WHERE id = "ID from application"]
0 của lớp con trỏ để tìm nạp ít hàng hơn

Cú pháp của con trỏ

cursor.execute["SELECT Price FROM Laptop WHERE id = "ID from application"]
0

mysql> INSERT INTO EMPLOYEE VALUES
   ['Krishna', 'Sharma', 19, 'M', 2000],
   ['Raj', 'Kandukuri', 20, 'M', 7000],
   ['Ramya', 'Ramapriya', 25, 'F', 5000],
   ['Mac', 'Mohan', 26, 'M', 2000];
6

Các phương thức fetchmany[] của con trỏ trả về số hàng được chỉ định bởi đối số kích thước, giá trị mặc định của đối số kích thước là một. Ví dụ: nếu kích thước được chỉ định là 5, thì nó sẽ trả về năm hàng

Ghi chú. Nếu một bảng chứa một hàng nhỏ hơn kích thước đã chỉ định, thì sẽ có ít hàng hơn được trả về

Cú pháp của 

cursor.execute["SELECT Price FROM Laptop WHERE id = "ID from application"]
1

mysql> INSERT INTO EMPLOYEE VALUES
   ['Krishna', 'Sharma', 19, 'M', 2000],
   ['Raj', 'Kandukuri', 20, 'M', 7000],
   ['Ramya', 'Ramapriya', 25, 'F', 5000],
   ['Mac', 'Mohan', 26, 'M', 2000];
8

Phương thức này tìm nạp tập hợp các hàng tiếp theo của kết quả truy vấn và trả về một danh sách các bộ dữ liệu. Nếu không còn hàng nào nữa, nó sẽ trả về một danh sách trống

Phương thức này trả về một bản ghi hoặc Không có nếu không còn hàng nào nữa

Phương thức

cursor.execute["SELECT Price FROM Laptop WHERE id = "ID from application"]
1 được sử dụng nội bộ bởi
Total number of rows in Laptop is:  7
Printing each laptop record

Id =  1
Name =  Lenovo ThinkPad P71
Price  =  6459.0
Purchase date  =  2019-08-14 

Id =  2
Name =  Area 51M
Price  =  6999.0
Purchase date  =  2019-04-14 

Id =  3
Name =  MacBook Pro
Price  =  2499.0
Purchase date  =  2019-06-20 

Id =  4
Name =  HP Pavilion Power
Price  =  1999.0
Purchase date  =  2019-01-11 

Id =  5
Name =  MSI WS75 9TL-496
Price  =  5799.0
Purchase date  =  2019-02-27 

Id =  6
Name =  Microsoft Surface
Price  =  2330.0
Purchase date  =  2019-07-23 

Id =  7
Name =  Acer Predator Triton
Price  =  2435.0
Purchase date  =  2019-08-15 

MySQL connection is closed
9 và
cursor.execute["SELECT Price FROM Laptop WHERE id = "ID from application"]
0 để tìm nạp các hàng

Ví dụ để lấy ít hàng hơn từ bảng MySQL bằng cách sử dụng tìm nạp của con trỏ

mysql> SELECT * FROM EMPLOYEE WHERE INCOME > 4000;
+------------+-----------+------+------+--------+
| FIRST_NAME | LAST_NAME | AGE  | SEX  | INCOME |
+------------+-----------+------+------+--------+
| Raj        | Kandukuri | 20   | M    | 7000   |
| Ramya      | Ramapriya | 25   | F    | 5000   |
+------------+-----------+------+------+--------+
2 rows in set [0.00 sec]
2

đầu ra

mysql> SELECT * FROM EMPLOYEE WHERE INCOME > 4000;
+------------+-----------+------+------+--------+
| FIRST_NAME | LAST_NAME | AGE  | SEX  | INCOME |
+------------+-----------+------+------+--------+
| Raj        | Kandukuri | 20   | M    | 7000   |
| Ramya      | Ramapriya | 25   | F    | 5000   |
+------------+-----------+------+------+--------+
2 rows in set [0.00 sec]
3

Ghi chú. Nếu bạn gặp lỗi MySQL Unread result set buffered=True trong kết nối như

mysql> INSERT INTO EMPLOYEE VALUES
   ['Krishna', 'Sharma', 19, 'M', 2000],
   ['Raj', 'Kandukuri', 20, 'M', 7000],
   ['Ramya', 'Ramapriya', 25, 'F', 5000],
   ['Mac', 'Mohan', 26, 'M', 2000];
30

Tìm nạp một hàng từ bảng MySQL bằng tìm nạp của con trỏ

mysql> SELECT * FROM EMPLOYEE WHERE INCOME > 4000;
+------------+-----------+------+------+--------+
| FIRST_NAME | LAST_NAME | AGE  | SEX  | INCOME |
+------------+-----------+------+------+--------+
| Raj        | Kandukuri | 20   | M    | 7000   |
| Ramya      | Ramapriya | 25   | F    | 5000   |
+------------+-----------+------+------+--------+
2 rows in set [0.00 sec]
5

đầu ra. –

Total number of rows in Laptop is:  7
Printing each laptop record

Id =  1
Name =  Lenovo ThinkPad P71
Price  =  6459.0
Purchase date  =  2019-08-14 

Id =  2
Name =  Area 51M
Price  =  6999.0
Purchase date  =  2019-04-14 

Id =  3
Name =  MacBook Pro
Price  =  2499.0
Purchase date  =  2019-06-20 

Id =  4
Name =  HP Pavilion Power
Price  =  1999.0
Purchase date  =  2019-01-11 

Id =  5
Name =  MSI WS75 9TL-496
Price  =  5799.0
Purchase date  =  2019-02-27 

Id =  6
Name =  Microsoft Surface
Price  =  2330.0
Purchase date  =  2019-07-23 

Id =  7
Name =  Acer Predator Triton
Price  =  2435.0
Purchase date  =  2019-08-15 

MySQL connection is closed
0

Python Tìm nạp hàng MySQL bằng cách sử dụng tên cột

Bạn cũng có thể truy xuất kết quả bằng tên cột thay vì id. Ví dụ, bạn muốn làm một cái gì đó như thế này

Total number of rows in Laptop is:  7
Printing each laptop record

Id =  1
Name =  Lenovo ThinkPad P71
Price  =  6459.0
Purchase date  =  2019-08-14 

Id =  2
Name =  Area 51M
Price  =  6999.0
Purchase date  =  2019-04-14 

Id =  3
Name =  MacBook Pro
Price  =  2499.0
Purchase date  =  2019-06-20 

Id =  4
Name =  HP Pavilion Power
Price  =  1999.0
Purchase date  =  2019-01-11 

Id =  5
Name =  MSI WS75 9TL-496
Price  =  5799.0
Purchase date  =  2019-02-27 

Id =  6
Name =  Microsoft Surface
Price  =  2330.0
Purchase date  =  2019-07-23 

Id =  7
Name =  Acer Predator Triton
Price  =  2435.0
Purchase date  =  2019-08-15 

MySQL connection is closed
1

Nếu bạn cố tìm nạp dữ liệu trực tiếp bằng tên cột, bạn sẽ nhận được thông báo lỗi

mysql> INSERT INTO EMPLOYEE VALUES
   ['Krishna', 'Sharma', 19, 'M', 2000],
   ['Raj', 'Kandukuri', 20, 'M', 7000],
   ['Ramya', 'Ramapriya', 25, 'F', 5000],
   ['Mac', 'Mohan', 26, 'M', 2000];
31

Để chọn các bản ghi từ bảng MySQL của tôi bằng tên cột, chúng ta chỉ cần thay đổi cách tạo con trỏ. Thay thế việc tạo con trỏ tiêu chuẩn bằng đoạn mã sau và bạn đã sẵn sàng tìm nạp các bản ghi từ bảng MySQL của tôi bằng tên cột

Total number of rows in Laptop is:  7
Printing each laptop record

Id =  1
Name =  Lenovo ThinkPad P71
Price  =  6459.0
Purchase date  =  2019-08-14 

Id =  2
Name =  Area 51M
Price  =  6999.0
Purchase date  =  2019-04-14 

Id =  3
Name =  MacBook Pro
Price  =  2499.0
Purchase date  =  2019-06-20 

Id =  4
Name =  HP Pavilion Power
Price  =  1999.0
Purchase date  =  2019-01-11 

Id =  5
Name =  MSI WS75 9TL-496
Price  =  5799.0
Purchase date  =  2019-02-27 

Id =  6
Name =  Microsoft Surface
Price  =  2330.0
Purchase date  =  2019-07-23 

Id =  7
Name =  Acer Predator Triton
Price  =  2435.0
Purchase date  =  2019-08-15 

MySQL connection is closed
2

Tại sao đặt

mysql> INSERT INTO EMPLOYEE VALUES
   ['Krishna', 'Sharma', 19, 'M', 2000],
   ['Raj', 'Kandukuri', 20, 'M', 7000],
   ['Ramya', 'Ramapriya', 25, 'F', 5000],
   ['Mac', 'Mohan', 26, 'M', 2000];
32?

Trong ví dụ sau, tôi đã chọn tất cả các bản ghi từ bảng MySQL của mình bằng cách sử dụng tên cột thay vì chỉ mục số nguyên của cột

Total number of rows in Laptop is:  7
Printing each laptop record

Id =  1
Name =  Lenovo ThinkPad P71
Price  =  6459.0
Purchase date  =  2019-08-14 

Id =  2
Name =  Area 51M
Price  =  6999.0
Purchase date  =  2019-04-14 

Id =  3
Name =  MacBook Pro
Price  =  2499.0
Purchase date  =  2019-06-20 

Id =  4
Name =  HP Pavilion Power
Price  =  1999.0
Purchase date  =  2019-01-11 

Id =  5
Name =  MSI WS75 9TL-496
Price  =  5799.0
Purchase date  =  2019-02-27 

Id =  6
Name =  Microsoft Surface
Price  =  2330.0
Purchase date  =  2019-07-23 

Id =  7
Name =  Acer Predator Triton
Price  =  2435.0
Purchase date  =  2019-08-15 

MySQL connection is closed
3

đầu ra

Total number of rows in Laptop is:  7
Printing each laptop record

Id =  1
Name =  Lenovo ThinkPad P71
Price  =  6459.0
Purchase date  =  2019-08-14 

Id =  2
Name =  Area 51M
Price  =  6999.0
Purchase date  =  2019-04-14 

Id =  3
Name =  MacBook Pro
Price  =  2499.0
Purchase date  =  2019-06-20 

Id =  4
Name =  HP Pavilion Power
Price  =  1999.0
Purchase date  =  2019-01-11 

Id =  5
Name =  MSI WS75 9TL-496
Price  =  5799.0
Purchase date  =  2019-02-27 

Id =  6
Name =  Microsoft Surface
Price  =  2330.0
Purchase date  =  2019-07-23 

Id =  7
Name =  Acer Predator Triton
Price  =  2435.0
Purchase date  =  2019-08-15 

MySQL connection is closed
4

Chọn giá trị cột MySQL thành Biến Python

Hãy xem cách thực thi Truy vấn SQL CHỌN sau đây và lưu trữ giá trị cột của bảng vào một biến Python để xử lý thêm

Nếu bạn thực thi đoạn mã dưới đây, bạn sẽ nhận được {u’Price’. u'7000′}

Total number of rows in Laptop is:  7
Printing each laptop record

Id =  1
Name =  Lenovo ThinkPad P71
Price  =  6459.0
Purchase date  =  2019-08-14 

Id =  2
Name =  Area 51M
Price  =  6999.0
Purchase date  =  2019-04-14 

Id =  3
Name =  MacBook Pro
Price  =  2499.0
Purchase date  =  2019-06-20 

Id =  4
Name =  HP Pavilion Power
Price  =  1999.0
Purchase date  =  2019-01-11 

Id =  5
Name =  MSI WS75 9TL-496
Price  =  5799.0
Purchase date  =  2019-02-27 

Id =  6
Name =  Microsoft Surface
Price  =  2330.0
Purchase date  =  2019-07-23 

Id =  7
Name =  Acer Predator Triton
Price  =  2435.0
Purchase date  =  2019-08-15 

MySQL connection is closed
5

Bạn có thể nhận được đầu ra như

Total number of rows in Laptop is:  7
Printing each laptop record

Id =  1
Name =  Lenovo ThinkPad P71
Price  =  6459.0
Purchase date  =  2019-08-14 

Id =  2
Name =  Area 51M
Price  =  6999.0
Purchase date  =  2019-04-14 

Id =  3
Name =  MacBook Pro
Price  =  2499.0
Purchase date  =  2019-06-20 

Id =  4
Name =  HP Pavilion Power
Price  =  1999.0
Purchase date  =  2019-01-11 

Id =  5
Name =  MSI WS75 9TL-496
Price  =  5799.0
Purchase date  =  2019-02-27 

Id =  6
Name =  Microsoft Surface
Price  =  2330.0
Purchase date  =  2019-07-23 

Id =  7
Name =  Acer Predator Triton
Price  =  2435.0
Purchase date  =  2019-08-15 

MySQL connection is closed
6

Hãy xem cách chỉ trích xuất giá trị cột [7000] và lưu nó vào một biến để thực hiện một số phép tính để bạn có thể giảm giá 10% cho giá trị đó

Total number of rows in Laptop is:  7
Printing each laptop record

Id =  1
Name =  Lenovo ThinkPad P71
Price  =  6459.0
Purchase date  =  2019-08-14 

Id =  2
Name =  Area 51M
Price  =  6999.0
Purchase date  =  2019-04-14 

Id =  3
Name =  MacBook Pro
Price  =  2499.0
Purchase date  =  2019-06-20 

Id =  4
Name =  HP Pavilion Power
Price  =  1999.0
Purchase date  =  2019-01-11 

Id =  5
Name =  MSI WS75 9TL-496
Price  =  5799.0
Purchase date  =  2019-02-27 

Id =  6
Name =  Microsoft Surface
Price  =  2330.0
Purchase date  =  2019-07-23 

Id =  7
Name =  Acer Predator Triton
Price  =  2435.0
Purchase date  =  2019-08-15 

MySQL connection is closed
7

đầu ra

Total number of rows in Laptop is:  7
Printing each laptop record

Id =  1
Name =  Lenovo ThinkPad P71
Price  =  6459.0
Purchase date  =  2019-08-14 

Id =  2
Name =  Area 51M
Price  =  6999.0
Purchase date  =  2019-04-14 

Id =  3
Name =  MacBook Pro
Price  =  2499.0
Purchase date  =  2019-06-20 

Id =  4
Name =  HP Pavilion Power
Price  =  1999.0
Purchase date  =  2019-01-11 

Id =  5
Name =  MSI WS75 9TL-496
Price  =  5799.0
Purchase date  =  2019-02-27 

Id =  6
Name =  Microsoft Surface
Price  =  2330.0
Purchase date  =  2019-07-23 

Id =  7
Name =  Acer Predator Triton
Price  =  2435.0
Purchase date  =  2019-08-15 

MySQL connection is closed
8

Hãy hiểu ví dụ này

  • Bạn có thể thấy trong ví dụ trên sau khi tìm nạp một hàng bằng cách sử dụng
    mysql> CREATE TABLE EMPLOYEE[
       FIRST_NAME CHAR[20] NOT NULL,
       LAST_NAME CHAR[20],
       AGE INT,
       SEX CHAR[1],
       INCOME FLOAT
    ];
    Query OK, 0 rows affected [0.36 sec]
    
    71, chúng tôi đã chuyển đổi giá trị cột thành loại phù hợp bằng cách sử dụng
    mysql> INSERT INTO EMPLOYEE VALUES
       ['Krishna', 'Sharma', 19, 'M', 2000],
       ['Raj', 'Kandukuri', 20, 'M', 7000],
       ['Ramya', 'Ramapriya', 25, 'F', 5000],
       ['Mac', 'Mohan', 26, 'M', 2000];
    
    34
  • Chúng tôi đã lấy giá trị chỉ mục thứ 0 từ tập hợp kết quả

Bước tiếp theo

Để thực hành những gì bạn đã học trong bài viết này, vui lòng giải một dự án Bài tập về cơ sở dữ liệu Python để thực hành và thành thạo các thao tác với Cơ sở dữ liệu Python

%s trong câu lệnh sql là gì?

Phần giữ chỗ. pixel13 đã nhận xét 16 năm trước. Chúng chỉ là phần giữ chỗ cho các giá trị theo sau trong lệnh [e. g. trong db_query]. Bạn phải sử dụng %d cho giá trị số nguyên và %s cho giá trị chuỗi . Bạn cũng có thể sử dụng %f cho giá trị dấu phẩy động, %b cho dữ liệu nhị phân và %% chỉ để chèn ký hiệu phần trăm.

Làm cách nào để sử dụng mệnh đề where trong MySQL Python?

Mệnh đề WHERE sử dụng python .
nhập mysql. gói kết nối
Tạo một đối tượng kết nối bằng mysql. kết nối. .
Tạo một đối tượng con trỏ bằng cách gọi phương thức con trỏ [] trên đối tượng kết nối được tạo ở trên
Sau đó, thực thi câu lệnh SELECT với mệnh đề WHERE, bằng cách chuyển nó dưới dạng tham số cho phương thức exec[]

Làm cách nào để chuyển truy vấn tới MySQL bằng Python?

Các bước tìm nạp hàng từ bảng cơ sở dữ liệu MySQL .
Kết nối với MySQL từ Python. .
Xác định truy vấn CHỌN SQL. .
Nhận đối tượng con trỏ từ kết nối. .
Thực thi truy vấn SELECT sử dụng phương thức exec[]. .
Trích xuất tất cả các hàng từ một kết quả. .
Lặp lại từng hàng. .
Đóng đối tượng con trỏ và đối tượng kết nối cơ sở dữ liệu

S trong sql Python là gì?

Chúng tôi cần cung cấp các giá trị trong trình giữ chỗ [ %s ] trước khi thực hiện truy vấn. Truyền các biến Python ở vị trí của trình giữ chỗ khi chúng tôi thực hiện truy vấn. Chúng ta cần truyền hai đối số sau cho một con trỏ. hàm exec[] để chạy truy vấn được tham số hóa. truy vấn SQL.

Chủ Đề