Bài giảng Quản trị cơ sở dữ liệu - Chương 3: Ngôn ngữ SQL
Thông tin tài liệu:
Nội dung trích xuất từ tài liệu:
Bài giảng Quản trị cơ sở dữ liệu - Chương 3: Ngôn ngữ SQL CHƯƠNG III: NGÔN NGỮ SQL SQL (Structured Query Language) – ngôn ngữ truy vấn có cấu trúc là ngôn ngữ con dữ liệu quan hệ rất mạnh, dễ sử dụng. Hiện nay SQL được được cài đặt trong hầu hết các phần mềm hệ quản trị CSDL như Oracle, Dbase, Access, Foxpro, SQL server Các câu lệnh trong ngôn ngữ SQL được chia thành hai loại: • Các câu lệnh định nghĩa dữ liệu cho phép tạo các thành phần trong CSDL như bảng, cột (thuộc tính) và các chỉ dẫn. • Các câu lệnh thao tác dữ liệu để lấy về các mẫu tin (bản ghi) từ cơ sở dữ liệu 3.1. Các câu lệnh định nghĩa dữ liệu: Tạo bảng Câu lệnh tạo bảng có dạng tổng quát: CREATE TABLE Tablename(FieldName DataType [Not null],...) Trong đó: • FieldName là một từ đơn không có khoảng trống, bắt đầu là chữ cái tiếp theo là chữ cái (hoa hoặc thường) hoặc chữ số hoặc dấu nối. • DataType là kiểu dữ liệu Ví dụ: CREATE TABLE Sinhvien(Masv smalliterger, Ho char(18), Ten char(8), Ngsinh date, Gtinh char(3), Mtinh char(3), Mhuyen char(3), Mlop char(3), Cogiadinh logical) Thêm một trường mới ALTER TABLE ADD [COLUMN] DATATYPE() … ADD [COLUMN] DATATYPE() Thêm vào bảng các trường mới có tên là < New_Field_Name_1> … < New_Field_Name_n> có kiểu dữ liệu là DATATYPE với độ rộng là một cách tương ứng. Ví dụ: ALTER TABLE Sinhvien ADD Nganh char(3) ADD Ngaynhaphoc date Xoá bảng DROP TABLE TableName Xoá bảng được chỉ định bởi tên (TableName) ra khỏi CSDL • Ví dụ: • DROP TABLE SINHVIEN 3.2. Các câu lệnh truy tìm dữ liệu Dạng tổng quát của câu lệnh truy tim dữ liệu có dạng: SELECT *|[Field1|Expression1 [AS alias1], Field2| Expression2 [AS alias2], …FieldN| ExpressionN [AS aliasN]] [DISTINCT] [FROM Table1 | View1, Table2 | View2,…,TableN | ViewN] [WHERE ] [GROUPE BY Field1, Field2,…,FieldN] [HAVING ] [ORDER BY [ASC | DESC]] Giải thích ý nghĩa các thành phần SELECT Xác định, tìm kiếm nội dung thông tin từ các trường: Dấu “*” hiểu là từ tất cả các trường. FROM Xác định nguồn thông tin: Thông tin có thể từ các bảng hoặc các khung nhìn trong danh sách liệt kê WHERE Xác định điều kiện: Điều kiện là một biểu thức Boolean, chỉ các bản ghi (bộ|hàng) tho ả mãn điều kiện mới được đưa ra Mẫu câu lệnh thường dùng nhất là: SELECT *|[Field1|Expression1 [AS alias1], Field2| Expression2 [AS alias2], …FieldN| ExpressionN [AS aliasN]] [DISTINCT] [FROM Table1 | View1, Table2 | View2,…,TableN | ViewN] [WHERE ] • GROUPE BY Phân nhóm hoặc gộp nhóm dữ liệu trong bảng: Có nghĩa rằng các bản ghi (bộ|hàng) có cùng giá trị trường sẽ được gộp thành nhóm, trong quan hệ kết quả ta chỉ thấy các giá trị đại diện của nhóm. Chú ý rằng danh sách cột sau mệnh đề GROUPE BY phải bao hàm danh sách trường sau mệnh đề SELECT. • HAVING thường đi kèm với GROUPE BY trong đó biểu thức điều kiện , trong quan h ệ kết quả chỉ chứa các hàng thoả điều kiện . Trong biểu thức điều kiện (xem…) nếu có chứa toán hạng là một biến trường thì biến trường đó phải có mặt trong danh sách trường sau mệnh đề GROUPE BY. • ORDER BY [ASC | DESC] Khi tìm kiếm thông tin, các thông tin lấy về sẽ được sắp xếp theo giá trị của các cột chỉ ra trong danh sách theo thứ tự tăng nếu dùng ASC, giảm nếu dùng DESC (mặc định là ASC), các giá trị bằng nhau được sắp liên tiếp liền kề nhau. Nếu có nhiều trường thứ tự sắp xếp ưu tiên theo danh sách trường từ trái sang phải. Nếu trong lệnh có dùng GROUPE BY việc sắp xếp sẽ chỉ có tác dụng cho từng nhóm được tạo ra bởi GROUPE BY. Câu lệnh SQL với những tình huống phổ biến Tìm kiếm không điều kiện • SELECT * FROM Câu lệnh này có nghĩa rằng trả về tất cả các bản ghi với đầy đủ các trường của bảng chỉ ra bởi . Ví dụ: SELECT * FROM Sinhvien • SELECT FROM Câu lệnh này có nghĩa rằng trả về tất cả các bản ghi với các trường ch ỉ ra trong danh sách của bảng chỉ ra bởi . Ví dụ: SELECT ho, ten, lop, nganh FORM Sinhvien • SELECT DISTINCT FROM Câu lệnh này có nghĩa rằng trả về bản ghi với các trường ch ỉ ra trong danh sách của bảng chỉ ra bởi và không có bản ghi (bộ) nào trùng nhau. Ví dụ: SELECT Tinh, Huyen DISTINCT FROM Sinhvien Tìm kiếm theo điều kiện. dùng mệnh đề WHERE Ví dụ: SELECT Ho, Ten, Lop FROM Sinhvien WHERE nganh=404 Ví dụ: SELECT Ho, Ten, Lop FROM Sinhvien WHERE Mtinh BETWEEN “01” and “03” Ví dụ: SELECT Ho, Ten, Lop FROM Sinhvien WHERE nganh IN (“101”,”102”,”103”) Các phép so sánh, các phép toán BETWEEN, LIKE, IN được tổ h ợp bởi các phép toán logic sẽ cho ta những mệnh đề logic biểu diễn các điều kiện phức tạp hơn trong phép lọc với mệnh đề WHERE. Ví dụ: SELECT Ho, Ten, Lop FROM Sinhvien WHERE Mtinh BETWEEN “01” and “03” and nganh IN (“101”,”103”) trong quan hệ kết quả gồm các cột ho, ten, lop các sinh viên có que quán thuộc các tỉnh có mã là 01, 02 hoặc 03 và có mã ngành h ọc là 101 hoặc 103. Các câu lệnh truy vấn lồng Trong câu lệnh truy vấn (chính) thành phần sau HAVING hoặc WHERE ta lại có một câu lệnh SELECT gọi là câu lệnh SELECT phụ và ta nói có câu lệnh SELECT lồng. Biểu thức so sánh sau HAVING hoặc WHERE của các câu lệnh lồng có thể như sau: eθ[ANY | ALL | SOME] (SELECT…) trong đó e là biểu thức, θ là phép so sánh nào đó, ANY hoặc SOME được hiểu là bất kỳ, ALL là tất cả Kết quả truy vấn ta sẽ được các mẩu tin của câu lệnh SELECT chính thoả mãn phép so sánh với bất kỳ (ANY | SOME) hoặc tất cả (ALL) mẩu tin thu được từ câu lệnh SELECT phụ Ví dụ: SELECT sobaodanh,hoten,nganh FROM Tuyensinh WHERE diemtong>= ALL(SELECT diemtong FROM Tuyensinh) Câu lệnh trên sẽ cho kết quả là danh sách những thí sinh đạt điểm cao nhất e [NOT] IN (SELECT…) ở đây e cũng là biểu thức. Kết quả của truy vấn là nhữn ...
Tìm kiếm theo từ khóa liên quan:
Quản trị cơ sở dữ liệu Bài giảng Quản trị cơ sở dữ liệu Ngôn ngữ SQL Định nghĩa dữ liệu Câu lệnh SQL Câu lệnh truy vấn lồng Câu lệnh cập nhập dữ liệuGợi ý tài liệu liên quan:
-
Đề cương chi tiết học phần Quản trị cơ sở dữ liệu (Database Management Systems - DBMS)
14 trang 248 0 0 -
Ngôn ngữ truy vấn có cấu trúc (SQL)
24 trang 111 0 0 -
Giáo trình: Hệ quản trị cơ sở dữ liệu - Nguyễn Trần Quốc Vinh
217 trang 78 0 0 -
Tiểu Luận Chương Trình Quản Lí Học Phí Trường THPT
18 trang 76 0 0 -
Giáo trình Nhập môn cơ sở dữ liệu: Phần 2 - Trần Thành Trai
145 trang 70 0 0 -
8 trang 67 0 0
-
Giáo trình Thực hành SQL: Phần 2 - Trần Nguyên Phong
15 trang 58 0 0 -
183 trang 52 0 0
-
22 trang 47 0 0
-
Đề thi Thực hành Cơ sở dữ liệu - Đề số 10
1 trang 47 1 0 -
Sao lưu và phục hồi dữ liệu với Cobian Backup- P1
5 trang 45 0 0 -
Giáo trình môn học: PHP và MySQL (Ngành/nghề: Thiết kế trang web) - Trường CĐN Đà Lạt
42 trang 43 0 0 -
Bài giảng Phát triển ứng dụng web: Chương 7 - Lê Đình Thanh
41 trang 42 0 0 -
Báo cáo bài tập lớn Cơ sở dữ liệu: Xây dựng phần mềm quản lý trung tâm Tiếng Anh
37 trang 39 0 0 -
Hệ quản trị cơ sở dữ liệu Oracle 9i (Tập 2): Phần 2
114 trang 39 0 0 -
Bài giảng Cơ sở dữ liệu: Chương 5 - Hoàng Thị Hà
121 trang 37 0 0 -
Đề thi Thực hành Cơ sở dữ liệu - Đề số 12
1 trang 37 1 0 -
49 trang 34 0 0
-
Nghiên cứu Cơ sở dữ liệu: Phần 1
164 trang 34 0 0 -
Bài giảng Hệ quản trị cơ sở dữ liệu: Chương 7 - Lê Thị Minh Nguyện
7 trang 34 0 0