Hướng dẫn sử dụng MySQL là blog thứ hai trong loạt blog này. Trong blog trước ‘ MySQL là gì‘ , Tôi đã giới thiệu cho bạn tất cả các thuật ngữ cơ bản mà bạn cần hiểu trước khi bắt đầu với cơ sở dữ liệu quan hệ này. Trong blog MySQL này, bạn sẽ học tất cả các thao tác và lệnh mà bạn cần để khám phá cơ sở dữ liệu của mình.
Các chủ đề được đề cập trong blog này chủ yếu được chia thành 4 loại:DDL, DML, DCL &TCL.
- DDL (Ngôn ngữ Định nghĩa Dữ liệu) bao gồm các lệnh được sử dụng để xác định cơ sở dữ liệu. Ví dụ:CREATE, DROP, ALTER, TRUNCATE, COMMENT, RENAME.
- DML Các lệnh (Ngôn ngữ thao tác dữ liệu) xử lý việc thao tác dữ liệu hiện có trong cơ sở dữ liệu. Ví dụ:CHỌN, CHÈN, CẬP NHẬT, XÓA.
- DCL Các lệnh (Ngôn ngữ điều khiển dữ liệu) giải quyết các quyền, quyền hạn và các điều khiển khác của hệ thống cơ sở dữ liệu. Ví dụ:GRANT, INVOKE
- TCL (Ngôn ngữ điều khiển giao dịch) bao gồm các lệnh chủ yếu xử lý giao dịch của cơ sở dữ liệu.
Ngoài các lệnh, sau đây là các chủ đề khác được đề cập trong blog:
- Các loại khóa khác nhau trong cơ sở dữ liệu
- Các ràng buộc được sử dụng trong cơ sở dữ liệu
- Truy vấn lồng nhau
- Tham gia
- Đặt hoạt động
Chúng tôi sẽ đề cập đến từng danh mục trong số này.
Trong blog này về Hướng dẫn sử dụng MySQL, tôi sẽ coi cơ sở dữ liệu dưới đây làm ví dụ để chỉ cho bạn cách viết lệnh.
StudentID | StudentName | ParentName | Địa chỉ | Thành phố | Mã Bưu điện | Quốc gia | Phí |
01 | Haznitiz | Emiz | Đường Dellys | Afir | 35110 | Algeria | 42145 |
02 | Shubham | Narayan | Đường MG | Bangalore | 560001 | Ấn Độ | 45672 |
03 | Salomao | Valentim | Đường Mayo | Rio Claro | 27460 | Braxin | 65432 |
04 | Vishal | Ramesh | Queens Quay | Toronto | 416 | Canada | 23455 |
05 | Park Jimin | Kim Tai Hyung | Phố Gangnam | Seoul | 135081 | Hàn Quốc | 22353 |
Bảng 1: Cơ sở dữ liệu mẫu - Hướng dẫn sử dụng MySQL
Vì vậy, hãy bắt đầu ngay bây giờ!
Đăng ký kênh youtube của chúng tôi để cập nhật những thông tin mới ..!
Hướng dẫn sử dụng MySQL:Lệnh Định nghĩa Dữ liệu (DDL)
Phần này bao gồm các lệnh đó, qua đó bạn có thể xác định cơ sở dữ liệu của mình. Các lệnh là:
- TẠO
- ALTER
- HỎI
- TRUNCATE
- RENAME
Bây giờ, trước khi tôi bắt đầu với các lệnh, hãy để tôi chỉ cho bạn cách đề cập đến các nhận xét trong MySQL.
Nhận xét
Giống như bất kỳ ngôn ngữ lập trình nào khác, chủ yếu có hai loại nhận xét.
- Nhận xét trên một dòng - Các chú thích dòng đơn bắt đầu bằng ‘-‘. Vì vậy, bất kỳ văn bản nào được đề cập sau - cho đến cuối dòng sẽ bị trình biên dịch bỏ qua.
Ví dụ:
- Chọn tất cả:CHỌN * TỪ Sinh viên;
- Nhận xét nhiều dòng - Nhận xét nhiều dòng bắt đầu bằng / * và kết thúc bằng * /. Vì vậy, bất kỳ văn bản nào được đề cập giữa / * và * / sẽ bị trình biên dịch bỏ qua.
Ví dụ:
/ * Chọn tất cả các cột của tất cả các bản ghi trong bảng Học sinh:* / CHỌN * TỪ Học sinh;
Bây giờ, bạn đã biết cách đề cập đến nhận xét trong MySQL, hãy tiếp tục với các lệnh DDL.
TẠO
Câu lệnh create được sử dụng để tạo một lược đồ, bảng hoặc chỉ mục.
Tuyên bố 'CREATE SCHEMA'
Câu lệnh này được sử dụng để tạo cơ sở dữ liệu.
Cú pháp:
TẠO Cơ sở dữ liệu SCHEMA_Tên;
Ví dụ:
TẠO SCHEMA StudentsInfo;
Tuyên bố 'TẠO BẢNG'
Câu lệnh này được sử dụng để tạo một bảng mới trong cơ sở dữ liệu.
Cú pháp:
TẠO BẢNG table_name ( Loại dữ liệu column1 , loại dữ liệu column2 , loại dữ liệu column3 , ....);
Ví dụ:
TẠO BẢNG Sinh viên (StudentID int, StudentName varchar (255), ParentName varchar (255), Address varchar (255), PostalCode int, City varchar (255));
Tuyên bố 'TẠO BẢNG NHƯ'
Câu lệnh này được sử dụng để tạo một bảng mới từ một bảng hiện có. Vì vậy, bảng này nhận được các định nghĩa cột giống như của bảng hiện có.
Cú pháp:
TẠO BẢNG new_table_name NHƯ CHỌN column1, column2, ... FROM current_table_name Ở ĐÂU ....;
Ví dụ:
TẠO BẢNG Ví dụ Bảng ASSELECT Studentname, ParentnameFROM Students;
ALTER
Lệnh ALTER được sử dụng để thêm, sửa đổi hoặc xóa các ràng buộc hoặc cột.
Tuyên bố ‘ALTER TABLE’
Câu lệnh này được sử dụng để thêm, sửa đổi hoặc xóa các ràng buộc và cột khỏi bảng.
Cú pháp:
ALTER TABLE table_name THÊM loại dữ liệu column_name ;
Ví dụ:
BẢNG ALTER Sinh viên Ngày tháng năm sinh ngày tháng năm sinh;
DROP
Lệnh DROP được sử dụng để xóa cơ sở dữ liệu, bảng hoặc cột.
Tuyên bố ‘DROP SCHEMA’
Câu lệnh này được sử dụng để loại bỏ lược đồ hoàn chỉnh.
Cú pháp:
DROP SCHEMA schema_name;
Ví dụ:
DROP SCHEMA StudentsInfo;
Tuyên bố ‘DROP TABLE’
Câu lệnh này được sử dụng để loại bỏ toàn bộ bảng với tất cả các giá trị của nó.
Cú pháp:
DROP TABLE tên_bảng;
Ví dụ:
DROP TABLE tên_bảng;
TRUNCATE
Câu lệnh này được sử dụng để xóa dữ liệu có bên trong bảng, nhưng bảng sẽ không bị xóa.
Cú pháp:
TRUNCATE TABLE table_name ;
Ví dụ:
BẢNG TRUNCATE Sinh viên;
RENAME
Câu lệnh này được sử dụng để đổi tên một hoặc nhiều bảng.
Cú pháp:
RENAME TABLE tbl_name ĐẾN new_tbl_name [, tbl_name2 ĐẾN new_tbl_name2 ] ...
Ví dụ:
RENAME Sinh viên ĐẾN những sinh viên không đăng ký học;
Bây giờ, trước khi chuyển sang các phần tiếp theo, hãy để tôi cho bạn biết các loại Khóa và Ràng buộc khác nhau mà bạn cần đề cập khi thao tác với cơ sở dữ liệu.
Hướng dẫn sử dụng MySQL: Các loại khóa khác nhau trong cơ sở dữ liệu
Chủ yếu có 5 loại Khóa, có thể được đề cập trong cơ sở dữ liệu.
- Khóa ứng viên - Tập hợp các thuộc tính tối thiểu có thể xác định duy nhất một bộ được gọi là khóa ứng viên. Một mối quan hệ có thể chứa nhiều hơn một khóa ứng viên duy nhất, trong đó khóa là khóa đơn giản hoặc khóa tổng hợp.
- Super Key - Tập hợp các thuộc tính có thể xác định duy nhất một bộ được gọi là Super Key. Vì vậy, khóa ứng viên là siêu khóa, nhưng ngược lại thì không đúng.
- Khóa chính - Một tập hợp các thuộc tính có thể được sử dụng để xác định duy nhất mọi bộ giá trị cũng là một khóa chính. Vì vậy, nếu có 3-4 khóa ứng cử viên xuất hiện trong một mối quan hệ, thì trong số đó, một khóa có thể được chọn làm khóa chính.
- Khóa thay thế - Khóa ứng viên khác với khóa chính được gọi là khóa thay thế .
- Khóa ngoại - Một thuộc tính chỉ có thể nhận các giá trị hiện tại làm giá trị của một số thuộc tính khác, là khóa ngoại của thuộc tính mà nó tham chiếu đến.
Hướng dẫn sử dụng MySQL: Các ràng buộc được sử dụng trong cơ sở dữ liệu
Tham khảo hình ảnh bên dưới là các ràng buộc được sử dụng trong cơ sở dữ liệu.
Hình 1: Các hạn chế được sử dụng trong cơ sở dữ liệu - Hướng dẫn sử dụng MySQL
Bây giờ, bạn đã biết các loại khóa và ràng buộc khác nhau, hãy chuyển sang phần tiếp theo tức là Lệnh thao tác dữ liệu.
Bạn muốn trở thành một Quản trị viên Cơ sở dữ liệu được chứng nhận?Hướng dẫn sử dụng MySQL: Lệnh thao tác dữ liệu (DML)
Phần này bao gồm các lệnh đó, qua đó bạn có thể thao tác với cơ sở dữ liệu của mình. Các lệnh là:
- SỬ DỤNG
- CHÈN
- CẬP NHẬT
- XÓA
- CHỌN
Ngoài các lệnh này, còn có các toán tử / hàm thao tác khác như:
- NGƯỜI VẬN HÀNH LOGICAL
- ĐIỀU HÀNH THUẬT TOÁN, BITWISE, SO SÁNH &HỢP CHẤT
- CÁC CHỨC NĂNG TỔNG HỢP
- NGƯỜI VẬN HÀNH ĐẶC BIỆT
SỬ DỤNG
Câu lệnh USE được sử dụng để đề cập đến cơ sở dữ liệu nào phải được sử dụng để thực hiện tất cả các hoạt động.
Cú pháp:
SỬ DỤNG Database_name;
Ví dụ:
SỬ DỤNG StudentsInfo;
CHÈN
Câu lệnh này được sử dụng để chèn các bản ghi mới vào bảng.
Cú pháp:
Câu lệnh INSERT INTO có thể được viết theo hai cách sau:
CHÈN VÀO tên_bảng ( column1 , column2 , column3 , ...) GIÁ TRỊ ( giá trị1 , value2 , value3 , ...); - Bạn không cần đề cập đến tên cột CHÈN VÀO tên_bảng GIÁ TRỊ ( giá trị1 , value2 , value3 , ...);
Ví dụ:
INSERT INTO Infostudents (StudentID, StudentName, ParentName, Address, City, PostalCode, Country) GIÁ TRỊ ('06', 'Sanjana', 'Jagannath', 'Banjara Hills', 'Hyderabad', '500046', 'India '); INSERT INTO InfostudentsVALUES (' 07 ',' Shivantini ',' Praveen ',' Camel Street ',' Kolkata ',' 700096 ',' India ');
CẬP NHẬT
Câu lệnh này được sử dụng để sửa đổi các bản ghi hiện có trong bảng.
Cú pháp:
CẬP NHẬT table_name ĐẶT column1 = value1 , column2 = value2 , ... WHERE điều kiện ;
Ví dụ:
CẬP NHẬT InfostudentsSET StudentName ='Alfred', City ='Frankfurt'WHERE StudentID =1;
XÓA
Câu lệnh này được sử dụng để xóa các bản ghi hiện có trong bảng.
Cú pháp:
XÓA khỏi table_name WHERE điều kiện ;
Ví dụ:
XÓA khỏi InfostudentsWHERE StudentName ='Salomao';
CHỌN
Câu lệnh này được sử dụng để chọn dữ liệu từ cơ sở dữ liệu và dữ liệu trả về được lưu trữ trong bảng kết quả, được gọi là result-set .
Sau đây là hai cách sử dụng câu lệnh này:
Cú pháp:
CHỌN column1 , column2, ... FROM table_name ; - (*) được sử dụng để chọn tất cả từ bảngSELECT * FROM tên_bảng ;
Ví dụ:
CHỌN Tên sinh viên, Thành phố TỪ sinh viên không đăng ký; CHỌN * TỪ sinh viên không đăng ký;
Ngoài từ khóa SELECT riêng lẻ, chúng ta cũng sẽ thấy các câu lệnh sau, được sử dụng với từ khóa SELECT:
- DISTINCT
- ĐẶT HÀNG THEO
- GROUP BY
- Điều khoản CÓ
Tuyên bố ‘CHỌN DISTINCT’
Câu lệnh này chỉ được sử dụng để trả về các giá trị riêng biệt hoặc khác nhau. Vì vậy, nếu bạn có một bảng có các giá trị trùng lặp, thì bạn có thể sử dụng câu lệnh này để liệt kê các giá trị riêng biệt.
Cú pháp:
CHỌN DISTINCT column1 , column2, ... FROM table_name ;
Ví dụ:
CHỌN Quốc gia TỪ Sinh viên;
Tuyên bố ‘ORDER BY’
Câu lệnh này được sử dụng để sắp xếp các kết quả mong muốn theo thứ tự tăng dần hoặc giảm dần. Theo mặc định, kết quả sẽ được sắp xếp theo thứ tự tăng dần. Nếu bạn muốn các bản ghi trong tập hợp kết quả theo thứ tự giảm dần, thì hãy sử dụng DESC từ khóa.
Cú pháp:
CHỌN column1 , column2, ... FROM table_name ĐẶT HÀNG THEO column1, column2, ... ASC | DESC;
Ví dụ:
CHỌN * TỪ InfostudentsORDER THEO Quốc gia; SELECT * FROM InfostudentsORDER BY Country DESC; SELECT * FROM InfostudentsORDER BY Country, StudentName; SELECT * FROM InfostudentsORDER BY Country ASC, StudentName DESC;
Tuyên bố ‘GROUP BY’
Câu lệnh này được sử dụng với các hàm tổng hợp để nhóm tập hợp kết quả theo một hoặc nhiều cột.
Cú pháp:
SELECT column_name FROM table_name WHERE điều kiện GROUP BY column_name ĐẶT HÀNG BẰNG (các) tên_cổng;
Ví dụ:
CHỌN COUNT (StudentID), CountryFROM InfostudentsGROUP BY CountryORDER BY COUNT (StudentID) DESC;
Tuyên bố mệnh đề 'HAVING'
Kể từ WHERE từ khóa không thể được sử dụng với các hàm tổng hợp, mệnh đề HAVING đã được giới thiệu.
Cú pháp:
SELECT column_name FROM table_name WHERE điều kiện GROUP BY column_name CÓ điều kiện ĐẶT HÀNG BẰNG (các) tên_cổng;
Ví dụ:
CHỌN COUNT (StudentID), CityFROM InfostudentsGROUP BY CityHAVING COUNT (Phí)> 23000;
CÁC NHÀ VẬN HÀNH LOGICAL
Tập hợp toán tử này bao gồm các toán tử logic như VÀ / HOẶC / KHÔNG.
VÀ NGƯỜI VẬN HÀNH
Toán tử AND được sử dụng để lọc các bản ghi dựa trên nhiều điều kiện. Toán tử này hiển thị các bản ghi thỏa mãn tất cả các điều kiện được phân tách bằng AND và cho kết quả là TRUE.
Cú pháp:
CHỌN column1 , column2, ... FROM table_name WHERE điều kiện1 VÀ điều kiện2 VÀ điều kiện 3 ... ;
Ví dụ:
SELECT * FROM InfostudentsWHERE Country ='Brazil' AND City ='Rio Claro';
HOẶC NGƯỜI VẬN HÀNH
Toán tử OR hiển thị các bản ghi đáp ứng bất kỳ điều kiện nào được phân tách bằng OR và cho kết quả là TRUE.
Cú pháp:
CHỌN column1 , column2, ... FROM table_name WHERE điều kiện1 HOẶC điều kiện2 HOẶC điều kiện 3 ... ;
Ví dụ:
SELECT * FROM InfostudentsWHERE City ='Toronto' OR City ='Seoul';
KHÔNG VẬN HÀNH
Toán tử này hiển thị bản ghi khi (các) điều kiện KHÔNG ĐÚNG.
Cú pháp:
CHỌN column1 , column2, ... FROM table_name KHÔNG PHẢI điều kiện ;
Ví dụ:
SELECT * FROM InfostudentsWHERE NOT Country ='India'; - Bạn cũng có thể kết hợp tất cả ba toán tử trên và viết một truy vấn như sau:SELECT * FROM InfostudentsWHERE Country ='India' AND (City ='Bangalore' HOẶC Thành phố ='Canada');Quan tâm đến việc bẻ khóa Các cuộc phỏng vấn cho Quản trị viên cơ sở dữ liệu?
CÁC NHÀ VẬN HÀNH ARITHMETIC, BITWISE, SO SÁNH &HỢP CHẤT
Tham khảo hình ảnh bên dưới.
Hình 2: Toán tử Số học, Bitwise, So sánh &Kết hợp - Hướng dẫn MySQL
CÁC CHỨC NĂNG TỔNG HỢP
Phần này của bài viết bao gồm các chức năng sau:
- MIN ()
- MAX ()
- COUNT ()
- AVG ()
- SUM ()
Hàm MIN ()
Hàm này trả về giá trị nhỏ nhất của cột đã chọn trong bảng.
Cú pháp:
CHỌN MIN (tên_cột) FROMtable_nameWHERE điều kiện;
Ví dụ:
CHỌN MIN (StudentID) làm sinh viên không lưu trữ IDFROM nhỏ nhất;
Hàm MAX ()
Hàm này trả về giá trị lớn nhất của cột đã chọn trong bảng.
Cú pháp:
CHỌN TỐI ĐA ( column_name ) FROM table_name WHERE điều kiện ;
Ví dụ:
CHỌN TỐI ĐA (Phí) AS MaximumFeesFROM Infostudents;
Hàm COUNT ()
Hàm này trả về số hàng phù hợp với tiêu chí đã chỉ định.
Cú pháp:
CHỌN COUNT ( column_name ) FROM table_name WHERE điều kiện ;
Ví dụ:
CHỌN COUNT (StudentID) TỪ những người không đăng ký học;
Hàm AVG ()
Hàm này trả về giá trị trung bình của một cột số mà bạn chọn.
Cú pháp:
CHỌN AVG ( column_name ) FROM table_name WHERE điều kiện ;
Ví dụ:
CHỌN AVG (Phí) TỪ Infostudents;
Hàm SUM ()
Hàm này trả về tổng giá trị của một cột số mà bạn chọn.
Cú pháp:
CHỌN SUM ( column_name ) FROM table_name WHERE điều kiện ;
Ví dụ:
CHỌN SUM (Phí) TỪ những người không đăng ký;
NGƯỜI VẬN HÀNH ĐẶC BIỆT
Phần này bao gồm các toán tử sau:
- GIỮA
- LÀ KHÔNG ĐẦY ĐỦ
- THÍCH
- VÀO
- TỒN TẠI
- TẤT CẢ
- BẤT KỲ
GIỮA Người điều hành
Toán tử này là một toán tử bao gồm chọn các giá trị (số, văn bản hoặc ngày tháng) trong một phạm vi nhất định.
Cú pháp:
SELECT column_name FROM table_name WHERE column_name GIỮA value1 VÀ value2;
Ví dụ:
CHỌN * TỪ InfostudentsVÌ PHÍ GIỮA 20000 VÀ 40000;
IS NULL Operator
Vì không thể kiểm tra các giá trị NULL bằng các toán tử so sánh (=, <,>), thay vào đó chúng ta có thể sử dụng các toán tử IS NULL và IS NOT NULL.
Cú pháp:
--S tổng hợp cho IS NULLSELECT column_names FROM table_name WHERE column_name IS NULL; - Cú pháp cho IS NOT NULLSELECT column_name FROM table_name WHERE column_name KHÔNG ĐẦY ĐỦ;
Ví dụ:
CHỌN Tên sinh viên, Tên cha mẹ, Địa chỉ TỪ những người không đăng kýToán tử LIKE
Toán tử này được sử dụng trong mệnh đề WHERE để tìm kiếm một mẫu được chỉ định trong một cột của bảng.
Được đề cập bên dưới là hai ký tự đại diện được sử dụng cùng với toán tử LIKE:
- % - Dấu phần trăm thể hiện không, một hoặc nhiều ký tự
- _ - Dấu gạch dưới thể hiện một ký tự duy nhất
Cú pháp:
CHỌN column1, column2, ... FROM table_name Cột WHERE THÍCH mẫu ;
Tham khảo bảng sau để biết các mẫu khác nhau mà bạn có thể đề cập với toán tử LIKE.
Toán tử LIKE | Mô tả |
NƠI Tên Khách hàng THÍCH ‘z% | Tìm bất kỳ giá trị nào bắt đầu bằng “z” |
NƠI Tên Khách hàng THÍCH ‘% z’ | Tìm bất kỳ giá trị nào kết thúc bằng “z” |
NƠI Tên Khách hàng THÍCH ‘% và%’ | Tìm bất kỳ giá trị nào có “và” ở bất kỳ vị trí nào |
NƠI Tên Khách hàng THÍCH ‘_s%’ | Tìm bất kỳ giá trị nào có “s” ở vị trí thứ hai. |
NƠI Khách hàng THÍCH 'd _% _%' | Tìm bất kỳ giá trị nào bắt đầu bằng “d” và có ít nhất 3 ký tự |
NƠI Tên Liên hệ NHƯ ‘j% l’ | Tìm bất kỳ giá trị nào bắt đầu bằng “j” và kết thúc bằng “l” |
Bảng 2: Các mẫu được đề cập với toán tử LIKE - Hướng dẫn sử dụng MySQL
Ví dụ:
CHỌN * TỪ InfostudentsWHERE StudentName LIKE 'S%';
IN Operator
Đây là toán tử viết tắt cho nhiều điều kiện HOẶC cho phép bạn chỉ định nhiều giá trị trong mệnh đề WHERE.
Cú pháp:
SELECT column_name FROM table_name WHERE column_name IN ( value1 , value2 , ...);
Ví dụ:
CHỌN * TỪ InfostudentsWHERE Country IN ('Algeria', 'India', 'Brazil');
Lưu ý: Bạn cũng có thể sử dụng IN trong khi viết Truy vấn lồng nhau. Hãy xem xét cú pháp dưới đây:
Toán tử HIỆN TẠI
Toán tử này được sử dụng để kiểm tra xem bản ghi có tồn tại hay không.
Cú pháp:
SELECT column_name FROM table_name NƠI TỒN TẠI (CHỌN column_name FROM table_name WHERE điều kiện );
Ví dụ:
SELECT StudentNameFROM InfostudentsWHERE EXISTS (SELECT ParentName FROM Infostudents WHERE StudentIpred =05 AND Price <25000)TẤT CẢ Nhà điều hành
Toán tử này được sử dụng với mệnh đề WHERE hoặc HAVING và trả về true nếu tất cả các giá trị truy vấn con đáp ứng điều kiện.
Cú pháp:
SELECT column_name FROM table_name WHERE toán tử column_name TẤT CẢ (CHỌN column_name FROM table_name WHERE điều kiện );Ví dụ:
SELECT StudentNameFROM InfostudentsWHERE StudentID = ALL (SELECT StudentID FROM Infostudents WHERE Phí> 20000);BẤT KỲ Nhà điều hành nào
Tương tự như toán tử ALL, toán tử BẤT KỲ cũng được sử dụng với mệnh đề WHERE hoặc HAVING và trả về true nếu bất kỳ giá trị truy vấn con nào đáp ứng điều kiện.
Cú pháp:
SELECT column_name FROM table_name WHERE toán tử column_name BẤT KỲ (CHỌN column_name FROM table_name WHERE điều kiện );Ví dụ:
SELECT StudentNameFROM InfostudentsWHERE StudentID =ANY (CHỌN SttudentID TỪ Infostudents WHERE Phí GIỮA 22000 VÀ 23000);Bây giờ, tôi đã nói với bạn rất nhiều về các lệnh DML, hãy để tôi chỉ cho bạn biết ngắn gọn về Truy vấn lồng nhau, Nối và Thao tác Đặt.
Bạn muốn biết cách thiết lập cơ sở dữ liệu quan hệ trên đám mây?Hướng dẫn sử dụng MySQL: Truy vấn lồng nhau
Truy vấn lồng nhau là những truy vấn có truy vấn bên ngoài và truy vấn con bên trong. Vì vậy, về cơ bản, truy vấn con là một truy vấn được lồng trong một truy vấn khác như CHỌN, CHÈN, CẬP NHẬT hoặc XÓA. Tham khảo hình ảnh bên dưới:
Hình 3: Trình bày các truy vấn lồng nhau - Hướng dẫn sử dụng MySQL
Hướng dẫn sử dụng MySQL: Tham gia
JOINS are used to combine rows from two or more tables, based on a related column between those tables. The following are the types of joins:
- INNER JOIN: This join returns those records which have matching values in both the tables.
- FULL JOIN: This join returns all those records which either have a match in the left or the right table.
- LEFT JOIN: This join returns records from the left table, and also those records which satisfy the condition from the right table.
- RIGHT JOIN: This join returns records from the right table, and also those records which satisfy the condition from the left table.
Refer to the image below.
Fig 4: Representation Of Joins – MySQL Tutorial
Let’s consider the below table apart from the Infostudents table, to understand the syntax of joins.
CourseID | StudentID | CourseName | StartDate |
1 | 10 | DevOps | 09-09-2018 |
2 | 11 | Blockchain | 07-04-2018 |
3 | 12 | Python | 08-06-2018 |
Table 3: Sample Database – MySQL Tutorial
INNER JOIN
Syntax:
SELECT column_name(s) FROM table1 INNER JOIN table2 ON table1.column_name = table2.column_name;
Example:
SELECT Courses.CourseID, Infostudents.StudentNameFROM CoursesINNER JOIN Infostudents ON Courses.StudentID =Infostudents.StudentID;
FULL JOIN
Syntax:
SELECT column_name(s) FROM table1 FULL OUTER JOIN table2 ON table1.column_name = table2.column_name;
Example:
SELECT Infostudents.StudentName, Courses.CourseIDFROM InfostudentsFULL OUTER JOIN Orders ON Infostudents.StudentID=Orders.StudentIDORDER BY Infostudents.StudentName;
LEFT JOIN
Syntax:
SELECT column_name(s) FROM table1 LEFT JOIN table2 ON table1.column_name = table2.column_name;
Example:
SELECT Infostudents.StudentName, Courses.CourseIDFROM InfostudentsLEFT JOIN Courses ON Infostudents.CustomerID =Courses.StudentIDORDER BY Infostudents.StudentName;
RIGHT JOIN
Syntax:
SELECT column_name(s) FROM table1 RIGHT JOIN table2 ON table1.column_name = table2.column_name;
Example:
SELECT Courses.CourseIDFROM CoursesRIGHT JOIN Infostudents ON Courses.StudentID =Infostudents.StudentID ORDER BY Courses.CourseID;
MySQL Tutorial: Set Operations
There are mainly three set operations:UNION, INTERSECT, SET DIFFERENCE. You can refer to the image below to understand the set operations in SQL.
Now, that you guys know the DML commadsn. Let’s move onto our next section and see the DCL commands.
MySQL Tutorial: Data Control (DCL) Commands
This section consists of those commands which are used to control privileges in the database. The commands are:
- GRANT
- REVOKE
GRANT
This command is used to provide user access privileges or other privileges for the database.
Syntax:
GRANT privileges ON object TO user;
Example:
GRANT CREATE ANY TABLE TO localhost;
REVOKE
This command is used to withdraw user’s access privileges given by using the GRANT command.
Syntax:
REVOKE privileges ON object FROM user;
Example:
REVOKE INSERT ON *.* FROM Infostudents;
Now, let’s move on to the last section of this blog i.e. the TCL Commands.
MySQL Tutorial: Transaction Control (TCL) Commands
This section of commands mainly deals with the transaction of the database. The commands are:
- COMMIT
- ROLLBACK
- SAVEPOINT
- RELEASE SAVEPOINT
- SET TRANSACTION
COMMIT
This command saves all the transactions to the database since the last COMMIT or ROLLBACK command.
Syntax:
COMMIT;
Example:
DELETE FROM Infostudents WHERE Fees =42145;COMMIT;
ROLLBACK
This command is used to undo transactions since the last COMMIT or ROLLBACK command was issued.
Syntax:
ROLLBACK;
Example:
DELETE FROM Infostudents WHERE Fees =42145;ROLLBACK;
SAVEPOINT
This command creates points within the groups of transactions in which to ROLLBACK. So, with this command, you can simply roll the transaction back to a certain point without rolling back the entire transaction.
Syntax:
SAVEPOINT SAVEPOINT_NAME; --Syntax for saving the SAVEPOINTROLLBACK TO SAVEPOINT_NAME; --Syntax for rolling back to the Savepoint command
Example:
SAVEPOINT SP1;DELETE FROM Infostudents WHERE Fees =42145;SAVEPOINT SP2;
RELEASE SAVEPOINT
You can use this command to remove a SAVEPOINT that you have created.
Syntax:
RELEASE SAVEPOINT SAVEPOINT_NAME;
Example:
RELEASE SAVEPOINT SP2;
SET TRANSACTION
This command gives a name to the transaction.
Syntax:
SET TRANSACTION [ READ WRITE | READ ONLY ];
I hope you enjoyed reading this blog on MySQL Tutorial blog. We have seen the different commands that will help you write queries and play around with your databases.
Interested in learning more about MySQL?If you wish to learn more about MySQL and get to know this open source relational database, then check out our MySQL DBA Certification Training which comes with instructor-led live training and real-life project experience. This training will help you understand MySQL in depth and help you achieve mastery over the subject.
Got a question for us? Please mention it in the comments section of ”MySQL Tutorial ” and I will get back to you.