Thông tin tài liệu
C
C
Ơ
Ơ
S
S
Ở
Ở
D
D
Ữ
Ữ
L
L
I
I
Ệ
Ệ
U
U
◊ ◊ ◊ ◊ ◊ ◊ ◊ ◊ ◊ ◊ ◊ ◊ ◊ ◊ ◊ ◊ ◊ ◊ ◊ ◊ ◊ ◊ ◊ ◊
GV. Phạm Thị Hoàng Nhung
Bộ môn Công nghệ phần mềm
Đại học Thủy lợi
P
P
H
H
Ầ
Ầ
N
N
II
N
N
G
G
Ô
Ô
N
N
N
N
G
G
Ữ
Ữ
S
S
Q
Q
L
L
♦ ♦ ♦ ♦ ♦ ♦ ♦ ♦ ♦ ♦
o
Giới thiệu
o Ngôn ngữ định nghĩa dữ liệu
o
Ngôn ngữ quản trị dữ liệu
o Ngôn ngữ điểu khiển dữ liệu
o Ngôn ngữ truy vấn dữ liệu
o Bài tập tổng hợp
MỤC LỤC
PHẦN II- NGÔN NGỮ SQL
2
1 Chương 1. GIỚI THIỆU 4
1.1 Lịch sử phát triển 4
1.2 Chuẩn SQL 4
1.3 Đặc điểm của SQL 4
1.4 Các loại lệnh của SQL 5
2 Chương 2. CÁC LỆNH ĐỊNH NGHĨA DỮ LIỆU (DDL) 6
2.1 Tạo một cơ sở dữ liệu 6
2.2 Tạo một bảng 6
2.2.1 Cú pháp 6
2.2.2 Tên của bảng 6
2.2.3 Xác định các thuộc tính 7
2.3 Các loại dữ liệu 7
2.3.1 Các loại dữ liệu được sử dụng trong MS Access 7
2.3.2 Các loại dữ liệu được sử dụng trong Oracle: 8
2.3.3 Các loại dữ liệu sử dụng trong SQL SERVER 12
2.4 Các loại ràng buộc trong bảng dữ liệu . 12
2.4.1 NOT NULL- Không rỗng 12
2.4.2 UNIQUE-Duy nhất 12
2.4.3 PRIMARY KEY- Khoá chính 13
2.4.4 FOREIGN KEY-Khoá ngoại 13
2.4.5 CHECK- Ràng buộc kiểm tra giá trị 14
2.4.6 DEFAULT-Mặc định 14
2.5 Sửa đổi cấu trúc 15
2.6 Xoá đối tượng 17
3 Chương 3. CÁC LỆNH QUẢN TRỊ DỮ LIỆU 17
3.1 Thêm hàng (INSERT) 17
3.2 Xóa hàng (DELETE) 18
3.3 Sửa đổi giá trị của một hàng (UPDATE) 18
4 Chương 4. NGÔN NGỮ ĐIỂU KHIỂN (DCL) 19
4.1 Lệnh GRANT 19
4.2 Lệnh REVOKE 20
5 Chương 5. TRUY VẤN DỮ LIỆU (SELECT) 21
5.1 Cú pháp 21
5.2 Ví dụ: 21
5.3 Đưa ra các cột 22
5.3.1 Đưa tất cả các cột 22
5.3.2 Đưa một số các cột 22
5.3.3 Tránh các giá trị trùng lặp (DISTINCT) 23
5.3.4 Đưa ra các giá trị của các biểu thức 23
5.3.5 Sử dụng bí danh cột 23
5.3.6 Sắp xếp thứ tự (ORDER BY) 24
5.4 Đưa ra các hàng 24
MỤC LỤC
PHẦN II- NGÔN NGỮ SQL
3
5.4.1 Sử dụng các phép so sánh 24
5.4.2 Sử dụng các phép logic: AND, OR, NOT 25
5.4.3 Các toán tử của SQL 25
5.5 Sử dụng các hàm 27
5.5.1 Hàm số học 27
5.5.2 Một số hàm kiểu số tham khảo khác: 27
5.5.3 Các hàm ký tự 29
5.5.4 Các hàm ngày 33
5.5.5 Các hàm chuyển đổi kiểu 35
5.5.6 Hàm nhóm 37
5.5.7 Sử dụng hàm nhóm 37
5.5.8 Mệnh đề GROUP BY 37
5.5.9 Mệnh đề HAVING 38
5.6 Lấy thông tin từ nhiều bảng 39
5.6.1 Nối bằng (Equi-Join) 39
5.6.2 Bí danh bảng 40
5.6.3 Nối không bằng (Non Equi-Join) 40
5.6.4 Nối bảng với chính nó 41
5.6.5 Thực hiện kết nối thông qua từ khóa Join 41
5.7 Thực hiện các phép toán trên tập hợp 43
5.8 Các câu hỏi lồng nhau 44
5.8.1 Lệnh SELECT bên trong cho kết quả là 1 hàng 44
5.8.2 Lệnh SELECT bên trong cho kết quả là nhiều hàng 45
5.8.3 Mệnh đề HAVING trong SELECT lồng nhau. 48
5.8.4 Mệnh đề ORDER BY trong SELECT lồng nhau 49
5.9 Các lệnh lồng nhau liên kết 49
6 THỰC HÀNH TỔNG HỢP 51
6.1 Hướng dẫn thực hành 51
6.2 Bài số 1 52
6.3 Bài số 2 54
6.4 Bài số 3 58
Chương 1. GIỚI THIỆU
PHẦN II- NGÔN NGỮ SQL
4
1 Chương 1. GIỚI THIỆU
1.1 Lịch sử phát triển
SQL (Structured Query Language, đọc là "sequel") là tập lệnh truy xuất
CSDL quan hệ. Ngôn ngữ SQL được IBM sử dụng đầu tiên trong hệ quản trị
CSDL System R vào giữa những năm 70, hệ ngôn ngữ SQL đầu tiên (SEQUEL2)
được IBM công bố vào tháng 11 năm 1976. Năm 1979, tập đoàn ORACLE giới
thiệu thương phẩm đầu tiên của SQL, SQL cũng được cài đặt trong các hệ quản trị
CSDL như DB2 của IBM và SQL/DS.
Ngày nay, SQL được sử dụng rộng rãi và đuợc xem là ngôn ngữ chuẩn để
truy cập CSDL quan hệ.
1.2 Chuẩn SQL
Năm 1989, viện tiêu chuẩn quốc gia Hoa kỳ (ANSI) công nhận SQL là
ngôn ngữ chuẩn để truy cập CSDL quan hệ trong văn bản ANSI SQL89.
Năm 1989, tổ chức tiêu chuẩn quốc tế (ISO) công nhận SQL ngôn ngữ
chuẩn để truy cập CSDL quan hệ trong văn bản ISO 9075-1989.
Tất cả các hệ quản trị CSDL lớn trên thế giới cho phép truy cập bằng SQL
và hầu hết theo chuẩn ANSI.
1.3 Đặc điểm của SQL
- Ngôn ngữ gần với ngôn ngữ tự nhiên (tiếng Anh)
- SQL là ngôn ngữ phi cấu trúc, tức là trong các lệnh của SQL người sử
dụng CHỈ CẦN đưa ra yêu cầu hệ thống CÁI GÌ chứ không cần chỉ ra
phải làm THẾ NÀO.
- Ví dụ: Cho cấu trúc dữ liệu để quản lý học sinh như sau
HOCSINH(MaHS, TenHS, ĐTB, Xeploai). Đưa ra TenHS, ĐTB của
các học sinh có ĐTB>=8.0.
Pascal SQL
Type Hocsinh=Record
MaHS: String[5]; TenHS: String[30];
ĐTB: Real; Xeploai: String[30];
End;
HS: Array[1 100] Of Hocsinh;
Begin
….
For i:=1 to n do
If HS[i].ĐTB>=8.0 then
Writeln(HS[i].TenHS, HS[i].DTB);
….
End.
-
Tạo bảng HOCSINH
-
Sử dụng lệnh SELECT
Select TenHS, ĐTB
From HOCSINH
Where ĐTB>=5.0;
Chương 1. GIỚI THIỆU
PHẦN II- NGÔN NGỮ SQL
5
- Ngôn ngữ SQL được sử dụng rất rộng rãi trong các Hệ quản trị cơ sở dữ
liệu.
-
SQL được chia 2 loại: SQL (ngôn ngữ hỏi) và PL/SQL (ngôn ngữ lập
trình)
1.4 Các loại lệnh của SQL
Chia làm các nhóm chính:
- Cho phép truy vấn cơ sở dữ liệu để đưa ra các thông tin cần thiết
(SELECT).
- Các lệnh định nghĩa dữ liệu (DDL_ Data Definition Language): Tạo và
thay đổi cấu trúc các đối tượng trong cơ sở dữ liệu (CREATE, ALTER…)
- Các lệnh thực hiện trên dữ liệu (DML_ Data Manipulation Language):
Cho phép thêm, sửa, xóa dữ liệu (INSERT, UPDATE, DELETE…).
- Các lệnh điều khiển dữ liệu (DCL_Data Control Language): Cho phép
gán hoặc huỷ các quyền truy cập dữ liệu (GRANT, REVOTE)
Chương 2. CÁC LỆNH ĐỊNH NGHĨA DỮ LIỆU (DDL)
PHẦN II- NGÔN NGỮ SQL
6
2 Chương 2. CÁC LỆNH ĐỊNH NGHĨA DỮ LIỆU (DDL)
2.1 Tạo một cơ sở dữ liệu
Cú pháp:
Create Database <Tên CSDL>
Ví dụ: Tạo một cơ sở dữ liệu có tên là QLTV _ Quản lý thư viện
Create Database QLTV;
2.2 Tạo một bảng
2.2.1 Cú pháp
CREATE TABLE <Ten bang> (Tên_thuộc_tính1
Kiểu_tt1 [NOT NULL],
Tên_thuộc_tính2 Kiểu_tt2 [NOT NULL],
…
Tên_thuộc_tínhn Kiểu_ttn [NOT NULL]
[, CONSTRAINT mệnh đề ] )
Trong đó, mệnh đề CONSTRAINT cho phép ta khai báo các ràng buộc dữ
liệu(chi tiết sẽ được trình bày ở phần sau).
Ví dụ:
Tạo bảng DOCGIA, có các thuộc tính:
CREATE TABLE DOCGIA(
MaDG Text(10) NOT NULL PRIMARY KEY,
TenDG Text(30) NOT NULL,
DiaChi Text(50) NOT NULL,
Tuoi NUMBER)
Bảng này sẽ được nhận một tên gọi và một cấu trúc (danh sách tên các
thuộc tính và một vài đặc trưng). Khi mới được tạo, bảng chưa có dữ liệu, chỉ là
một cấu trúc lôgic có thể tiếp nhận các dữ liệu.
2.2.2 Tên của bảng
Tên của bảng được xác định ngay sau lệnh CREATE TABLE.
Mỗi HQTCSDL có một quy tắc đặt tên riêng. Ví dụ :
- Tên bảng phải bắt đầu bằng một chữ cái, có dưới 30 kí tự (chữ cái, chữ số,
và dấu ‘_’).
Chương 2. CÁC LỆNH ĐỊNH NGHĨA DỮ LIỆU (DDL)
PHẦN II- NGÔN NGỮ SQL
7
- Tên bảng phải khác tên gọi khác của bảng hay của khung nhìn và với tên
gọi đã dành riêng của SQL.
-
Không phân biệt hoa, thường.
2.2.3 Xác định các thuộc tính
Trong lệnh tạo bảng ta phải xác định cấu trúc của bảng. Cần phải xác định
mỗi thuộc tính của một định nghĩa kết thúc bằng dấu ‘,’ và gồm:
- Tên thuộc tính
- Loại dữ liệu và độ dài
-
Các ràng buộc có liên quan.
2.3 Các loại dữ liệu
Các loại dữ liệu được sử dụng còn tùy theo HQTCSDL.
2.3.1 Các loại dữ liệu được sử dụng trong MS Access
Kiểu dữ
liệu
Miêu tả Kích cỡ
Text Sử dụng ký tự hoặc kết hợp giữa ký
tự và số, như địa chỉ, hoặc những số
không yêu cầu tính toán, như số điện
thoại, mã nước, mã vùng…
Khả năng lưu trữ tối đa
(FieldSize)là 255 ký tự.
Memo Sử dụng khi bạn cần lưu trữ một
lượng thông tin lớn, ví dụ như trường
thông tin ghi chú về một cán bộ.
Khả năng lưu trữ tối đa là 65.536
ký tự.
Number Number: Sử dụng cho những dữ liệu
cần tính toán (loại trừ tính tiền, sử
dụng Currency Type).
Khả năng lưu trữ có thể là 1, 2, 4, 8
tuỳ thuộc bào kiểu dữ liệu ta chọn
(byte, integer, long integer, single,
douple, decimal), riêng đối với kiểu
dữ liệu ReplicationID (GUI) thi khả
năng lưu trữ là 16 byte.
Date/Time Lưu trữ thông tin về thời gian. Sử dụng 8 byte để lưu trữ.
Currency Sử dụng Currency cho các dữ liệu
cần tính toán. Phần thập phân có thể
có từ 1 đến 4 số.
Khả năng lưu trữ là 8 byte.
AutoNumber Đây là kiểu số tự động tăng với bước
tăn
g
là 1. Ta khôn
g
thể cậ
p
nhật lại
Sử dụng 4 byte để lưu trữ. Nếu
chọn kiểu dữ liệu là Re
p
licationID
Chương 2. CÁC LỆNH ĐỊNH NGHĨA DỮ LIỆU (DDL)
PHẦN II- NGÔN NGỮ SQL
8
được trường này. thì khả năng lưu trữ có thể lên tới
16 byte.
Yes/No Kiểu dữ liệu YES/NO chỉ chứa một
trong 2 giá trị (Yes/No, True/False,
On/ Off)Y
Sử dụng 1 bite để lưu trữ.
OLE Object Đối tượng (như là một văn bản trong
Microsoft Word, dữ liệu đồ hoạ, âm
thanh, hoặc một kiểu dữ liệu nhị
phân… )
Sử dụng 1 GB để lưu trữ (tuỳ thuộc
vào dung lượng của đĩa).
Ngoài ra còn 2 loại dữ liệu khác như Hyperlink, Lookup Wizard.
Đối với kiểu dữ liệu Number, ta còn có thể lựa chọ chi tiết:
Kiểu dữ liệu Miêu tả Độ
chính
xác thập
phân
Kích cỡ
Byte Lưu trữ số từ 0 đến 255 (không có phân số) Không 1 byte
Decimal Lưu trữ tối đa 10^38-1 28 12bytes
Integer Lưu trữ số từ -32,768 to 32,767 (không có
phân số).
Không 2 bytes
Long Integer Lưu trữ số từ -2,147,483,648 tới
2,147,483,647 (không có phân số).
None 4 bytes
Single Lưu trữ số từ -3.402823E38 to -1.401298E-
45 cho giá trị âm và từ 1.401298E-45 to
3.402823E38 giá trị dương.
7 4 bytes
Double
Lưu trữ số từ -1.79769313486231E308 tới -
4.94065645841247E-324 cho giá trị âm và
từ 4.94065645841247E–324 to
1.79769313486231E308 giá trị dương.
15 8 bytes
2.3.2 Các loại dữ liệu được sử dụng trong Oracle:
1. CHAR
Kiểu CHAR dùng để khai báo một chuỗi có chiều dài cố định, khi khai báo
biến hoặc cột kiểu CHAR với chiều dài chỉ định thì tất cả các mục tin của biến hay
cột này đều có cùng chiều dài được chỉ định. Các mục tin ngắn hơn ORACLE sẽ
tự động thêm vào các khoảng trống cho đủ chiều dài. ORACLE không cho phép
Chương 2. CÁC LỆNH ĐỊNH NGHĨA DỮ LIỆU (DDL)
PHẦN II- NGÔN NGỮ SQL
9
gán mục tin dài hơn chiều dài chỉ định đối với kiểu CHAR. Chiều dài tối đa cho
phép của kiểu CHAR là 255 byte
2. VARCHAR2
Kiểu VARCHAR2 dùng để khai báo chuỗi ký tự với chiều dài thay đổi. Khi
khai báo một biến hoặc cột kiểu VARCHAR2 phải chỉ ra chiều dài tối đa, các mục
tin chứa trong biến hay cột kiểu VARCHAR2 có chiều dài thực sự là chiều dài của
mục tin. ORACLE không cho phép gán mục tin dài hơn chiều dài tối đa chỉ định
đối với kiểu VARCHAR2. Chiều dài tối đa kiểu VARCHAR2 là 2000 byte
3. VARCHAR
Hiện tại ORACLE xem kiểu VARCHAR2 và VARCHAR là như nhau, tuy
nhiên ORACLE khuyên nên dùng VARCHAR2. ORACLE dự định trong tương
lai dùng kiểu VARCHAR để chứa các chuỗi với chiều dài biến đổi, nhưng trong
phép so sánh sẽ được chỉ định theo nhiều ngữ nghĩa khác nhau.
4. NUMBER
Kiểu số của ORACLE dùng để chứa các mục tin dạng số dương, số âm, số
với dấu chấm động.
NUMBER(p, s)
Trong đó:
p: số chữ số trước dấu chấm thập phân (precision), p từ 1 đến 38 chữ số
s: số các chữ số tính từ dấu chấm thập phân về bên phải (scale), s từ -84 đến
127
NUMBER(p) số có dấu chấm thập phân cố định với precision bằng p và
scale bằng 0
NUMBER số với dấu chấm động với precision bằng 38. Nhớ rằng scale
không được áp dụng cho số với dấu chấm động.
Ví dụ sau cho thấy cách thức ORACLE lưu trữ dữ liệu kiểu số tùy theo
cách định precision và scale khác nhau:
Dữ liệu thực Kiểu Lưu trữ
7456123.89 NUMBER 7456123.89
7456123.89 NUMBER(9) 7456123
7456123.89 NUMBER(9,2) 7456123.89
7456123.89 NUMBER(9,1) 7456123.8
7456123.89 NUMBER(6) Không hợp lệ
Chương 2. CÁC LỆNH ĐỊNH NGHĨA DỮ LIỆU (DDL)
PHẦN II- NGÔN NGỮ SQL
10
7456123.8 NUMBER(15,1) 7456123.8
7456123.89 NUMBER(7,-2) 7456100
7456123.89 NUMBER(-7,2) Không hợp lệ
5. FLOAT
Dùng để khai báo kiểu số dấu chấm động, với độ chính xác thập phân 38
hay độ chính xác nhị phân là 126.
FLOAT(b) Khai báo kiểu dấu chấm động với độ chính xác nhị phân là b, b
từ 1 đến 126. Có thể chuyển từ độ chính xác nhị phận sang độ chính xác thập phân
bằng cách nhân độ chính xác nhị phân với 0.30103.
6. LONG
Dùng để khai báo kiểu chuỗi ký tự với độ dài biến đổi, chiều dài tối đa của
kiểu LONG là 2 gigabyte. Kiểu LONG thường được dùng để chứa các văn bản.
Có một số hạn chế khi dùng kiểu LONG:
- Một table không thể chứa nhiều hơn một cột kiểu LONG.
- Dữ liệu kiểu LONG không thể tham gia vào các ràng buộc toàn vẹn, ngoại
trừ kiểm tra NULL và khác NULL.
- Không thể index một cột kiểu LONG.
- Không thể truyền tham số kiểu LONG cho hàm hoặc thủ tục.
- Các hàm không thể trả về dữ liệu kiểu LONG.
-
Trong câu lệnh SQL có truy cập các cột kiểu LONG, thì việc cập nhật hoặc
khóa các bảng chỉ cho phép trong cùng một CSDL
Ngoài ra, các cột kiểu LONG không được tham gia trong các thành phần
sau của câu lệnh SQL:
- Các mệnh đề WHERE, GROUP BY, ORDER BY, CONNECT BY hoặc
với tác tử DISTINCT trong câu lệnh SELECT.
- Các hàm sử dụng trong câu lệnh SQL như SUBSTR, INSTR.
-
Trong danh sách lựa chọn của câu lệnh SELECT có sử dụng mệnh đề
GROUP BY.
- Trong danh sách lựa chọn của câu hỏi con, câu hỏi có sử dụng các toán tử
tập hợp.
- Trong danh sách lựa chọn của câu lệnh CREATE TABLE AS SELECT
7. DATE
[...]... -0 2-0 4-1 981 0 3-1 2-1 981 1 7-1 2-1 980 0 9-1 2-1 982 1 2-0 1-1 983 ADD_MONTHS -0 2-0 7-1 981 0 3-0 3-1 982 1 7-0 3-1 981 0 9-0 3-1 983 1 2-0 4-1 983 ADD_MONTHS -0 2-0 1-1 981 0 3-0 9-1 981 1 7-0 9-1 980 0 9-0 9-1 982 1 2-1 0-1 982 Ví dụ hàm NEXT_DAY(d, char ) SELECT HIREDATE, NEXT_DAY(HIREDATE,’FRIDAY’), NEXT_DAY(HIREDATE,6) FROM EMP WHERE DEPTNO = 10; HIREDATE -1 7-1 1-1 981 0 9-0 6-1 981 2 3-0 1-1 982 NEXT_DAY(H -2 0-1 1-1 981 1 2-0 6-1 981... 1 2-0 6-1 981 2 9-0 1-1 982 NEXT_DAY(H -2 0-1 1-1 981 1 2-0 6-1 981 2 9-0 1-1 982 Ví dụ hàm LAST_DAY(d) SELECT SYSDATE, LAST_DAY(SYSDATE), HIREDATE, LAST_DAY(HIREDATE), LAST_DAY(’1 5-0 1-2 001’) FROM EMP WHERE DEPTNO =20; SYSDATE -2 8-0 3-2 001 2 8-0 3-2 001 2 8-0 3-2 001 2 8-0 3-2 001 2 8-0 3-2 001 LAST_DAY(S -3 1-0 3-2 001 3 1-0 3-2 001 3 1-0 3-2 001 3 1-0 3-2 001 3 1-0 3-2 001 HIREDATE -0 2-0 4-1 981 0 3-1 2-1 981 1 7-1 2-1 980 0 9-1 2-1 982... 3 1-0 3-2 001 HIREDATE -0 2-0 4-1 981 0 3-1 2-1 981 1 7-1 2-1 980 0 9-1 2-1 982 1 2-0 1-1 983 LAST_DAY(H -3 0-0 4-1 981 3 1-1 2-1 981 3 1-1 2-1 980 3 1-1 2-1 982 3 1-0 1-1 983 LAST_DAY(' -3 1-0 1-2 001 3 1-0 1-2 001 3 1-0 1-2 001 3 1-0 1-2 001 3 1-0 1-2 001 Một số hàm khác có thể áp dụng cho kiểu ngày: - ROUND(date1):Trả về ngày date 1 tại thời điểm giữa trưa 12:00 AM - ROUND(date1,’MONTH’:Nếu date 1 nằm trong nửa tháng đầu trả về ngày... MONTHS_BETWEEN('0 1-0 1-2 000','0 5-1 0-2 000') FROM EMP WHERE MONTHS_BETWEEN( SYSDATE,HIREDATE)>240; MONTHS_BETWEEN(SYSDATE,HIREDATE) TWEEN('0 1-0 1-2 000','0 5-1 0-2 000') -2 41.271055 -9 .1290323 241.206539 -9 .1290323 243.367829 -9 .1290323 PHẦN II- NGÔN NGỮ SQL 33 Chương 5 TRUY VẤN DỮ LIỆU (SELECT) Ví dụ hàm ADD_MONTHS(d,n) SELECT HIREDATE, ADD_MONTHS(HIRE,3), ADD_MONTHS(HIREDATE ,-3 ) FROM... SAL -5 000 2450 1300 SQRT(SAL) -7 0.7106781 49.4974747 36.0555128 SQRT(40) SQRT(COMM) -6 .32455532 6.32455532 6.32455532 Ví dụ hàm SIGN(n) SELECT SAL-NVL(COMM,0), SIGN(SAL-NVL(COMM,0)), NVL(COMM,0)-SAL, SIGN(NVL(COMM,0)-SAL) FROM EMP WHERE DEPTNO =30 SAL-NVL(COMM,0)SIGN(SAL-NVL(COMM,0))NVL(COMM,0)-SAL SIGN(NVL(COMM,0)-SAL) - - - 2850 1 -2 850 -1 -1 50 -1 150... ‘TD001’ PHẦN II- NGÔN NGỮ SQL 18 Chương 4 NGÔN NGỮ ĐIỂU KHIỂN (DCL) 4 Chương 4 NGÔN NGỮ ĐIỂU KHIỂN (DCL) Ngôn ngữ điều khiển được sử dụng trong việc cấp phát hay huỷ bỏ quyền của người sử dụng 4.1 Lệnh GRANT Câu lệnh này dùng để cấp phát quyền cho người sử dụng trên đối tượng Cơ sở dữ liệu hoặc quyền thực thi các câu lệnh SQL SERVER Cú pháp có 2 dạng như sau: Dạng 1: Cấp quyền đối với câu lệnh SQL GRANT... LOWER( 'SQL -sql course sql course sql course sql course Ví dụ hàm UPPER(char) SELECT ENAME FROM EMP WHERE ENAME = UPPER(‘Smith’); ENAME -SMITH Ví dụ hàm INITCAP(char) SELECT INITCAP(DNAME), INITCAP(LOC) FROM DEPT; INITCAP(DNAME) -Accounting Research Sales Operations INITCAP(LOC) New York Dallas Chicago Boston Ví dụ hàm CONCAT(char1, char2) PHẦN II- NGÔN NGỮ SQL 30 Chương 5 TRUY VẤN DỮ... - - 2850 1 -2 850 -1 -1 50 -1 150 1 1300 1 -1 300 -1 1500 1 -1 500 -1 950 1 -9 50 -1 750 1 -7 50 -1 5.5.3 Các hàm ký tự - CONCAT(char1, char2): Cho kết hợp của 2 chuỗi ký tự, tương tự như sử dụng toán tử - INITCAP(char): Cho chuỗi với ký tự đầu các từ là ký tự hoa - LOWER(char): Cho chuỗi ký tự viết thường (không viết hoa) - LPAD(char1, n [,char2]): Chochuỗi ký tự có chiều dài bằng n... CEIL (-1 1.1) FROM EMP WHERE SAL BETWEEN 3000 AND 5000; CEIL(SAL) CEIL(99.9) CEIL(101.76) CEIL (-1 1.1) 5000 100 102 -1 1 3000 100 102 -1 1 3000 100 102 -1 1 Ví dụ hàm FLOOR(n) SELECT FLOOR (SAL), FLOOR (99.9), FLOOR (101.76), FLOOR (-1 1.1) FROM EMP WHERE SAL BETWEEN 3000 AND 5000; FLOOR(SAL) FLOOR(99.9) FLOOR(101.76) FLOOR (-1 1.1) - - -5 000 99 101 -1 2 3000 99 101 -1 2... các đối tượng trong cơ sở dữ liệu GRANT ALL | permission [, ,permissionN] ON table_name |view_name [(column1 [, ,columnN])] |ON stored_procedure TO account [, ,accountN] Trong đó: - ALL: là từ khoá được sử dụng khi muốn cấp phát tất cả các quyền cho người sử dụng - Account: là tên tài khoản đăng nhận hệ thống - Permission: là quyền cấp phát cho người sử dụng trên đối tượng cơ sở dữ liệu: o Các quyền .
o
Giới thiệu
o Ngôn ngữ định nghĩa dữ liệu
o
Ngôn ngữ quản trị dữ liệu
o Ngôn ngữ điểu khiển dữ liệu
o Ngôn ngữ truy vấn dữ liệu
o Bài tập tổng.
5
- Ngôn ngữ SQL được sử dụng rất rộng rãi trong các Hệ quản trị cơ sở dữ
liệu.
-
SQL được chia 2 loại: SQL (ngôn ngữ hỏi) và PL /SQL (ngôn ngữ lập
trình)
Ngày đăng: 24/01/2014, 01:20
Xem thêm: Tài liệu Cơ sở dữ liệu - Ngôn ngữ SQL pptx, Tài liệu Cơ sở dữ liệu - Ngôn ngữ SQL pptx