- ilchupa_chups đã viết:
- có ai bik từ khóa (KEY) trong SQL có tác dụng gì không vậy? em học từ đầu năm đến h mà không bik nó,mọi người trả lời sớm giúp em với huhuhu !!
search trên google thiếu cha gì
tìm được này kham thảo nè
Dùng CONSTRAINT, bạn có thể gán cho một trường như một trong những loại chỉ mục
sau:
- UNIQUE - Chỉ định trường một trường có giá trị không lặp. Điều này có nghĩa là hai bản
ghi bất kỳ trong bảng không có cùng giá trị trong trường này. Bạn có thể ràng buộc bất kỳ trường nào hoặc một danh sách các trường là duy duy nhất (unique). Nếu nhiều trường được chỉ định là không lặp, bộ giá trị kết hợp của các trường đó phải là duy nhất, dầu là hai hoặc một số bản ghi có cùng giá trị trong một trường của nhóm các trường đó.
- PRIMARY KEY - Chỉ định một hoặc một tập các trường trong bảng tạo thành khoá chính. Tất cả giá trị trong khoá chính phải duy nhất, và có một khoá chính duy nhất cho một bảng. Nếu bạn thiết lập một khoá chính cho một bảng đã tồn tại khoá chính thì hệ thống sẽ báo lỗi.
- FOREIGN KEY - Xác định một trường như một khoá ngoài. Nếu khoá chính của bảng ngoài có nhiều hơn một trường, bạn phải dùng một định nghĩa cho chỉ mục nhiều trường, liệt kê tất cả các trường tham chiếu, tên của các bảng, tên của bảng ngoài, và tên của các trường được tham chiếu trong bảng ngoài theo cùng một thứ tự như đã liệt kê danh sách các trường tham chiếu. Nếu trường được tham chiếu là khoá chính của bảng ngoài, bạn không cần chỉ định trường được tham chiếu mà
Jet engine đã ngầm định khoá chính của bảng ngoài là trường được tham chiếu.
Ví dụ, để thêm một chỉ mục cho bảng Titles trong CSDL Biblio.mdb, bạn có thể dùng câu lệnh sau đây:
ALTER TABLE Titles ADD CONSTRAINT MyIndex _ FOREIGN KEY (PubID) REFERENCES Publishers (PubID);
Nhớ rằng, bằng cách dùng từ khoá FOREIGN KEY, Chúng ta đang thiết lập một quan hệ giữa trường PubID của bảng Titles (khoá ngoài) và trường PubID trong bảng Publishers (khoá chính). Mối quan hệ này sẽ được ràng buộc bởi Jet engine, như thể bạn đang dùng phương thức CreateRelation được mô tả trong "Tạo và sửa đổi CSDL"
PHẦN NGÔN NGỮ THAO TÁC TRÊN DỮ LIỆU - DML
Phần ngôn ngữ thao tác trên dữ liệu (DML - Data Manipulation Languague) được dùng để lấy các bản ghi trong các bảng, cập nhật, thêm, xoá các bản ghi của các bảng. Có một số câu lệnh hỗ trợ các tác vụ này, nhưng phần lớn là có cấu trúc của câu lệnh SELECT.
Truy vấn chọn:
Sử dụng câu lệnh SELECT để lấy các bản ghi từ CSDL như một tập hợp các bản ghi, lưu trử chúng trong một đối tượng tập bản ghi mới (Recordset object). ứng dụng của bạn có thể thao tác trên tập bản ghi này như hiển thị, thêm, thay đổi và xoá nếu cần thiết. ứng dụng của bạn cũng có thể hiển thị, sinh các báo cáo từ dữ liệu đó.
SELECT thường là từ đầu tiên trong một câu lệnh SQL. Hầu hết các câu lệnh hoặc là SELECT hoặc là SELECT...INTO. Bạn có thể dùng một câu lệnh SELECT trong SQL là thuộc tính của đối tượng truy vấn (QueryDef object), là thuộc tính RecordSource của một điều khiển dữ liệu (data control), hoặc một đối số cho phương thức OpenRecordset. câu lệnh SELECT không thay đổi dữ liệu trong CSDL; chúng chỉ lấy dữ liệu ra từ CSDL.
Dạng tổng quát của câu lệnh SELECT là:
SELECT fieldlist
FROM tablenames IN databasename
WHETE searchconditions
GROUP BY fieldlist
HAVING group criteria
ORDER BY fieldlist
WITH OWNERACCESS OPTION
Mỗi phần trong câu lệnh đại diện cho một mệnh đề được bàn đến ở các phần sau:
Truy vấn đơn giản:
Dạng đơn giản nhất của câu lệnh SELECT là:
SELECT * FROM tablename;
Ví dụ, truy vấn chọn sau trả lại tất cả các cột của tất cả các bản ghi trong bảng
Employees:
SELECT * FROM Employees;
Dấu sao cho biết rằng tất cả các trường của bảng được chọn. Bạn cũng có thể chỉ định một số trường nhất định. Khi hiển thị, dữ liệu trong mỗi cột sẽ hiển theo thứ tự như chúng đã được liệt kê, vì vậy bạn có thể thay đổi lại thứ tự cho dễ đọc:
SELECT [
First Name], [
Last Name] FROM Employees;
Chỉ định nguồn dữ liệu được chọn:
Một câu lệnh SELECT luôn có mệnh đề FROM, cho biết danh sách các bảng ta cần lấy các bản ghi từ đó.
Nếu một trường tồn tại trong nhiều bảng trong mệnh đề FROM, đặt trước chúng tên trường và dấu chấm. Trong ví dụ sau, trường
Department có trong cả hai bảng Employees và
Supervisors. Câu lệnh chỉ chọn trường Department của bảng Employees và SupvName từ bảng Supervisors: