Bài giảng Cơ sở dữ liệu: Lập trình trong SQL server - ThS. Nguyễn Ngọc Quỳnh Châu
Số trang: 21
Loại file: pdf
Dung lượng: 403.38 KB
Lượt xem: 8
Lượt tải: 0
Xem trước 3 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Bài giảng "Cơ sở dữ liệu: Lập trình trong SQL server" cung cấp cho người học các kiến thức: Kiểu dữ liệu trong SQL server, hàm trong SQL server, biến cục bộ, vòng lặp while, từ khóa return, thủ tục nội tại,... Mời các bạn cùng tham khảo nội dung chi tiết.
Nội dung trích xuất từ tài liệu:
Bài giảng Cơ sở dữ liệu: Lập trình trong SQL server - ThS. Nguyễn Ngọc Quỳnh ChâuLẬP TRÌNH TRONG SQL-SERVER KIỂU DỮ LiỆU TRONG SQL-SERVERKiểu dữ liệu chỉ định kiểu của dữ liệu và dung lượng có thể lưu trữ của một đối tượngSQL Server hỗ trợ một số kiểu dữ liệu được cài đặt sẵn như sau: Kiểu dữ liệu Kích Miền giá trị dữ liệu lưu trữ thước> Các kiểu dữ liệu dạng số nguyênInt 4 bytes từ-2,147,483,648đến +2,147,483,647SmallInt 2 bytes từ -32768 đến +32767TinyInt 1 byte từ 0 đến 255Bit 1 byte 0, 1 hoặc Null> Các kiểu dữ liệu dạng số thập phânDecimal, 17bytes từ -10^38 đến +10^38Numeric> Các kiểu dữ liệu dạng số thựcFloat 8 bytes từ -1.79E+308 đến +1.79E+308Real 4 bytes từ -3.40E+38 đến +3.40E+38> Các kiểu dữ liệu dạng chuỗi có độ dài cố địnhChar N bytes từ 1 đến 8000 ký tự, mỗi ký tự là một byte> Các kiểu dữ liệu dạng chuỗi có độ dài biến đổiVarChar N bytes từ 1 đến 8000 ký tự, mỗi ký tự là 1 byte> Các kiểu dữ liệu dạng chuỗi dùng font chữ UnicodeNChar 2*N bytes từ 1 đến 4000 ký tự, mỗi ký tự là 2 bytesNVarChar 2*N bytes từ 1 đến 4000 ký tự, mỗi ký tự là 2 bytes> Các kiểu dữ liệu dạng tiền tệMoney 8 bytes từ -922,337,203,685,477.5808 đến +922,337,203,685,477.5807SmallMoney 4 bytes từ -214,748.3648 đến + 214,748.3647> Các kiểu dữ liệu dạng ngày và giờDateTime 8 bytes từ01/01/1753đến31/12/9999SmallDateTime 4 bytes từ01/01/1900đến06/06/2079> Các kiểu dữ liệu dạng chuỗi nhị phân (Binary String)Binary N bytes từ 1 đến 8000 bytesVarBinary N bytes từ 1 đến 8000 bytesImage N bytes từ 1 đến 2,147,483,647 bytes HÀM TRONG SQL SERVERAggregate functions: sum(), min(), max(), avg()Hàm chuyển đổi: convert() declare @x money set @x=30000 select Luong nhan vien A la: + convert(char(10), @x) Các hàm ngày thángGetdate(): cho biết ngày tháng hiện tạiDateadd(datepart, number, date): để thêm ngày/tháng/năm vào dateDatediff(datepart, date1, date2): tính khoảng cách của date2-date1Datename(datepart, date): cho biết tên tiếng Anh của ngày thángDatepart(datepart, date): BiẾN CỤC BỘBiến là một đối tượng để chứa dữ liệuGọi là biến cục bộ vì phạm vi hoạt động của biến chỉ nằm trong một thủ tục, một hàm hoặc một lô có chứa lệnh khai báo biến đó.Một lô lệnh (batch) là các câu lệnh liên tiếp nhau và được kết thúc bằng từ khóa GO: Những câu lệnh nằm trong cùng batch sẽ được xử lý cùng lúc Lệnh GO dùng để gửi tín hiệu đến cho SQL SERVER biết đã kết thúc một batch job và yêu cầu thực thi.Tên các biến cục bộ phải bắt đầu bằng @Cách khai báo: DECLARE @tên_biến kiểu dữ liệuVí dụ: DECLARE @hoten nchar(20) DECLARE @diachi nchar(50) DECLARE @luong float, @ngaysinh datetimeChú ý: kiểu dữ liệu text, ntext hoặc image không được chấp nhận khi khai báo biếnTừ khóa SET hay SELECT được dùng để gán giá trị cho biếnCú pháp SET @tên_biến = giá_trịhoặc SELECT @tên_biến = giá_trị Ví dụ: SET @hoten=N’Nguyễn Thị Thái’Ví dụ: Tính lương trung bình của các nhân viên của phòng ‘KT’DECLARE @luong_tb floatSELECT @luong_tb=avg(luong) FROM NHANVIEN WHERE MAP=‘KT’Để hiển thị giá trị của biến: PRINT @tên_biếnVí dụ: tính lương cao nhất, lương thấp nhất của phòng ‘KT’. Hiển thị kết quả ra màn hình DECLARE @min_luong float, @max_luong float SELECT @min_luong=min(luong), @max_luong=max(luong) FROM NHANVIEN PRINT ‘Luong cao nhat la: ‘ + convert (char(10), @min_luong) PRINT @max_luong CÂU LỆNH IF…ELSECú pháp IF điều_kiện BEGIN tập_lệnh END ELSE BEGIN tập_lệnh ENDCác toán tử logic: AND, OR, NOTCác toán tử so sánh: >, =, declare @luong1 float, @luong2 floatselect @luong1= AVG(luong) from Nhanvien where MaDV=0001select @luong2= AVG(luong)from Nhanvien where MaDV=0002if @luong1>@luong2 begin print Luong trung binh don vi 1 lon hon don vi 2 la: print abs(@luong1-@luong2) endelse print Luong trung binh don vi 2 lon hon don vi 1 la: + convert(chAR(20), abs(@luong1-@luong2))GO VÒNG LẶP WHILECú pháp: WHILE điều_kiện BEGIN tập_lệnh ENDTập lệnh sẽ được thực hiện cho đến khi biểu thức điều kiện có giá trị FALSECó thể dùng lệnh BREAK để thoát khỏi vòng lặpVí dụ DECLARE @count int =10 WHILE @count>=0 BEGIN PRINT ‘Hello’ SET @count=@count-1 if @count TỪ KHÓA RETURNTừ ...
Nội dung trích xuất từ tài liệu:
Bài giảng Cơ sở dữ liệu: Lập trình trong SQL server - ThS. Nguyễn Ngọc Quỳnh ChâuLẬP TRÌNH TRONG SQL-SERVER KIỂU DỮ LiỆU TRONG SQL-SERVERKiểu dữ liệu chỉ định kiểu của dữ liệu và dung lượng có thể lưu trữ của một đối tượngSQL Server hỗ trợ một số kiểu dữ liệu được cài đặt sẵn như sau: Kiểu dữ liệu Kích Miền giá trị dữ liệu lưu trữ thước> Các kiểu dữ liệu dạng số nguyênInt 4 bytes từ-2,147,483,648đến +2,147,483,647SmallInt 2 bytes từ -32768 đến +32767TinyInt 1 byte từ 0 đến 255Bit 1 byte 0, 1 hoặc Null> Các kiểu dữ liệu dạng số thập phânDecimal, 17bytes từ -10^38 đến +10^38Numeric> Các kiểu dữ liệu dạng số thựcFloat 8 bytes từ -1.79E+308 đến +1.79E+308Real 4 bytes từ -3.40E+38 đến +3.40E+38> Các kiểu dữ liệu dạng chuỗi có độ dài cố địnhChar N bytes từ 1 đến 8000 ký tự, mỗi ký tự là một byte> Các kiểu dữ liệu dạng chuỗi có độ dài biến đổiVarChar N bytes từ 1 đến 8000 ký tự, mỗi ký tự là 1 byte> Các kiểu dữ liệu dạng chuỗi dùng font chữ UnicodeNChar 2*N bytes từ 1 đến 4000 ký tự, mỗi ký tự là 2 bytesNVarChar 2*N bytes từ 1 đến 4000 ký tự, mỗi ký tự là 2 bytes> Các kiểu dữ liệu dạng tiền tệMoney 8 bytes từ -922,337,203,685,477.5808 đến +922,337,203,685,477.5807SmallMoney 4 bytes từ -214,748.3648 đến + 214,748.3647> Các kiểu dữ liệu dạng ngày và giờDateTime 8 bytes từ01/01/1753đến31/12/9999SmallDateTime 4 bytes từ01/01/1900đến06/06/2079> Các kiểu dữ liệu dạng chuỗi nhị phân (Binary String)Binary N bytes từ 1 đến 8000 bytesVarBinary N bytes từ 1 đến 8000 bytesImage N bytes từ 1 đến 2,147,483,647 bytes HÀM TRONG SQL SERVERAggregate functions: sum(), min(), max(), avg()Hàm chuyển đổi: convert() declare @x money set @x=30000 select Luong nhan vien A la: + convert(char(10), @x) Các hàm ngày thángGetdate(): cho biết ngày tháng hiện tạiDateadd(datepart, number, date): để thêm ngày/tháng/năm vào dateDatediff(datepart, date1, date2): tính khoảng cách của date2-date1Datename(datepart, date): cho biết tên tiếng Anh của ngày thángDatepart(datepart, date): BiẾN CỤC BỘBiến là một đối tượng để chứa dữ liệuGọi là biến cục bộ vì phạm vi hoạt động của biến chỉ nằm trong một thủ tục, một hàm hoặc một lô có chứa lệnh khai báo biến đó.Một lô lệnh (batch) là các câu lệnh liên tiếp nhau và được kết thúc bằng từ khóa GO: Những câu lệnh nằm trong cùng batch sẽ được xử lý cùng lúc Lệnh GO dùng để gửi tín hiệu đến cho SQL SERVER biết đã kết thúc một batch job và yêu cầu thực thi.Tên các biến cục bộ phải bắt đầu bằng @Cách khai báo: DECLARE @tên_biến kiểu dữ liệuVí dụ: DECLARE @hoten nchar(20) DECLARE @diachi nchar(50) DECLARE @luong float, @ngaysinh datetimeChú ý: kiểu dữ liệu text, ntext hoặc image không được chấp nhận khi khai báo biếnTừ khóa SET hay SELECT được dùng để gán giá trị cho biếnCú pháp SET @tên_biến = giá_trịhoặc SELECT @tên_biến = giá_trị Ví dụ: SET @hoten=N’Nguyễn Thị Thái’Ví dụ: Tính lương trung bình của các nhân viên của phòng ‘KT’DECLARE @luong_tb floatSELECT @luong_tb=avg(luong) FROM NHANVIEN WHERE MAP=‘KT’Để hiển thị giá trị của biến: PRINT @tên_biếnVí dụ: tính lương cao nhất, lương thấp nhất của phòng ‘KT’. Hiển thị kết quả ra màn hình DECLARE @min_luong float, @max_luong float SELECT @min_luong=min(luong), @max_luong=max(luong) FROM NHANVIEN PRINT ‘Luong cao nhat la: ‘ + convert (char(10), @min_luong) PRINT @max_luong CÂU LỆNH IF…ELSECú pháp IF điều_kiện BEGIN tập_lệnh END ELSE BEGIN tập_lệnh ENDCác toán tử logic: AND, OR, NOTCác toán tử so sánh: >, =, declare @luong1 float, @luong2 floatselect @luong1= AVG(luong) from Nhanvien where MaDV=0001select @luong2= AVG(luong)from Nhanvien where MaDV=0002if @luong1>@luong2 begin print Luong trung binh don vi 1 lon hon don vi 2 la: print abs(@luong1-@luong2) endelse print Luong trung binh don vi 2 lon hon don vi 1 la: + convert(chAR(20), abs(@luong1-@luong2))GO VÒNG LẶP WHILECú pháp: WHILE điều_kiện BEGIN tập_lệnh ENDTập lệnh sẽ được thực hiện cho đến khi biểu thức điều kiện có giá trị FALSECó thể dùng lệnh BREAK để thoát khỏi vòng lặpVí dụ DECLARE @count int =10 WHILE @count>=0 BEGIN PRINT ‘Hello’ SET @count=@count-1 if @count TỪ KHÓA RETURNTừ ...
Tìm kiếm theo từ khóa liên quan:
Bài giảng Cơ sở dữ liệu Cơ sở dữ liệu Hệ quản trị cơ sở dữu liệu Lập trình trong SQL serverGợi ý tài liệu liên quan:
-
62 trang 399 3 0
-
Đề thi kết thúc học phần học kì 2 môn Cơ sở dữ liệu năm 2019-2020 có đáp án - Trường ĐH Đồng Tháp
5 trang 376 6 0 -
Giáo trình Cơ sở dữ liệu: Phần 2 - TS. Nguyễn Hoàng Sơn
158 trang 287 0 0 -
13 trang 283 0 0
-
Phân tích thiết kế hệ thống - Biểu đồ trạng thái
20 trang 278 0 0 -
Tài liệu học tập Tin học văn phòng: Phần 2 - Vũ Thu Uyên
85 trang 249 1 0 -
Đề cương chi tiết học phần Quản trị cơ sở dữ liệu (Database Management Systems - DBMS)
14 trang 240 0 0 -
8 trang 185 0 0
-
Giáo trình về dữ liệu và các mô hình cơ sở dữ liệu
62 trang 177 0 0 -
Giáo trình Cơ sở dữ liệu: Phần 2 - Đại học Kinh tế TP. HCM
115 trang 175 0 0