Sự phù hợp về kiểu

Một phần của tài liệu Tài liệu Tài liệu tham khảo: Ngôn ngữ lập trình PHP doc (Trang 96 - 99)

III. Các Thao tác tên bảng 1 Lựa chọn các hàng

6. Sự phù hợp về kiểu

• Mysql cung câp các mẫu chuẩn cho phép thay thế một kiểu nào đó:ví dụ nh− sử dụng‘_’để chỉ một ký tự đơn lẻ nào đó ‘%’để chỉ một số ký tự nào đó có thể là không có ký tự nào.Chú ý rằng trong mysql không sử dụng dấu=hay!= mà sử dụng LIKE hoặc NOT LIKE.

• Vi dụ tìm một tên bắt đầu bằng ký tự ‘b’

mysql> SELECT * FROM pet WHERE name LIKE "b%";

Name Owner species sex birth

Buffy Bowser Harold Diane dog dog F M 1989-05-13 1989-08-31 • Để tìm tên kết thúc bằng ‘fy’:

mysql> SELECT * FROM pet WHERE name LIKE "%fy";

• Để tìm tên có chứa một ký tự bằng ‘w’:

mysql> SELECT * FROM pet WHERE name LIKE "%w%";

• Dùng LIKE:

mysql> SELECT * FROM pet WHERE name LIKE "_____";

• Một số các quy tắc khác:’

.Một lớp ký tự:đ−ợc bao bởi ‘[...]’,ví dụ’ [abc]’’[1-9]’ .Ký hiệu ‘*’để chỉ ký hiệu trống

.Sử dụng ký hiệu ‘^’’$’để chỉ bắt đầu hoặc kết thúc để sử dụng thi ta phảI viết từ khoá REGEXP phía tr−ớc

• Tìm tên bắt đầu với ký tự ‘b’

mysql> SELECT * FROM pet WHERE name REGEXP "^[bB]";

• Tìm tên kết thúc bằng “fy”,sử dụng ‘$’ :

mysql> SELECT * FROM pet WHERE name REGEXP "fy$";

• Tìm tên có chứa ký tự’w’sử dụng ‘[wW]’để tìm cả ký tự th−ờng và ký tự hoa:

mysql> SELECT * FROM pet WHERE name REGEXP "[wW]";

• Tìm tên có chứa đúng 5 ký tự sử dụng’^’và ‘$’để tìm kiếm: mysql> SELECT * FROM pet WHERE name REGEXP "^...$";

Bạn cũng có thể thực hiện nh− sau:

mysql> SELECT * FROM pet WHERE name REGEXP "^.{5}$";

7. Đếm hàng

• Các cơ sở dữ liệu th−ờng đ−ợc sử dụng để trả lời câu hỏi “mức độ th−ờng xuyên của một số kiểu dữ liệu xuất hiện trong bảng nh− thế nào”Ví dụ ,bạn có thể muốn biết bạn có bao nhiêu con vẹt ,hoặc mỗi ng−ời chủ có bao nhiêu con vẹt ,hoặc bạn có thể thực hiện rất nhiều kiểu điều tra dân số các con vật của mình

• Đếm tổng số con vật mà bạn có thì t−ơng tự nh− câu hỏi là “có bao nhiêu hàng trong bảng về con vẹt” khi đó một bản ghi trên một con vẹt ,chức năng COUNT() đếm số kết quả non- NULL,do đó câu lệnh đếm con vật của bạn nh− sau:

mysql> SELECT COUNT(*) FROM pet;

• Dễ dàng hơn ,bạn có thể gọi tên của những ng−ời chủ sở hữu các con vẹt.Bạn có thể sử dụng COUNT() nếu bạn muốn tìm ra mỗi ng−ời chủ có bao con vẹt

mysql> SELECT owner, COUNT(*) FROM pet GROUP BY owner;

• Chú ý rằng ,sử dụng GROUP BY để tập hợp lại tất cả các bản ghi của mỗi ng−ời chủ.Nếu không có nó,tất cả những cái mà thu d−ợc chỉ là 1 bức điện báo lỗi

mysql> SELECT owner, COUNT(owner) FROM pet; ERROR 1140 at line 1: Mixing of GROUP columns (MIN(),MAX(),COUNT()...)

with no GROUP columns is illegal if there is no GROUP BY clause

• COUNT() và GROUP BY rất có ích cho việc mô tả dữ liệu của bạn theo những cách khác nhau.

• Ví dụ sau đây sẽ chỉ ra những cách khác nhau để thực hiện các điều tra dân số con vật

Số con vật theo loài:

mysql> SELECT species, COUNT(*) FROM pet GROUP BY species; Species COUNT(*) Bird cat dog hamster snake 2 2 3 1 1 Số con vật theo giới tính:

mysql> SELECT sex, COUNT(*) FROM pet GROUP BY sex;

(trong phần này ,NULL ám chỉ không biết giới tính)

Sex COUNT(*) NULL F M 4 1 1 Số con vật theo cả loài và giới tính:

mysql> SELECT species, sex, COUNT(*) FROM pet GROUP BY species, sex;

• Bạn không cần thao tác trên toàn bộ một bảng khi sử dụng

COUNT().Ví dụ câu lệnh tr−ớc khi đ−ợc thực hiện chỉ trên chó và mèo ,nh− sau:

mysql> SELECT species, sex, COUNT(*) FROM pet -> WHERE species = "dog" OR species = "cat"

-> GROUP BY species, sex;

• Hoặc nếu bạn muốn biết số con vật theo giới tính và chỉ với những con đẫ biết giới tính:

mysql> SELECT species, sex, COUNT(*) FROM pet -> WHERE sex IS NOT NULL

-> GROUP BY species, sex;

Một phần của tài liệu Tài liệu Tài liệu tham khảo: Ngôn ngữ lập trình PHP doc (Trang 96 - 99)

Tải bản đầy đủ (PDF)

(115 trang)