Nguồn từ diendantinhoc.net
Giới thiệu về SQL. SQL là chuẩn ngôn ngữ ANSI để truy cập CSDL.
SQL là gì?
SQL là viết tắt của Structured Query Language - Ngôn ngữ truy vấn cấu trúc.
SQL cho phép bạn truy cập vào CSDL.
SQL là một chuẩn ngôn ngữ của ANSI.
SQL có thể thực thi các câu truy vấn trên CSDL.
SQL có thể lấy dữ liệu từ CSDL.
SQL có thể chèn dữ liệu mới vào CSDL.
SQL có thể xoá dữ liệu trong CSDL.
SQL có thể sửa đổi dữ liệu hiện có trong CSDL.
SQL dễ học :-)
SQL là một chuẩn
- SQL là một chuẩn của ANSI (American National Standards Institute - Viện tiêu chuẩn quốc gia Hoa kỳ) về truy xuất các hệ thống CSDL. Các câu lệnh SQL được sử dụng để truy xuất và cập nhật dữ liệu trong một CSDL.
- SQL hoạt động với hầu hết các chương trình CSDL như MS Access, DB2, Informix, MS SQL Server, Oracle, Sybase v.v...
*Lưu ý: Hầu hết các chương trình CSDL hỗ trợ SQL đều có phần mở rộng cho SQL chỉ hoạt động với chính chương trình đó.
Bảng CSDL
Một CSDL thường bao gồm một hoặc nhiều bảng (table). Mỗi bảng được xác định thông qua một tên (ví dụ Customers hoặc Orders). Bảng chứa các mẩu tin - dòng (record - row), là dữ liệu của bảng.
Dưới đây là một ví dụ về một bảng có tên là Persons (người):
LastName FirstName Address City
Hansen Ola Timoteivn 10 Sandnes
Svendson Tove Borgvn 23 Sandnes
Pettersen Kari Storgt 20 Stavanger Bảng ở trên bao gồm 3 mẩu tin (dòng), mỗi mẩu tin tương ứng với một người, và bốn cột (LastName, FirstName, Address và City).
Câu truy vấn SQL
Với SQL ta có thể truy vấn CSDL 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:
SQL
SELECT LastName FROM Persons
Sẽ trả về kết quả như sau:
QUOTE
LastName
Hansen
Svendson
Pettersen
*Lưu ý: Một số hệ thống CSDL đòi hỏi câu lệnh SQL phải kết thúc bằng một dấu chấm phảy (;). Chúng ta sẽ không dùng dấu chấm phảy trong bài viết này.
+ 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à xoá các mẩu tin.
Sau đây là danh sách các lệnh và truy vấn dạng DML của SQL:
SELECT - lấy dữ liệu từ một bảng CSDL.
UPDATE - cập nhật/sửa đổi dữ liệu trong bảng.
DELETE - xoá dữ liệu trong bảng.
INSERT INTO - thêm dữ liệu mới vào bảng.
SQL là ngôn ngữ định nghĩa dữ liệu (DDL - Data Definition Language)
Phần DDL của SQL cho phép tạo ra hoặc xoá các bảng. Chúng ta cũng có thể định nghĩa các khoá (key), chỉ mục (index), chỉ định các liên kết giữa các bảng và thiết lập các quan hệ ràng buộc giữa các bảng trong CSDL.
Các lệnh DDL quan trọng nhất của SQL là:
CREATE TABLE - tạo ra một bảng mới.
ALTER TABLE - thay đổi cấu trúc của bảng.
DROP TABLE - xoá một bảng.
CREATE INDEX - tạo chỉ mục (khoá để tìm kiếm - search key).
DROP INDEX - xoá chỉ mục đã được tạo.
Câu lệnh SELECTCâ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 1 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ủa câu lệnh SELECT như sau:
SQL
SELECT tên_các_cột FROM tên_bảng
Truy xuất nhiều cột
Để truy xuất các cột mang tên LastName và FirstName, ta dùng một câu lệnh SELECT như sau:
SQL
SELECT LastName, FirstName FROM Persons
Bảng Persons:
LastName FirstName Address City
Hansen Ola Timoteivn 10 Sandnes
Svendson Tove Borgvn 23 Sandnes
Pettersen Kari Storgt 20 Stavanger Kết quả trả về:
QUOTE
LastName FirstName
Hansen Ola
Svendson Tove
Pettersen Kari
Truy xuất tất cả các cột
Để truy xuất tất cả các cột từ bảng Persons, ta dùng ký hiệu * thay cho danh sách các cột:
SQL
SELECT * FROM Persons
Kết quả trả về:
QUOTE
LastName - FirstName- Address -City
Hansen - Ola -Timoteivn 10 - Sandnes
Svendson - Tove -Borgvn 23 - Sandnes
Pettersen -Kari -Storgt 20 -Stavanger
Tập kết quả
+ Kết quả trả về từ một câu truy vấn SQL được lưu trong 1 tập kết quả (result set). Hầu hết các hệ thống chương trình CSDL cho phép duyệt qua tập kết quả bằng các hàm lập trình như Move-To-First-Record, Get-Record-Content, Move-To-Next-Record v.v...
+ Dấu chẩm phảy (;) phía sau câu lệnh
+ Dấu chẩm phảy là một cách chuẩn để phân cách các câu lệnh SQL nếu như hệ thống CSDL cho phép nhiều câu lệnh SQL được thực thi thông qua một lời gọi duy nhất.
- Các câu lệnh SQL trong bài viết này đều là các câu lệnh đơn (mỗi câu lệnh là một và chỉ một lệnh SQL). MS Access và MS SQL Server không đỏi hỏi phải có dấu chấm phảy ngay sau mỗi câu lệnh SQL, nhưng một số chương trình CSDL khác có thể bắt buộc bạn phải thêm dấu chấm phảy sau mỗi câu lệnh SQL (cho dù đó là câu lệnh đơn). Xin nhắc lại, trong bài viết này chúng ta sẽ không dùng dấu chấm phảy ở cuối câu lệnh SQL