II. Những tác vụ cơ bản của ASP
2. Một số lệnh SQL cơ bản dùng cho Recordset của ADO
Trên thực tế, nhiều giao tiếp giữa ASP – ADO và cơ sở dữ liệu đợc thực hiện nhờ SQL. Trong phần này tôi xin giới thiệu các nguyên tắc cơ bản của quá
trình đọc dữ liệu thông qua việc sử dụng các câu lệng của SQL.
SQL (Structured Query Language) là một cách thức giao tiếp với cơ sở dữ
liệu. Tức là nó thực hiện các công việc nh đọc dữ liệu từ kho dữ liệu, ghi dữ liệu lên kho dữ liệu, thay đổi dữ liệu trong kho mà không đọc dữ liệu ra, thay đổi cấu trúc của kho dữ liệu.
Hầu hết các câu lệng của SQL thuộc ba loại:
- Các câu lệnh đọc dữ liệu.
- Các câu lệnh thay đổi dữ liệu, nh việc thêm mẩu tin mới.
- Các câu lệnh thay đổi cấu trúc cơ sở dữ liệu. Ví dụ nh thêm một tr- ờng hay một bảng.
♦ Những quy tắc cú pháp chung cho SQL.
Quy tắc cú pháp chung của SQL là xây dựng một câu lệnh tợng tự nh một câu văn tiếng Anh, gồm vài mệnh đề (clause). Mỗi mệnh đề bắt đầu bằng một từ khoá (keyword) SQL và theo sau là các đối số. Các câu lệnh SQL đơn giản nhất sẽ lấy ra tất cả các mẩu tin và tất cả các trờng trong một nguồn dữ liệu chẳng hạn nh một bảng.
SELECT Fieldslist FROM Source;
Ví dụ: Câu lệnh sau dùng để rút một Recordset chứa tất cảc các mẩu tin và trờng trong bảng People:
SELECT * FROM People;
♦ Dùng các câu lệnh của SQL để mở một Recordset.
Ta đã có thể mở một Recordset với một dòng nh sau:
ORS.Open “people”, “DNS=sailor”
Tuy nhiên, Recordset này bao gồm tất cả các mẩu tin và các trờng của bảng people, đồng thời chúng không đợc chọn lọc hay sắp xếp gì cả. SQL có thể khắc phục đợc nhợc điểm này bằng cách sử dụng câu lệnh sau:
ORS.Open “SECLECT * From People;”, “DNS=Sailor”
Ví dụ về câu lệnh SQL với RS.Open
<HTML>
<HEAD>
<TITLE> Thu nghiem cau lenh SQL voi RS.OPEN</TITLE>
</HEAD>
<BODY>
<P>Try it out – using a SQL Statement with RS.Open</P>
<%
Dim oRSbc
Set oRSbc =Server.creatẹoect(“ADODB.Recordset”) ORSbc.Open “SELECT * FROM BoatClass;”, “DSN=Sailor”
oRSbc.MoveFirst
Do while NOT oRSbc.EOF
Response.Write oRSbc(“ClassName”) &”,”
oRSbc.MoveNext Loop
oRSbc.Close Set oRSbc=nothing
%>
</BODY>
</HTML>
* Câu lệnh SELECT
Câu lệnh này dùng để thu thập một số mẩu tin cho chúng ta sử dụng nó có dạng:
SELECT <phạm vi> FROM <tên bảng>;
- Từ khoá SELECT có nghĩa là đọc từ cơ sở dữ liệu.
- Phạm vi: có thể là tất cả “*” hoặc một số trờng đợc chỉ ra.
- FROM tên bảng: từ bảng cần đọc dữ liệu ra.
VÝ dô:
SELECT * FROM People; Mở tất cả các trờng của bảng People.
SELECT name, add FROM People; Mở hai trờng name và add.
Ngoài ra khi cần thiết ta có thể sử dụng thêm các tuỳ chọn để phục các yêu cầu của mình nh:
- Tuỳ chọn ORDER BY: Dùng để sắp xếp dữ liệu theo một quy tắc nhất định.
VÝ dô:
SELECT * FROM People ORDER BY Name;
- Tuỳ chọn WHERE: Dùng để giới hạn thông tin phù hợp với một điều kiện nào
đó nh tuổi lớn hơn 50 hay Quê quán ở Vinh chẳng hạn.
VÝ dô:
SELECT * FROM qlthi WHERE QQ= “Vinh”;
- Tuỳ chọn BETWEEN AND trong mệnh đề WHERE.…
WHERE sẽ trở nên hữu dụng hơn khi chỉ ra một khoảng giá trị. SQL đa vào các từ khoá Between and trong mệnh đề Where và chúng đ… ợc dùng chung với nhau thành một cặp.
Ngoài ra ta cũng có thể dùng thêm một số tuỳ chọn khác khi cần thiết, đó là tuỳ chọn IN, các toán tử lý luận And, Or, Not để bảo đảm tính chính xác và sử dụng trong một số trờng hợp nhất định.
* Các lệnh sửa đổi dữ liệu của SQL.
+ Chèn mẩu tin: lệnh INSERT.
Để thêm các mẩu tin vào bảng, chúng ta phải dùng lệnh INSERT. Lệnh này chỉ đợc dùng để chèn những hàng mới vào bảng. Khi đã có dữ liệu thì ta có thể sử dụng lệnh UPDATE hoặc lệnh DELETE để thao tác.
Dạng lệnh: Insert into Tablename(column1, column2,…) Value (Value1, value2,…)
Tham số Tablename chỉ định bảng dữ liệu đợc thêm vào, tham số Column chỉ định các cột mà ta muốn chèn dữ liệu vào. Các tham số Value chỉ định các giá trị dữ liệu mà ta muốn chèn. Dấu câu đợc dùng với những giá trị này chỉ định kiểu dữ liệu.
+ Cập nhật một mẩu tin: Lệnh UPDATE.
Dạng lệnh:
UPDATE Tablename SET Column1=Value1, Column2=Value2, Column3=Value3 WHERE Criteria
- Tham số Tablename chỉ định bảng chứa dữ liệu mà ta muốn cập nhật.
- Tham số Column chỉ định cột mà ta muốn cập nhật.
- Các tham số Value chỉ định những giá trị dữ liệu mới mà ta sẽ cập nhật và các cột.
- Tham số Criteria chỉ định những dòng đợc chọn để cập nhật.
+ Xoá mẩu tin: Lệnh DELETE.
Dạng lệnh:
DELETE Column * FROM Tablename WHERE Criteria
- Tham số Column* chỉ định cột để xoá hoặc dùng kí tự * để xoá tất cả các cột của bảng.
- Tham số Criteria chỉ định những hàng nào đợc xoá.