intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Ngôn ngữ Transact-SQL

Chia sẻ: Nguyen Vu | Ngày: | Loại File: PPT | Số trang:46

94
lượt xem
8
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Một số tính năng chính của Transact-SQL Biến, kiểu dữ liệu, chú thích trong Transact-SQL Các hàm thống kê, biểu thức trong Transact-SQL Giải thích ngôn ngữ định nghĩa dữ liệu và các lệnh của ngôn ngữ định nghĩa dữ liệu Giải thích ngôn ngữ thao tác dữ liệu và các lệnh của ngôn ngữ thao tác dữ liệu Giải thích ngôn ngữ điều khiển dữ liệu và các lệnh của ngôn ngữ điều khiển dữ liệu Giải thích cách thực thi câu lệnh Transact-SQL: Một câu lệnh đơn lẻ Tập lệnh Scripts Liệt kê và giải thích những tính năng nâng cao của Transact-SQL ...

Chủ đề:
Lưu

Nội dung Text: Ngôn ngữ Transact-SQL

  1. Session 5 Ngôn ngữ Transact­SQL
  2. Mục tiêu bài học  Một số tính năng chính của Transact­SQL   Biến, kiểu dữ liệu, chú thích trong Transact­SQL  Các hàm thống kê, biểu thức trong Transact­SQL  Giải thích ngôn ngữ định nghĩa dữ liệu và các lệnh của ngôn ngữ  định nghĩa dữ liệu  Giải thích ngôn ngữ thao tác dữ liệu và các lệnh của ngôn ngữ  thao tác dữ liệu  Giải thích ngôn ngữ điều khiển dữ liệu và các lệnh của ngôn ngữ  điều khiển dữ liệu  Giải thích cách thực thi câu lệnh Transact­SQL:  Một câu lệnh đơn lẻ  Tập lệnh  Scripts  Liệt kê và giải thích những tính năng nâng cao của Transact­SQL  RDBMS and Data Management/Session 5/2 of 46
  3.  Ngôn ngữ Transact­SQL   Ngôn  ngữ  vấn  tin  có  cấu  trúc(SQL)  là  một  ngôn  ngữ  rất  phổ     Ví dụ về câu lệnh  Transact­SQL : dụng trong lĩnh vực cơ sở dữ liệu.  Microsoft xây dựng Transact­SQL dựa trên ngôn ngữ vấn tin có  SELECT * FROM Employee cấu trúc chuẩn (ANSI­SQL: là ngôn ngữ vấn tin có cấu trúc do  học viện quốc gia Hoa Kỳ đưa ra), ANSI­SQL thường được gọi là   Câu lệnh này truy lục tất cả các bản ghi từ bảng  SQL, ngôn ngữ này là cách thức chuẩn để giao tiếp với cơ sở dữ  Employee. liệu.   Nó  cung  cấp  một  ngôn  ngữ  bao  hàm  toàn  diện  để  định  nghĩa  bảng, chèn, xóa, thay đổi và truy cập dữ liệu trong bảng.  Transact­SQL  là  một  ngôn  ngữ  mạnh,  nó  hỗ  trợ  các  tính  năng  khác như: kiểu dữ liệu, đối tượng tạm thời, thủ tục lưu trữ và thủ  tục hệ thống.  Cho phép chúng ta định nghĩa đối tượng con trỏ, khai báo biến,  cấu trúc rẽ nhánh, vòng lặp, bẫy lỗi. RDBMS and Data Management/Session 5/3 of 46
  4. Biến trong Transact­SQL (1­3)  Biến là một đối tượng để lưu trữ một giá trị dữ liệu. Dữ liệu có thể được  truyền đến câu lệnh SQL bằng cách sử dụng tên biến. Tên biến cục bộ   phải khai báo bắt đầu bằng ký hiệu @ Biến cục bộ  Biến có thể phân thành 2 loại là biến cục bộ và biến toàn cục  dụng  tạm   Trong  Transact­SQL,  biến  cục  bộ  được  khai  báo  và  sử  thời khi thực thi câu lệnh SQL  Biến cục bộ Cú pháp: Biến toàn cục DECLARE { @local_variable [AS] data_type } trong đó,  @local_variable: tên biến cục bộ, phải bắt đầu bằng ký hiệu @ data_type:  kiểu dữ liệu hệ thống hoặc kiểu dữ liệu người dùng   RDBMS and Data Management/Session 5/4 of 46
  5. Biến trong Transact­SQL 2­3   Câu lệnh SET hoặc SELECT dùng để gán giá trị cho biến. Ví dụ sau minh họa cách sử dụng biến cục bộ để rút trích  dữ liệu từ bảng Employee Cú pháp:  Bảng  Employee  được  tạo  ra  trong  cơ  sở  dữ  liệu    AdventureWorks SET @local_variable = value OR SELECT @local_variable = value RDBMS and Data Management/Session 5/5 of 46
  6. Biến trong Transact­SQL 3­3 Ví dụ:  Biến toàn cục  Biến toàn cục là biến có sẵn và hệ thống quản lý  Biến toàn cục trong SQL Server được đặt tên bắt đầu bởi hai  ký hiệu @  Đây là biến toàn cục được sử dụng để xem thông tin phiên bản của   SQL Server RDBMS and Data Management/Session 5/6 of 46
  7. Các kiểu dữ liệu trong T­SQL Kiểu dữ liệu trong SQL Server 2005 :  Kiểu dữ liệu là thuộc tính định nghĩa loại dữ liệu mà đối  tượng có thể chứa  Các kiểu dữ liệu trong SQL Server 2005  bigint binary bit char Transact­SQL  bao  gồm  nhiều  kiểu  dữ  liệu  chẳng  hạn  như: varchar, text, int,.... cursor decimal float image   Các đối tượng dưới đây sử dụng kiểu dữ liệu: int nchar ntext numeric  Cột trong bảng và trong view  Tham số trong thủ tục lưu trữ nvarchar smalldatetime smallint smallmoney  Biến  Hàm trả về giá trị sql_variant text timestamp tinyint  Thủ tục lưu trữ trả về giá trị Varbinary uniqueidentifier xml  table varchar datetime money real RDBMS and Data Management/Session 5/7 of 46
  8. Chú thích trong Transact­SQL 1­ 2  Chú  thích  là  các  diễn  giải  trong  chương  trình(đoạn  lệnh) mà trình biên dịch sẽ bỏ qua    Mục  đích  của  việc  dùng  chú  thích  là  giải  thích  mã  lệnh để bảo trì hoặc sửa đổi về sau dễ dàng   Chúng  ta  có  thể  sử  dụng  chú  thích  trong  từng  câu  lệnh, tập lệnh hoặc dùng trong thủ tục lưu trữ   Microsoft SQL Server hỗ trợ hai loại chú thích sau:  ­­ (hai dấu trừ )  /* . . . */ (chú thích nhiều dòng ) RDBMS and Data Management/Session 5/8 of 46
  9. Chú thích trong Transact­SQL 2­ 2  ­­ (chú thích trên 1 dòng) Example: USE AdventureWorks -- Employee table contains the details of an employee. -- This statement retrieves all the rows of the table Employee. SELECT * FROM Employee  /* . . . */ (chú thích trên nhiều dòng) Example: /* Employee table contains the details of an employee. This statement retrieves all the rows of the table Employee.*/ SELECT * FROM Employee RDBMS and Data Management/Session 5/9 of 46
  10. Hàm trong Transact­SQL 1­8  Hàm  là  tập  lệnh  Transact­SQL  để  thực  hiện  công  việc  nào đó   Hàm  trong  SQL  làm  việc  với  dữ  liệu,  nhóm  dữ  liệu  để  trả về một kết quả mong đợi    Transact­SQL có các loại hàm sau:  Các hàm tập hợp  Hàm chuyển đổi kiểu dữ liệu  Hàm ngày tháng  Hàm toán học  Các hàm hệ thống  Hàm xếp hạng RDBMS and Data Management/Session 5/10 of 46
  11. Hàm trong Transact­SQL 2­8  Các hàm tập hợp  Transact­SQL hỗ trợ các hàm tập hợp để thống kê dữ liệu . Tên hàm  Giá trị trả về Ví dụ SUM(col_name) Hàm tính tổng, trả về tổng giá  SELECT SUM(OrderQty) AS Total FROM  trị của col_name        Purchasing.PurchaseOrderDetail  AVG(col_name) Trả tính giá trị trung bình  SELECT AVG(UnitPrice * OrderQty) AS  AveragePrice FROM  Purchasing.PurchaseOrderDetail   COUNT Đếm số bản ghi trong bảng  SELECT COUNT(*) AS ‘Number of Large  Orders’ FROM  Purchasing.PurchaseOrderDetail WHERE  OrderQty > 100  MAX(col_name) Trả về giá trị lớn nhất  SELECT MAX(OrderQty * UnitPrice) AS  ‘Largest Order’ FROM  Purchasing.PurchaseOrderDetail MIN(col_name) Trả về giá trị nhỏ nhất  SELECT MIN(OrderQty * UnitPrice) AS  ‘Smallest Order’ FROM  Purchasing.PurchaseOrderDetail RDBMS and Data Management/Session 5/11 of 46
  12. Hàm trong Transact­SQL 3­8  Hàm chuyển đổi kiểu dữ liệu  Hàm  chuyển  đổi  được sử dụng  để biến đổi giá  trị của một kiểu dữ liệu sang kiểu dữ liệu khác    Cú pháp:   CONVERT(datatype[(length)], expression [,style]) Trong đó, datatype là kiểu dữ liệu cần chuyển sang   length  chỉ ra độ dài của dữ liệu      expression chỉ ra tên cột, hằng số, hàm, biến hoặc là câu truy vấn con                       style chỉ ra kiểu hiển thị giá trị ngày tháng(dd/mm/yyyy hay mm/dd/yyyy)  RDBMS and Data Management/Session 5/12 of 46
  13. Hàm trong Transact­SQL 4­8  Các hàm ngày tháng Tất cả các DATEPART được hỗ trợ trong Transact­SQL :  Hàm  ngày  tháng  được  dùng  để Values tác  giá  trị  Datepart Abbreviation thao  ngày tháng  hh Hour 0­23  Minute Hàm  ngày  tháng  cho  phép  0­59 Mi chúng  ta  lấy  một  Second Ss 0­59 phần  của  giá  trị  ngày  tháng  như:  lấy  ngày,  Millisecond Ms 0­999 tháng hoặc năm  Day of Year Dy 1­366 DATEPART:  là  một  phần  giá  trị  ngày  tháng,   Day Dd 1­31 Week wk 1­53 được kết hợp sử dụng trong hàm ngày tháng để  Weekday dw 1­7 lấy một phần nào đó của giá trị ngày tháng   Month mm 1­12 Quarter qq 1­4 Year yy 1753­9999 RDBMS and Data Management/Session 5/13 of 46
  14. Hàm trong Transact­SQL 5­8 Bảng sau hiển thị các hàm được sử dụng trong SQL  Server 2005: Hàm Giá trị trả về Ví dụ GETDATE() Trả về ngày hiện tại của hệ  SELECT GETDATE() thống  DATEADD(datepart,number,date) Cộng vào thêm number giá trị  SELECT  vào date  DATEADD(mm,4,’01/01/99’) ­  returns 05/01/99 in the current  date format DATEDIFF(datepart,date1,date2) So sánh giữa hai giá trị ngày  SELECT  tháng  DATEDIFF(mm,’01/01/99’,’05/ 01/99’) ­ returns 4 DATENAME(datepart,date) Trả về giá trị ngày tháng dưới  SELECT  dạng chuỗi  DATENAME(dw,’01/01/2000’)  ­ returns Saturday DATEPART(datepart,date) Trả về một phần giá trị ngày  SELECT  tháng  DATEPART(day,’01/15/2000’)  ­ returns 15 RDBMS and Data Management/Session 5/14 of 46
  15. Hàm trong Transact­SQL 6­8 Các hàm toán học trong SQL Server 2005: Thực hiện các phép tính đại số trên trường dữ liệu/giá trị số  Hàm Các giá trị trả về Ví dụ ABS(num_expr) Trả về giá trị tuyệt đối  SELECT ABS(­43) return 43 CEILING(num_expr) Trả về giá trị nhỏ nhất lớn  SELECT CEILING(43.5) returns  hơn hoặc bằng num_expr  44 FLOOR(num_expr) Trả về giá trị lớn nhất nhỏ  SELECT FLOOR(43.5) returns  hơn hoặc bằng num_expr  43 POWER(num_expr,y) Hàm lũy thừa  SELECT POWER(5,2) returns  25 ROUND(num_expr,length) Hàm làm tròn  SELECT ROUND(43.543,1)  returns 43.500 SIGN(num_expr) Trả về +1 nếu num_expr là  SELECT SIGN(­43) returns ­1 số dương, ­1 nếu num_expr  là số âm, 0 nếu num_expr  bằng 0  SQRT(float_expr) Hàm căn bậc hai  SELECT SQRT(9) returns 3 RDBMS and Data Management/Session 5/15 of 46
  16. Hàm trong Transact­SQL 7­8  Hàm hệ thống  Trả về dữ liệu hệ thống hay thông tin cấu hình của SQL Server   . Hàm Giá trị trả về DB_ID([‘database_name’]) Trả về số định danh của cơ sở dữ  liệu  DB_NAME([database_id]) Trả về tên cơ sở dữ liệu  HOST_ID() Trả về số định danh cho máy  trạm  HOST_NAME() Trả về tên máy trạm  ISNULL(expr,value) Nếu expr là NULL thì được thay  thế bằng giá trị VALUE  OBJECT_ID(‘obj_name’) Số định danh đối tượng  OBJECT_NAME(object_id) Trả về tên đối tượng  USER_ID([‘user_name’]) Số định danh người dùng  USER_NAME([user_id]) Tên người dùng  RDBMS and Data Management/Session 5/16 of 46
  17. Hàm trong Transact­SQL 8­8  Hàm xếp hạng  Tạo  ra  dãy  số  tuần  tự,  việc  xếp  hạng  bây  giờ  dễ  dàng  thực  hiện  được trong SQL Server 2005   Bảng liệt kê các hàm xếp hạng trong SQL Server 2005: Hàm Giá trị trả về ROW_NUMBER() Hàm đánh số hàng, bắt đầu bằng  1 với hàng đầu tiên và 2, 3 với  các hàng tiếp theo  DENSE_RANK() Trả về giá trị xếp hạng giữa các  hàng mà không có khoảng cách  giữa các hạng  RDBMS and Data Management/Session 5/17 of 46
  18. Biểu thức trong Transact­SQL Bảng dưới đây mô tả chi tiết các toán tử khác nhau trong SQL  Biểu thức: Server 2005:  Biếu thức là kết hợp nhiều phần tử: toán tử, giá trị, định  Toán tử Mô tả danh  mà  SQL  Server  có  thể  ước  tính  được  để  trả  về  So sánh So sánh các giá trị dữ liệu  Logicl một kết quả.   Toán tử luận lí, dùng kiểm tra điều kiện đúng hay  sai. Các toán tử luận lí: AND, OR, NOT, LIKE,   Biểu thức có thể được sử dụng trong nhiều trường hợp  ANY, ALL hoặc IN  Số học Toán tử thực hiện các phép tính số học như: +,­,*,/  khi truy cập hoặc thay đổi dữ liệu. Toán tử một ngôi Toán tử thực hiện trên một toán hạng  Sử dụng toán tử trong biểu thức: Nhị phân Bitwise Các toán tử thực hiện trên các bit dữ liệu  Toán tử được dùng để thực hiện tính toán, so sánh,   Hàm ghép chuỗi Ghép hai chuỗi thành một chuỗi  ghép hoặc gán giá trị.  Toán tử gán Gán giá trị cho biến  RDBMS and Data Management/Session 5/18 of 46
  19. Ngôn ngữ định nghĩa dữ liệu (DDL) 1­4  Ngôn ngữ định nghĩa dữ liệu (DDL) là một trong số những loại   ngôn ngữ của SQL, được sử dụng để định nghĩa và quản lý tất  cả  các  thuộc  tính  của  một  cơ  sở  dữ  liệu,  bao  gồm  bố  cục  của  các hàng, định nghĩa cột, khóa, vị trí lưu file…  Các câu lệnh DDL được dùng để định nghĩa (xây dựng), thay đổi  hoặc xóa cấu trúc của các đối tượng cơ sở dữ liệu, chẳng hạn:  bảng, view, trigger, thủ tục lưu trữ, …    Các câu lệnh DDL có dạng như sau:  CREATE object_name  ALTER object_name  DROP object_name RDBMS and Data Management/Session 5/19 of 46
  20. Ngôn ngữ định nghĩa dữ liệu (DDL) 2­4  CREATE TABLE   Câu lệnh CREATE TABLE tạo ra một bảng trong một cơ sở  dữ liệu  Cú pháp: CREATE TABLE (Column_Name1 Data_Type, Column_Name2 Data_Type,..., Column_NameN Data_Type ) Ví dụ: CREATE TABLE Contacts (MailID varchar(20), Name text, TelephoneNumber int) RDBMS and Data Management/Session 5/20 of 46
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2