Bài giảng Chuyên đề hệ quản trị cơ sở dữ liệu - Phần 2: SQL trong MySQL - Bùi Thị Hồng Phúc

pdf 85 trang phuongnguyen 1741
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Chuyên đề hệ quản trị cơ sở dữ liệu - Phần 2: SQL trong MySQL - Bùi Thị Hồng Phúc", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfbai_giang_chuyen_de_he_quan_tri_co_so_du_lieu_phan_2_sql_tro.pdf

Nội dung text: Bài giảng Chuyên đề hệ quản trị cơ sở dữ liệu - Phần 2: SQL trong MySQL - Bùi Thị Hồng Phúc

  1. SQL trong MySQL Để thực hiện nội dung phần này, đầu tiên sử dụng MySQL Query Browser để kết nối đến Server
  2. Nội dung Kết nối đến Server Các Query (SQL) thao tác trên Database Các Query (SQL) thao tác trên bảng Các Query (SQL) quản lý người dùng
  3. Kết nối đến Server
  4. Kết nối đến Server Sử dụng MySQL Command Line Client Sử dụng MySQL Query Browser
  5. MySQL Command Line Client  Vào Start/All programs/MySQL/MySQL Server 5.1 (tùy theo phiên bản cài đặt)/MySQL Command Line Client Nhập Password của User root
  6. MySQL Query Browser (1) Vào Start/All programs/MySQL/MySQL Query Browser 1 6 2 3 4 5 7
  7. MySQL Query Browser (1) Tên kết nối Tên Server muốn kết nối đến Username của người dùng Password của người dùng CSDL mặc định khi kết nối đến Tạo một kết nối lưu trữ sẵn Gửi thông tin yêu cầu kết nối.
  8. Các Query (SQL) thao tác trên Database
  9. Truy vấn thông tin chung select version()// để xem phiên bản MySQL đang sử dụng
  10. Select user()// xem thông tin người dùng hiện đang kết nối
  11. Xem thông tin tất cả người dùng Chọn mysql làm cơ sở mặc định sau đó thực hiện câu truy vấn như hình bên dưới
  12. Tạo một CSDL mới
  13. Xem thông tin CSDL hiện có
  14. Xoá CSDL hiện có Cú pháp: DROP DATABASE database_name
  15. Các query (SQL) thao tác trên bảng
  16. Hiển thị các bảng hiện có show tables;
  17. DDL (Data Definition Language)
  18. Tạo bảng mới CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name (create_definition, ) // định nghĩa bảng [table_options] // tùy chọn bảng [partition_options] // tùy chọn phân vùng
  19. Ví dụ 1 B1: Chọn CSDL cần tạo bảng B2: Nhập vào đoạn lệnh SQL để tạo bảng
  20. Ví dụ 2 CREATE TABLE sinhvien ( id_sv int primary key, ho_sv varchar(50), ngay_sinh datetime, noi_sinh varchar(100), dchi varchar(100), hoc_bong double, id_khoa int, constraint pk_sinhvien_khoa foreign key (id_khoa) references dmkhoa(id_khoa));
  21. Ví dụ 3 CREATE TABLE diem_thi ( id_sv int, id_mon int, diem float, constraint pk_diem_thi primary key (id_sv, id_mon), constraint pk_dthi_sv foreign key (id_sv) references sinhvien(id_sv), constraint pk_dthi_mh foreign key (id_mon) references monhoc (id_mon) );
  22. SQL ALTER TABLE
  23. Thêm một cột mới Cú pháp: ALTER TABLE table_name ADD column_name datatype Ví dụ: ALTER TABLE Persons ADD DateOfBirth date
  24. Thay đổi kiểu dữ liệu Cú pháp: ALTER TABLE table_name MODIFY COLUMN column_name datatype Ví dụ: ALTER TABLE Persons MODIFY COLUMN DateOfBirth year
  25. Xoá một cột Cú pháp: ALTER TABLE table_name DROP COLUMN column_name Ví dụ: ALTER TABLE Persons DROP COLUMN DateOfBirth
  26. SQL CONSTRAINTS • Ràng buộc được sử dụng để giới hạn các kiểu dữ liệu được nhập vào bảng. • Được thiết đặt ở câu lệnh Create Table hoặc Alter Table • Các constraints thường được sử dụng: – NOT NULL – UNIQUE – PRIMARY KEY – FOREIGN KEY – CHECK – DEFAULT
  27. Ràng buộc Not Null
  28. Thiết đặt constraint Not Null Mặc định một cột trên bảng có thể giữ giá trị Null Vd1: CREATE TABLE Persons ( P_Id int NOT NULL, LastName varchar(255) NOT NULL, FirstName varchar(255), Address varchar(255), City varchar(255) )
  29. Ràng buộc duy nhất (Unique Constraint)
  30. Thiết đặt constraint Unique • Ràng buộc tính duy nhất cho một cột hoặc một tập hợp các cột. • Một ràng buộc khoá chính tự động có ràng buộc duy nhất được định nghĩa trên nó. • Có thể có nhiều ràng buộc duy nhất trên một bảng, nhưng chỉ có một ràng buộc khoá chính
  31. Unique Constraint on Create Table Ví dụ: CREATE TABLE Persons ( P_Id int NOT NULL, LastName varchar(255) NOT NULL, FirstName varchar(255), Address varchar(255), City varchar(255), UNIQUE (P_Id) )
  32. Unique Constraint on Create Table Ví dụ: CREATE TABLE Persons ( P_Id int NOT NULL, LastName varchar(255) NOT NULL, FirstName varchar(255), Address varchar(255), City varchar(255), CONSTRAINT uc_PersonID UNIQUE (P_Id,LastName) )
  33. Unique Constraint on Alter Table Ví dụ 1: ALTER TABLE Persons ADD UNIQUE (P_Id) Ví dụ 2: ALTER TABLE Persons ADD CONSTRAINT uc_PersonID UNIQUE (P_Id,LastName)
  34. To DROP a UNIQUE Constraint Ví dụ: ALTER TABLE Persons DROP INDEX uc_PersonID
  35. Ràng buộc khoá chính (PRIMARY KEY Constraint)
  36.  Dùng để xác định duy nhất một mẫu tin trong bảng.  Khoá chính phải chứa giá trị duy nhất.  Một cột khoá chính không được chứa giá trị Null.  Mỗi một bảng nên có và chỉ cần một khoá chính.
  37. SQL PRIMARY KEY Constraint on CREATE TABLE Ví dụ 1: CREATE TABLE Persons ( P_Id int NOT NULL, LastName varchar(255) NOT NULL, FirstName varchar(255), Address varchar(255), City varchar(255), PRIMARY KEY (P_Id) )
  38. SQL PRIMARY KEY Constraint on CREATE TABLE Ví dụ 2: CREATE TABLE Persons ( P_Id int NOT NULL, LastName varchar(255) NOT NULL, FirstName varchar(255), Address varchar(255), City varchar(255), CONSTRAINT pk_PersonID PRIMARY KEY (P_Id,LastName) )
  39. SQL PRIMARY KEY Constraint on ALTER TABLE Ví dụ 1: ALTER TABLE Persons ADD PRIMARY KEY (P_Id) Ví dụ 2: ALTER TABLE Persons ADD CONSTRAINT pk_PersonID PRIMARY KEY (P_Id,LastName)
  40. To DROP a PRIMARY KEY Constraint Ví dụ 1: ALTER TABLE Persons DROP PRIMARY KEY
  41. Ràng buộc khoá ngoại SQL FOREIGN KEY Constraint
  42. SQL FOREIGN KEY Constraint on CREATE TABLE Ví dụ 1: CREATE TABLE Orders ( O_Id int NOT NULL, OrderNo int NOT NULL, P_Id int, PRIMARY KEY (O_Id), FOREIGN KEY (P_Id) REFERENCES Persons(P_Id) )
  43. SQL FOREIGN KEY Constraint on CREATE TABLE Ví dụ 2: CREATE TABLE Orders ( O_Id int NOT NULL, OrderNo int NOT NULL, P_Id int, PRIMARY KEY (O_Id), CONSTRAINT fk_PerOrders FOREIGN KEY (P_Id) REFERENCES Persons(P_Id) )
  44. SQL FOREIGN KEY Constraint on ALTER TABLE Ví dụ 1: ALTER TABLE Orders ADD FOREIGN KEY (P_Id) REFERENCES Persons(P_Id) Ví dụ 2: ALTER TABLE Orders ADD CONSTRAINT fk_PerOrders FOREIGN KEY (P_Id) REFERENCES Persons(P_Id)
  45. To DROP a FOREIGN KEY Constraint Ví dụ: ALTER TABLE Orders DROP FOREIGN KEY fk_PerOrders
  46. SQL CHECK Constraint
  47. SQL CHECK Constraint on CREATE TABLE Ví dụ 1: CREATE TABLE Persons ( P_Id int NOT NULL, LastName varchar(255) NOT NULL, FirstName varchar(255), Address varchar(255), City varchar(255), CHECK (P_Id>0) )
  48. SQL CHECK Constraint on CREATE TABLE Ví dụ 2: CREATE TABLE Persons ( P_Id int NOT NULL, LastName varchar(255) NOT NULL, FirstName varchar(255), Address varchar(255), City varchar(255), CONSTRAINT chk_Person CHECK (P_Id>0 AND City='Sandnes') )
  49. SQL CHECK Constraint on ALTER TABLE Ví dụ 1: ALTER TABLE Persons ADD CHECK (P_Id>0) Ví dụ 2: ALTER TABLE Persons ADD CONSTRAINT chk_Person CHECK (P_Id>0 AND City='Sandnes')
  50. SQL DEFAULT Constraint
  51. SQL DEFAULT Constraint on CREATE TABLE Ví dụ 1: CREATE TABLE Persons ( P_Id int NOT NULL, LastName varchar(255) NOT NULL, FirstName varchar(255), Address varchar(255), City varchar(255) DEFAULT 'Sandnes' )
  52. SQL DEFAULT Constraint on CREATE TABLE Ví dụ 2: CREATE TABLE Orders ( O_Id int NOT NULL, OrderNo int NOT NULL, P_Id int, OrderDate date DEFAULT GETDATE() )
  53. SQL DEFAULT Constraint on ALTER TABLE Ví dụ: ALTER TABLE Persons ALTER City SET DEFAULT 'SANDNES'
  54. To DROP a DEFAULT Constraint Ví dụ: ALTER TABLE Persons ALTER City DROP DEFAULT
  55. Xem cấu trúc bảng describe table_name; Show columns from table_name; Vd: describe mon_hoc; Cấu trúc bảng mon_hoc
  56. DML (Data Manipulation Language)
  57. Thêm dữ liệu vào bảng Cú pháp: Chèn mẫu tin với tất cả các trường trong bảng Chèn mẫu tin với các giá trị chỉ định
  58. Thêm dữ liệu vào bảng Ví dụ:
  59. Xem thông tin bảng Cú pháp: Chỉ định các cột cần hiển thị Hiển thị tất cả các cột của bảng
  60. Xem thông tin bảng Thực thi câu Query Xem kết quả bảng dữ liệu Vùng hiển thị kết quả
  61. Alias: Bí danh  Đặt bí danh (tên khác) cho bảng hoặc cột.  Sử dụng cho các cột hoặc bảng có tên dài và phức tạp.  Bí danh thường ngắn.  Cú pháp đặt bí danh cho bảng: SELECT column_name(s) FROM table_name AS alias_name
  62. Alias: Bí danh  Cú pháp đặt bí danh cho cột: SELECT column_name AS alias_name FROM table_name
  63. Alias: Bí danh – ví dụ  Ví dụ 1: SELECT po.OrderID, p.LastName, p.FirstName FROM Persons AS p,Product_Orders AS po WHERE p.LastName='Hansen' AND p.FirstName='Ola‘  Ví dụ 2: không đặt bí danh SELECT Product_Orders.OrderID, Persons.LastName, Persons.FirstName FROM Persons,Product_Orders WHERE Persons.LastName='Hansen' AND Persons.FirstName='Ola'
  64. SQL JOIN  Từ khoá Join được sử dụng để truy vấn dữ liệu từ 2 bảng trở lên dựa trên mối quan hệ được thiết lập giữa các bảng.  Các kiểu Join: Join: trả về dòng khi có ít nhất một giá trị chung trong cả 2 bảng. Left Join: trả về tất cả các dòng ở bảng bên trái ngay cả khi nó không có mẫu tin tương ứng với bảng bên phải. Right Join: Trả về tất cả các dòng ở bảng bên phải ngay cả khi nó không có mẫu tin tương ứng với bảng bên trái. Full Join: trả về tất cả các dòng là kết quả của tích đề các
  65. Inner Join Kiểu kết nối giống với Join  Cú pháp: SELECT column_name(s) FROM table_name1 INNER JOIN table_name2 ON table_name1.column_name=table_name2.column_name  Ví dụ: SELECT Persons.LastName, Persons.FirstName,Orders.OrderNo FROM Persons INNER JOIN Orders ONPersons.P_Id=Orders.P_Id ORDER BY Persons.LastName
  66. Left Join  Cú pháp: SELECT column_name(s) FROM table_name1 LEFT JOIN table_name2 ON table_name1.column_name=table_name2.column_name  Ví dụ: SELECT Persons.LastName, Persons.FirstName,Orders.OrderNo FROM Persons LEFT JOIN Orders ON Persons.P_Id=Orders.P_Id ORDER BY Persons.LastName
  67. Right Join  Cú pháp: SELECT column_name(s) FROM table_name1 RIGHT JOIN table_name2 ON table_name1.column_name=table_name2.column_name  Ví dụ: SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo FROM Persons RIGHT JOIN Orders ON Persons.P_Id=Orders.P_Id ORDER BY Persons.LastName
  68. FULL JOIN  Cú pháp: SELECT column_name(s) FROM table_name1 FULL JOIN table_name2 ON table_name1.column_name=table_name2.column_name  Ví dụ: SELECT Persons.LastName, Persons.FirstName,Orders.OrderNo FROM Persons FULL JOIN Orders ON Persons.P_Id=Orders.P_Id ORDER BY Persons.LastName
  69. SQL UNION Operator Dùng để nối 2 hoặc nhiều tập kết quả của câu lệnh Select lại với nhau Lưu ý:  Mỗi câu lệnh Select trong phép toán Union phải có số cột giống nhau.  Các cột cùng vị trí phải có cùng kiểu dữ liệu, các cột trong mỗi câu lệnh Select phải có cùng thứ tự cột.  Tên các cột trong tập kết quả được đặt theo câu lệnh Select đầu tiên tham gia vào phép hợp.
  70. SQL UNION Operator  Cú pháp: // không hiển thị các dòng trùng SELECT column_name(s) FROM table_name1 UNION SELECT column_name(s) FROM table_name2 // cho phép hiển thị các dòng trùng nhau SELECT column_name(s) FROM table_name1 UNION ALL SELECT column_name(s) FROM table_name2
  71. SQL UNION Operator – Ví dụ Ví dụ 1: SELECT E_Name FROM Employees_Norway UNION SELECT E_Name FROM Employees_USA Ví dụ 2: SELECT E_Name FROM Employees_Norway UNION ALL SELECT E_Name FROM Employees_USA
  72. SQL SELECT INTO Statement  Lấy dữ liệu từ một bảng và chèn dữ liệu đó vào một bảng khác.  Sử dụng để tạo ra các bảng coppies dữ liệu.
  73. SQL SELECT INTO Statement  Cú pháp 1: SELECT * INTO new_table_name [IN externaldatabase] FROM old_tablename  Ví dụ 1: SELECT * INTO Persons_Backup FROM Persons
  74. SQL SELECT INTO Statement  Cú pháp 2: SELECT column_name(s) INTO new_table_name [IN externaldatabase] FROM old_tablename  Ví dụ 2: SELECT LastName,FirstName INTO Persons_Backup FROM Persons
  75. SQL SELECT INTO Statement  Ví dụ 3: SELECT LastName,Firstname INTO Persons_Backup FROM Persons WHERE City='Sandnes'  Ví dụ 4: SELECT Persons.LastName,Orders.OrderNo INTO Persons_Order_Backup FROM Persons INNER JOIN Orders ON Persons.P_Id=Orders.P_Id
  76. Hiển thị giá trị phân biệt
  77. Chọn các mẫu tin thỏa điều kiện Cú pháp: Sử dụng mệnh đề WHERE để chọn lấy những mẫu tin thỏa điều kiện
  78. Chọn các mẫu tin thỏa điều kiện Vd: Hiển thông tin thông tin chi tiết về môn 'Tóan rời rạc'
  79. Toán tử AND & OR Chọn các mẫu tin với hơn 1 điều kiện: đk1 AND đk2 hoặc đk1 OR đk2 AND: hiển thị mẫu tin khi đk1 và đk2 là true OR: hiển thị mẫu tin khi đk1 là true hoặc đk2 là true
  80. Toán tử AND & OR – ví dụ Vd: tìm thông tin của môn ' toán rời rạc' và có số tiết là 60 Vd: tìm thông tin của môn 'toán rời rạc' hoặc môn có số tiết là 60
  81. Sắp xếp kết quả Cú pháp: ASC: sắp xếp theo thứ tự tăng (mặc định) DESC: sắp xếp theo thứ tự giảm
  82. Cập nhật giá trị cho mẫu tin Cú pháp: Lưu ý: mệnh đề WHERE xác định mẫu tin thỏa điều kiện sẽ được cập nhật. Nếu không có toàn bộ các mẫu tin trong bảng sẽ được cập nhật
  83. Cập nhật giá trị cho mẫu tin Vd: Chỉnh sửa số tiết của môn ' toán rời rạc' thành 70
  84. Xóa mẫu tin Cú pháp: Lưu ý: Mệnh đề WHERE dùng để chỉ ra mẫu tin thỏa điều kiện sẽ được xóa. Nếu không có mệnh đề WHERE tất cả các mẫu tin của bảng sẽ được xóa.
  85. Xóa mẫu tin Vd: xóa môn ' toán rời rạc'