Bài giảng SQL trong MySQL
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
Tóm tắt nội dung Bài giảng SQL trong MySQL, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
E TABLE Persons ( P_Id int NOT NULL, LastName varchar(255) NOT NULL, FirstName varchar(255), Address varchar(255), City varchar(255) ) Ràng buộc duy nhất (Unique Constraint) 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 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) ) 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) ) 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) To DROP a UNIQUE Constraint Ví dụ: ALTER TABLE Persons DROP INDEX uc_PersonID Ràng buộc khoá chính (PRIMARY KEY Constraint) 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. 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) ) 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) ) 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) To DROP a PRIMARY KEY Constraint Ví dụ 1: ALTER TABLE Persons DROP PRIMARY KEY Ràng buộc khoá ngoại SQL FOREIGN KEY Constraint 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) ) 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) ) 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) To DROP a FOREIGN KEY Constraint Ví dụ: ALTER TABLE Orders DROP FOREIGN KEY fk_PerOrders SQL CHECK Constraint 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) ) 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') ) SQL CHECK Constraint on CREATE TABLE 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') SQL DEFAULT Constraint 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' ) 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() ) SQL DEFAULT Constraint on ALTER TABLE Ví dụ: ALTER TABLE Persons ALTER City SET DEFAULT 'SANDNES' To DROP a DEFAULT Constraint Ví dụ: ALTER TABLE Persons ALTER City DROP DEFAULT 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 DML (Data Manipulation Language) 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 Thêm dữ liệu vào bảng Ví dụ: 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 Xem thông tin bảng Xem kết quả bảng dữ liệu Thực thi câu Query Vùng hiển thị kết quả 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 Alias: Bí danh Cú pháp đặt bí danh cho cột: SELECT column_name AS alias_name FROM table_name 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' 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 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 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 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 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 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. 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 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 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. 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 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 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 Hiển thị giá trị phân biệt 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 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' 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 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 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 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 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 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. Xóa mẫu tin Vd: xóa môn ' toán rời rạc'
File đính kèm:
- Bài giảng SQL trong MySQL.pdf