11/08/2018, 22:12

MySQL Database Query - Phần 2

Tiếp theo phần 1 ở trên, chúng ta sẽ tiếp tục với các câu lệnh tiếp theo 1. SELECT Câu lệnh SELECT được sử dụng để lấy dữ liệu từ một cơ sở dữ liệu. Kết quả được lưu trữ trong một bảng kết quả, gọi là các kết quả đề ra. Cú pháp: SELECT column_name,column_name FROM table_name; và ...

Tiếp theo phần 1 ở trên, chúng ta sẽ tiếp tục với các câu lệnh tiếp theo

1. SELECT

Câu lệnh SELECT được sử dụng để lấy dữ liệu từ một cơ sở dữ liệu.

Kết quả được lưu trữ trong một bảng kết quả, gọi là các kết quả đề ra.

Cú pháp:

SELECT column_name,column_name FROM table_name;

SELECT * FROM table_name;

Ví dụ:

Với câu lệnh SELECT * ta sẽ select tất cả dữ liệu có trong bảng Nhân viên

SELECT * FROM NhanVien;

bai3_2_2

Bai3-2_3

2. INSERT INTO

Các câu lệnh INSERT INTO được dùng để chèn liệu mới vào bảng.

Cú pháp:

Có thể viết các câu lệnh INSERT INTO trong hai hình thức.

Hình thức đầu tiên: không ghi rõ tên cột mà dữ liệu sẽ được đưa vào, chỉ có giá trị của chúng: Cách này SQL sẽ hiểu là ta sẽ insert dữ liệu vào các cột theo lần lượt từng cột trong bảng:

INSERT INTO tên_bảng

VALUES (value1, value2, value3, ...);

Hình thức thứ hai:chỉ rõ cả tên cột và các giá trị được chèn vào:

INSERT INTO tên_bảng (column1, column2, cột3, ...)

VALUES (value1, value2, value3, ...);

Ví dụ:

INSERT INTO NhanVien

VALUES (NV0001, Nguyễn Nhung, 123456, Tầng 1 nhà 27, nguyennhung@mail.com, 0912345678 ...);

Hoặc:

INSERT INTO NhanVien (MaNhanVien, HoTen, MatKhau, DiaChi, Email, SoDienThoai)

VALUES (NV0001, Nguyễn Nhung, 123456, Tầng 1 nhà 27, nguyennhung@mail.com, 0912345678 ...);

bai3_2_2

3. SELECT DISTINCT

Trong một bảng, một cột có thể chứa nhiều giá trị Duplicate; và đôi khi bạn chỉ muốn liệt kê các giá trị (khác biệt) khác nhau.

Các từ khóa DISTINCT có thể được sử dụng để chỉ trả lại những giá trị riêng biệt (khác nhau).

Cú pháp:

SELECT DISTINCT column_name,column_name FROM table_name;

Ví dụ:

SELECT DISTINCT Hoten FROM Nhanvien;

Ban đầu ta có 3 nhân viên có cùng họ tên là Nguyễn Van, nhưng khi sử dụng câu lênh trên thì nó sẽ lọc ra và chỉ lấy theo 1 tên là Nguyễn Van thôi

Kết quả:

Bai3_2_3

4. Where

Mệnh đề WHERE được dùng để trích xuất chỉ những bản ghi mà thực hiện một điều kiện quy định.

Cú pháp:

SELECT column_name,column_name FROM table_name WHERE column_name operator value;

Ví dụ:

SELECT Hoten,MaNhanVien

FROM NhanVien

WHERE Hoten Like 'Nguyễn Van';

Câu lệnh này sẽ lấy ra 2 cột là Mã nhân viên và họ tên với điều kiện là họ tên nhân viên là “Nguyễn Van”

Kết quả:

5. AND và OR

The AND operator sẽ lấy ra các bản ghi nếu cả 2 điều kiện trong mênh đề AND đều đúng

The OR operator sẽ lấy ra các bản ghi nếu 1 trong 2 điều kiện trong mênh đề OR là đúng

Cú pháp:

SELECT * FROM Table_name WHERE column 1='A' AND column 2='B';

SELECT * FROM Table_name WHERE column 1='A' OR column 2='B';

Ví dụ:

SELECT * FROM NhanVien WHERE MaNhanVien='NV0001' AND HoTen='Nguyễn Nhung';

Câu lệnh trên sẽ lấy được bản ghi nào thỏa mãn cả 2 điều kiện là có mã nhân viên là NV0001 và họ tên nhân viên Nguyễn Nhung

Kết quả truy vấn:

Bai3_2_4

SELECT * FROM NhanVien WHERE MaNhanVien='NV0001' OR HoTen='Nguyễn Van';

Câu lệnh trên sẽ lấy được bản ghi nào thỏa mãn 1 trong điều kiện hoặc là có mã nhân viên là NV0001 và hoặc là họ tên nhân viên Nguyễn Van

Kết quả truy vấn:

Bai3_2_5

6. ORDER BY

ORDER BY từ khóa được sử dụng để sắp xếp các kết quả thiết lập bởi một hoặc nhiều cột.

Các từ khóa ORDER BY sắp xếp các bản ghi trong thứ tự tăng dần theo mặc định. Để sắp xếp các bản ghi trong một thứ tự giảm dần, bạn có thể sử dụng các từ khóa DESC, để sắp xếp theo thứ tự giảm dần thì sử dụng từ khóa ASC.

Cú pháp:

SELECT column_name,column_name FROM table_name ORDER BY column_name,column_name ASC|DESC;

Ví dụ:

SELECT MaNhanVien,HoTen FROM NhanVien ORDER BY MaNhanVien DESC;

Câu lệnh sẽ truy vấn ra mã nhân viên và họ tên của những nhân viên đó, sắp xếp theo mã nhân viên giảm dần.

Kết quả truy vấn:

Bai3_2_6

7. DELETE

Câu lệnh DELETE được dùng để xóa các hàng trong một bảng.

Cú pháp:

DELETE FROM table_name WHERE some_column=some_value;

Ví dụ:

DELETE FROM NhanVien WHERE MaNhanVien = “NV0004”;

Câu lệnh sẽ thực hiện xóa bản ghi có Mã nhân viên là NV0004 ra khỏi bảng Nhân viên

8. SELECT TOP

Mệnh đề SELECT TOP được sử dụng để xác định số lượng bản ghi để trả lại.

Các mệnh đề SELECT TOP có thể rất hữu ích trên bảng lớn với hàng ngàn bảng ghi. Trả về một số lượng lớn các bản ghi có thể ảnh hưởng đến hiệu suất.

Cú pháp:

SELECT column_name(s) FROM table_name LIMIT number;

Ví dụ:

SELECT * FROM NhanVien LIMIT 3;

Lấy ra 3 nhân viên theo thứ tự của Mã nhân viên

Kết quả truy vấn:

Bai3_2_6

9. LIKE

Mệnh đề LIKE được dùng để tìm kiếm bản ghi có cột giống với điều kiện được chưa ra

Cú pháp:

SELECT * FROM table_name WHERE column_name LIKE pattern;

Ví dụ:

SELECT * FROM NhanVien WHERE HoTen LIKE ‘Nguyễn Nhung’;

Câu lệnh trên sẽ lấy ra các bản ghi có họ tên có từ Nguyễn

SELECT * FROM NhanVien WHERE HoTen LIKE 'N%';

Câu lệnh trên sẽ lấy ra các bản ghi mà họ tên bắt đầu = chữ N

SELECT * FROM NhanVien WHERE HoTen LIKE '%N';

Câu lệnh trên sẽ lấy ra các bản ghi mà họ tên kết thúc = chữ N

SELECT * FROM NhanVien WHERE HoTen LIKE '%an%';

Câu lệnh trên sẽ lấy ra các bản ghi mà họ tên bao gồm ký tự an

SELECT * FROM NhanVien WHERE HoTen NOT LIKE '%N';

Câu lệnh trên sẽ lấy ra các bản ghi mà họ tên không bao gồm ký tự N

10. IN

Các điều hành IN cho phép bạn xác định nhiều giá trị trong một mệnh đề WHERE.

Cú pháp:

SELECT column_name(s) FROM table_name WHERE column_name IN (value1,value2,...);

Ví dụ:

SELECT *

FROM NhanVien

WHERE MaNhanVien IN ("NV0001","NV0002","NV0006");

Câu lệnh tren sẽ lấy ra các bản ghi cáo mã nhân viên thuộc khoảng điều kiện trên

Kết quả truy vấn:

Bai3_2_7

0