Hướng dẫn lệnh mysql
Nhóm phát triển của chúng tôi vừa ra mắt website langlearning.net học tiếng Anh, Nga, Đức, Pháp, Việt, Trung, Hàn, Nhật, ... miễn phí cho tất cả mọi người. Là một website được viết trên công nghệ web Flutter vì vậy hỗ trợ rất tốt cho người học, kể cả những người học khó tính nhất. Hiện tại website đang tiếp tục được cập nhập nội dung cho phong phú và đầy đủ hơn. Mong các bạn nghé thăm và ủng hộ website mới của chúng tôi. Show
1- Giới thiệuTài liệu này hướng dẫn cho những người mới bắt đầu học SQL. Tài liệu hướng dẫn dựa trên:
Nội dung bao gồm:
2- Cơ sở dữ liệu học SQL (LearningSQL)Bài học này sử dụng cơ sở dữ liệu LearningSQL (phiên bản MySQL). Bạn cần tạo cơ sở dữ liệu đó để tiện cho việc học (Bạn chỉ mất không quá 5 phút để làm việc này). Script tạo cơ sở dữ liệu và cấu trúc của cơ sở dữ liệu này bạn có thể xem tại: 3- Công cụ trực quan làm việc với MySQLTrong hướng dẫn này tôi sử dụng MySQL Workbench là công cụ trực quan để làm việc. Bạn có thể xem thêm hướng dẫn cài đặt MySQL Comunity (Khi cài ra đã bao gồm cả MySQL Workbench) tại: 4- Các câu lệnh truy vấn (Query)4.1- SQL SelectCâu lệnh Select là một câu lệnh cơ bản nhất trong SQL, mục đích là truy vấn dữ liệu trong các bảng (Table).
Đây là câu lệnh truy vấn dữ liệu trên bảng PRODUCT_TYPE
Kết quả truy vấn: Truy vấn dữ liệu trên bảng EMPLOYEE:
Kết quả truy vấn: Đặt Alias cho cột:
Kết quả truy vấn: 4.2- SQL DistinctCâu lệnh Distinct được sử dụng cùng với Select, dùng để select các dữ liệu, bỏ qua các dữ liệu trùng nhau. Cú pháp là:
Xem ví dụ:
Kết quả chạy các câu lệnh trên: 4.3- SQL WhereWhere là câu lệnh nhằm giới hạn phạm vi tìm kiếm. Chẳng hạn bạn muốn tìm kiếm những sản phẩm dịch vụ có kiểu "Cho vay cá nhân và kinh doanh".
Bạn cần truy vấn trong bảng PRODUCT, tại các vị trí có Product_Type_Cd= 'LOAN'.
Kết quả truy vấn: Một ví dụ khác sử dụng where và nhiều điều kiện kèm theo. 4.4- SQL And Or (Và, hoặc)And và Or là 2 lệnh điều kiện sử dụng trong where: Chẳng hạn bạn muốn tìm danh sách các nhân viên có tên bắt đầu bởi chữ S và thuộc phòng điều hành (Operations).
Kết quả chạy các câu truy vấn: Ví dụ với câu lệnh Or.
Kết quả chạy câu lệnh: 4.5- SQL IN (Trong phạm vi..)Câu lệnh in trong where sử dụng trong tình huống tìm kiếm giá trị thuộc một tập hợp nhất định.
Kết quả chạy câu lệnh: 4.6- SQL Between (Nằm giữa ...)
Kết quả câu lệnh: Câu lệnh BETWEEN cũng được sử dụng trong việc giới hạn thời gian. Chẳng hạn bạn tìm kiếm các nhân viên bắt đầu làm trong khoảng thời gian:
Kết quả chạy câu lệnh: 4.7- SQL WildcardCó 2 ký tự đặc biệt trong SQL:
Ý nghĩa:
Hai ký tự này thường được sử dụng trong điều kiện like.
Kết quả chạy ví dụ: 4.8- SQL Like (Giống với ...)Câu lệnh này chúng ta đã làm quen trên một số ví dụ ở trên. 4.9- SQL Order By (Sắp xếp bởi)Việc query dữ liệu cho một tập kết quả, mà có thể nó sắp xếp không như ý muốn, sử dụng Order by để sắp xếp kết quả trả về.
Ví dụ:
Kết quả chạy ví dụ: Order By bao giờ cũng đứng sau where.
Kết quả chạy câu lệnh:
4.10- SQL Group By (Nhóm bởi ...)Trước hết chúng ta cần hiểu các hàm tổng hợp (Aggregate Functions) là gì:
Đó là một số hàm tổng hợp (Aggregate) thông dụng. Chúng có thể tham gia vào câu lệnh nhóm (Group by).
Câu hỏi đặt ra bạn muốn xem tổng số tiền có trong tài khoản, ứng với mỗi loại dịch vụ (Product_Cd) khác nhau. Điều đó có nghĩa là bạn cần nhóm trên các Product_Cd.
Kết quả: Như vậy bạn có một cái nhìn đánh giá:
4.11- SQL HavingHaving là một câu lệnh điều kiện của Group by. Giả sử bạn muốn nhóm các loại hình dịch vụ (Product_Cd) trên bảng Account, và chỉ hiển thị ra các loại hình nào có số người tham gia > 3.
Kết quả chạy ví dụ: Phân biệt Where & Having Bạn cần phân biệt Where và Having trong cùng một câu lệnh.
Trường hợp bạn muốn có các thông tin tổng hợp của một chi nhánh ngân hàng (Bảng BRANCH). Bạn có thể sử dụng where để lọc bớt dữ liệu trước khi group.
Kết quả chạy ví dụ: 5- Các câu lệnh trèn dữ liệu (Insert)5.1- Câu lệnh Insert Into
Cú pháp:
Ví dụ bạn trèn thêm một giao dịch khách hàng vào bảng ACC_TRANSACTION:
5.2- Câu lệnh Insert Into SelectBạn có thể sử dụng câu Select để cung cấp dữ liệu trèn vào bảng. Thông qua câu lệnh Insert Into ... Select.
Ví dụ:
6- Câu lệnh cập nhập (Update)
Ví dụ bạn muốn tăng tiền trong các tài khoản của khách hàng có CUST_ID = 1 lên 2%. Câu lệnh Update:
Truy vấn lại, sau khi Update.
7- Câu lệnh xóa dữ liệu (Delete)Cú pháp xóa dữ liệu trong bảng.
8- SQL Functions8.1- SQL CountCount là một hàm, đếm số dòng. Thông thường nó thường được sử dụng cùng với Group by.
Đếm số tài khoản ngân hàng, có giao dịch với ngân hàng (Bảng Acc_Transaction)
Sử dụng với Group by: Một khách hàng có thể mở nhiều tài khoản, mỗi tài khoản ứng với một sản phẩm dịch vụ của ngân hàng. Bạn muốn liệt kê các khách hàng (CUST_ID) và tương ứng là số tài khoản họ đã mở.
8.2- SQL Sum
Sum là hàm dùng để tính tổng giá trị một cột trong câu SQL.
Ví dụ:
8.3- SQL AVGAVG là hàm tính trung bình trên cột.
Ví dụ:
8.4- SQL MINMin là hàm tìm giá trị nhỏ nhất trên cột.
Ví dụ:
8.5- SQL MAXMax là hàm tìm giá trị lớn nhất trên cột. Cách sử dụng giống MIN, bạn có thể tham khảo các ví dụ tại MIN.
9- SQL JoinĐặt ra một tình huống bạn xem thông tin một nhân viên trong bảng EMPLOYEE. Bạn có thể thấy nhân viên biết ID phòng ban của nhân viên này. Nhưng đó là một con số vô nghĩa. Muốn biết tên phòng ban, bạn phải tra cứu sang bảng DEPARTMENT. Việc nối 2 bảng đó với nhau để có một thông tin đầy đủ được gọi là JOIN. Có 4 hình thức để Join 2 bảng:
9.1- INNER JOIN (Hoặc JOIN)INNER JOIN từ khóa chọn tất cả các dòng từ hai bảng miễn là có sự ăn khớp dữ liệu giữa các cột trong cả hai bảng. Cú pháp:
Ví dụ:
MySQL's own syntax:
9.2- LEFT OUTER JOIN (Hoặc LEFT JOIN)LEFT OUTER JOIN là từ khóa trả về tất cả các hàng (rows) từ bảng bên trái (table1), với các hàng tương ứng trong bảng bên phải (table2). Chấp nhận cả dữ liệu NULL ở bảng 2. Hãy xem hình minh họa dưới đây: Ví dụ:
Kết quả: 9.3- RIGHT OUTER JOIN (Hoặc RIGHT JOIN)RIGHT OUTER JOIN khá giống với LEFT OUTER JOIN: 9.4- FULL OUTER JOIN (Hoặc OUTER JOIN)FULL OUTER JOIN là sự kết hợp của LEFT OUTER JOIN và RIGHT OUTER JOIN
10- Câu truy vấn con (Subquery)Trong MySQL, một subquery là một truy vấn trong một truy vấn. Bạn có thể tạo các truy vấn con trong câu lệnh SQL của bạn. Những truy vấn con có thể nằm trong mệnh đề WHERE, mệnh đề FROM, hoặc mệnh đề SELECT. 10.1- Subquery trong mệnh đề WhereKhá thường xuyên, các subquery sẽ được tìm thấy trong mệnh đề WHERE. Những truy vấn con còn được gọi là truy vấn con lồng nhau.
10.2- Subquery trong mệnh đề FromMột truy vấn phụ cũng có thể được tìm thấy trong mệnh đề FROM. Chúng được gọi là inline views.
10.3- Subquery trong mệnh đề SelectMột truy vấn phụ cũng có thể được tìm thấy trong mệnh đề SELECT.
Bí quyết để đặt một truy vấn phụ trong mệnh đề select là subquery phải trả lại một giá trị duy nhất. Đây là lý do tại sao một các hàm tổng hợp như hàm SUM, COUNT, MIN, hoặc MAX thường được sử dụng trong subquery. 11- Lập trình database với MySQLTiếp theo bạn có thể xem tiếp tài liệu "Lập trình database với MySQL" tại: |