- Các câu lệnh cơ bản:
+DDL(Data Definition Language):
- CREATE DATABASE được dùng để tạo cơ sở dữ liệu mới, trống.
- DROP DATABASE được dùng để hủy hoàn toàn một cơ sở dữ liệu sẵn có.
- USE được dùng để lựa chọn một cơ sở dữ liệu làm mặc định.
- CREATE TABLE được dùng để tạo một bảng mới, nơi mà dữ liệu của bạn thực sự được lưu trữ.
- ALTER TABLE được dùng để sửa một định nghĩa bảng sẵn có.
- DROP TABLE được sử dụng để hủy hoàn toàn một bảng sẵn có.
- DESCRIBE hiển thị cấu trúc của một bảng.
vd:
-CREATE DATABASE databasename
-DROP DATABASE databasename
-USE databasename
-CREATE TABLE tablename(
columname type ràng buộc
)
-ALTER TABLE tablename
– MERGE INTO tablename USING table_reference ON (condition)
WHEN MATCHED THEN
UPDATE SET column1 = value1 [ column2 = value2…]
WHEN NOT MATCHED THEN
INSERT (column1 [, column2 …]) VALUES (value1 [, value2 …
-TRUNCATE TABLE table_name;
+DML(Data Manipulation Language)
- INSERT dùng để thêm dữ liệu vào một bảng đã tồn tại.
- UPDATE dùng để thay đổi giá trị của một tập hợp các bản ghi trong một bảng.
- MERGE dùng để kết hợp dữ liệu của nhiều bảng. Nóđược dùng như việc kết hợp giữa hai phần tử INSERT và UPDATE.
- DELETE xóa những bản ghi tồn tại trong một bảng.
- TRUNCATE Xóa toàn bộ dữ liệu trong một bảng (không phải là tiêu chuẩn, nhưng là một lệnh SQL phổ biến).
INSERT INTO tablename VALUES(….)
UPDATE tablename SET columname = values WHERE columname=…..
DELETE FROM tablename WHERE columname = value;
các câu lệnh còn lai tương tự
*chú ý:mệnh đề where được dùng để tạo điều kiện truy xuất, ở đây hiểu là tạo điều kiện cho sửa và xóa dư liệu
2. Câu lệnh truy xuất:
+Cú pháp của câu lệnh SELECT như sau:
-SELECT tên_các_cột FROM tên_bảng
+truy xuất toàn bộ bảng:
SELECT * FROM tablename
+câu truy xuất nâng cao:
-có mệnh đề where :
SELECT tên_cột FROM tên_bảng WHERE tên_cột phép_toán giá_trị
*Trong mệnh đề WHERE, các phép toán được sử dụng là:
Phép toán —- Mô tả
= —— So sánh bằng
<> —— So sánh không bằng
> —— Lớn hơn
< —— Nhỏ hơn
>= —— Lớn hơn hoặc bằng
<= —— Nhỏ hơn hoặc bằng
BETWEEN —— Nằm giữa một khoảng
LIKE —— So sánh mẫu chuỗi
sử dụng dấu nháy đơn bao quanh các giá trị ở dạng chuỗi văn bản (text) vd: ’abc’
* trong phép toán LIKE ,một ký hiệu % có thể được sử dụng để định nghĩa các ký tự đại diện. % có thể được đặt trước và/hoặc sau mẫu.
VD:
Câu lệnh SQL sau sẽ trả về danh sách những người có tên bắt đầu bằng chữ O:
SELECT * FROM Persons WHERE FirstName LIKE ‘O%’
Câu lệnh SQL sau sẽ trả về danh sách những người có tên kết thúc bằng chữ a:
SELECT * FROM Persons WHERE FirstName LIKE ‘%a’
Câu lệnh SQL sau sẽ trả về danh sách những người có tên chứa chuỗi la:
SELECT * FROM Persons WHERE FirstName LIKE ‘%la%’
*Toán tử lô-gic AND và OR:
AND và OR
Hai toán tử AND và OR nối hai hoặc nhiều điều kiện trong mệnh đề WHERE lại với nhau.
Toán tử AND sẽ hiển thị 1 dòng nếu TẤT CẢ các điều kiện đều thoả mãn.
Toán tử OR hiển thị một dòng nếu BẤT KỲ điều kiện nào được thoả.
Vd:
SELECT * FROM Persons WHERE FirstName = ‘Tove’ AND LastName = ‘Svendson’
SELECT * FROM Persons WHERE firstname = ‘Tove’ OR lastname = ‘Svendson’
Truy vấn nhiều đk:
SELECT * FROM Persons WHERE (FirstName = ‘Tove’ OR FirstName = ‘Stephen’)
AND LastName = ‘Svendson’
(trả lại người tên tove hay stephen có họ svendson
*Toán tử BETWEEN…AND:
Toán tử BETWEEN…AND lấy ra một miền dữ liệu nằm giữa hai giá trị. Hai giá trị này có thể là số, chuỗi văn bản hoặc ngày tháng.
SELECT tên_cột FROM tên_bảng WHERE tên_cột
BETWEEN giá_trị_1 AND giá_trị_2
*Từ khoá DISTINCT
Từ khoá DISTINCT được dùng để lọc ra các giá trị khác nhau.
(lọc xem dữ liệu có trùng hay ko)
SELECT DISTINCT tên_cột FROM tên_bảng
*Từ khoá ORDER BY
Từ khoá ORDER BY được sử dụng để sắp xếp kết quả trả về.
Sắp xếp các dòng theo 1 điều kiện
Vd:
SELECT Company, OrderNumber FROM Orders
ORDER BY Company(sắp xếp theo company)
+Câu lệnh JOIN:
Dùng để Kết nối hai hay nhiều bảng với nhau
* có thể lấy dữ liệu từ hai bảng bằng cách kết nối chúng:
SELECT cột_1, cột_2, cột_3
FROM bảng_1, bảng_2
WHERE bảng_1.khoá_chính = bảng_2.khoá_ngoại
*INNER JOIN:
SELECT cột_1, cột_2, cột_3
FROM bảng_1
INNER JOIN bảng_2
ON bảng_1.khoá_chính = bảng_2.khoá_ngoại
INNER JOIN trả về tất cả các dòng ở cả hai bảng khi chúng tương ứng với nhau. Nếu có một dòng ở bảng bảng_1 không ứng với dòng nào ở bảng bảng_2, dòng đó sẽ không được tính.
0 nhận xét: