8. Phương pháp luận và phương pháp nghiên cứu:
3.3.3 SQL là ngơn ngữ thao tác dữ liệu (DML Data Manipulation
Language)
SQL là cú pháp để thực thi các câu truy vấn. SQL cũng bao gồm cú pháp để cập nhật - sửa đổi, chèn thêm và xố các mẩu tin.
Danh sách các lệnh và truy vấn của SQL:
•SELECT - lấy dữ liệu từ một bảng cơ sở dữ liệu.
•UPDATE - cập nhật/sửa đổi dữ liệu trong bảng.
•DELETE - xố dữ liệu trong bảng.
•INSERT INTO - thêm dữ liệu mới vào bảng.
Câu lệnh SELECT
Câu lệnh SELECT được dùng để truy xuất dữ liệu từ một bảng. Kết quả trả về dưới dạng bảng được lưu trong một bảng, gọi là bảng kết quả - result table (cịn được gọi là tập kết quả - result set).
Cú pháp: Cú pháp của câu lệnh SELECT như sau:
SELECT tên_các_cột FROM tên_bảng
Với SQL ta cĩ thể truy vấn cơ sở dữ liệu và nhận lấy kết quả trả về thơng qua các câu truy vấn.
Một câu truy vấn như sau đối với bảng 3.6
SELECT LastName FROM Persons Sẽ trả về kết quả như sau:
LastName Hansen Svendson Pettersen Bảng 3.7 Ví dụ bảng kết quả trả về (SQL) Mệnh đề WHERE
Mệnh đề WHERE được dùng để thiết lập điều kiện truy xuất.
Để truy xuất dữ liệu trong bảng theo các điều kiện nào đĩ, một mệnh đề WHERE cĩ thể được thêm vào câu lệnh SELECT.
Cú pháp
Cú pháp mệnh đề WHERE trong câu lệnh SELECT như sau:
SELECT tên_cột FROM tên_bảng WHERE tên_cột phép_tốn giá_trị
Trong mệnh đề WHERE, các phép tốn được sử dụng là
Phép tốn Mơ tả = : So sánh bằng <> : So sánh khơng bằng > : Lớn hơn < : Nhỏ hơn >= : Lớn hơn hoặc bằng <= : Nhỏ hơn hoặc bằng
BETWEEN : Nằm giữa một khoảng LIKE : So sánh mẫu chuỗi
Tốn tử AND và OR : Hai tốn tử AND và OR nối hai hoặc nhiều điều kiện trong mệnh đề WHERE lại với nhau.
Tốn tử AND sẽ hiển thị một dịng nếu TẤT CẢ các điều kiện đều thoả mãn. Tốn tử OR hiển thị một dịng nếu BẤT KỲ điều kiện nào được thoả.
Tốn tử BETWEEN...AND: Lấy ra một miền dữ liệu nằm giữa hai giá trị. Hai giá trị này cĩ thể là số, chuỗi văn bản hoặc ngày tháng.
SELECT tên_cột FROM tên_bảng WHERE tên_cột
BETWEEN giá_trị_1 AND giá_trị_2
Từ khố DISTINCT
Câu lệnh SELECT sẽ trả về thơng tin về các cột trong bảng. Nhưng nếu chúng ta khơng muốn lấy về các giá trị trùng nhau thì ta chỉ cần thêm từ khố DISTINCT vào câu lệnh SELECT theo cú pháp sau:
SELECT DISTINCT tên_cột FROM tên_bảng
Từ khố ORDER BY
Mệnh đề ORDER BY được dùng để sắp xếp các dịng kết quả trả về..
SELECT tên_cột FROM tên_bảng
ORDER BY tên_cột ASC|DESC (theo thứ tự tăng|giảm dần)
Câu lệnh INSERT INTO được dùng để chèn dịng mới vào bảng.
Cú pháp:
INSERT INTO tên_bảng
VALUES (giá_trị_1, giá_trị_2,....)
Câu lệnh UPDATE
Câu lệnh UPDATE được sử dụng để cập nhật/sửa đổi dữ liệu đã cĩ trong bảng.
Cú pháp:
UPDATE tên_bảng
SET tên_cột = giá_trị_mới WHERE tên_cột = giá_trị
Câu lệnh DELETE
Câu lệnh DELETE được dùng để xố các dịng ra khỏi bảng.
Cú pháp:
DELETE FROM tên_bảng WHERE tên_cột = giá_trị
SQL cĩ sẵn lệnh để đếm các dịng trong cơ sở dữ liệu.
Cú pháp của hàm COUNT:
SELECT COUNT(tên_cột) FROM tên_bảng
Hàm COUNT(*) trả về số lượng các dịng được chọn ở trong bảng.
Hàm COUNT(column):
Hàm COUNT(column) sẽ trả về số lượng các dịng cĩ giá trị khác NULL ở cột được chỉ định
Nối kết và khố
Đơi khi chúng ta phải lấy dữ liệu từ hai bảng cùng một lúc, chúng ta thực hiện một kết nối.
Các bảng trong cơ sở dữ liệu cĩ thể quan hệ ràng buộc với nhau thơng qua các khố. Một khố chính (primary key) là một cột mà trong đĩ mỗi giá trị của hàng phải là duy nhất. Mục đích của khố là kết nối dữ liệu lại với nhau, từ nhiều bảng khác nhau mà khơng gây trùng lắp dữ liệu giữa các bảng.
Sử dụng JOIN
Ta cĩ thể sử dụng từ khố JOIN để kết nối dữ liệu từ hai bảng.
Ví dụ: INNER JOIN Cú pháp: SELECT cột_1, cột_2, cột_3 FROM bảng_1 INNER JOIN bảng_2 ON bảng_1.khố_chính = bảng_2.khố_ngoại