SQL Server

 1. Tạo database :

Cú pháp: CREATE DATABASE <tên database>

-Sử dụng database ta có cú pháp : USE <tên database>

-Ý nghĩa sử GO : sẽ thực hiện các dòng lệnh bên trên GO trước rồi mới thực hiện bên dưới

Ví dụ: 

        CREATE DATABASE <tên database>

        GO

        USE <tên database>

Vì Query sẽ không biên dịch từ trên xuống dưới là kiểu đồng thời nên nếu không có GO câu lệnh tạo database chưa xong thì câu lệnh sử dụng đã được thực thi làm cho lỗi

2. Tạo Table:

Cú pháp: CREATE TABLE <tên table> ( <các trường (thuộc tính) sẽ được khởi tạo trong này> )

P/S: sau mỗi câu lệnh tạo table ta nên có GO

3. Kiểu dữ liệu thường sử dụng SQLServer:

- int: kiểu nguyên

-float: Kiểu thực

-char(n): Kiểu kí tự và với bộ nhớ được cấp phát cố định là n bit

-nchar(n): Kiểu kí tự có thể viết tiếng việt bộ nhớ cấp phát cố định n bit và chỉ sử dụng được n/2 vì còn để lại khoảng cho dấu

- varchar(n): Kiểu kí tự với bộ nhớ được cấp phát động sử dụng đến đâu cấp phát đến đó tối đa n bit

-nvarchar(n): Kiểu kí tự có thể viết tiếng việt với bộ nhớ được cấp phát động sử dụng đến đâu cấp phát đến đó tối đa n/2 bit

-date: Lưu trữ ngày, tháng, năm, giờ

-time: Lữu trữ giờ, phút, giây,....

-bit: Lưu trữ 0 và 1

-text: Lưu trữ văn bản lớn

-ntext: Lưu trữ văn bản lớn có tiếng việt 

p/s: text và ntext sẽ không có kiểu khai báo <biến> text(n),


4.Insert, delete, update, alter table

a. Insert:

Cú pháp: INSERT dbo.<tên bảng> (trường 1, trường 2,...., trường n)

VALUES (đưa giá trị vào từng trường tương ứng)

(Lưu ý: Kiểu số ta truyền thẳng giá trị, kiểu kí tự or ngày tháng ta để trong dấu nháy đơn ' ', kiểu kí tự có unicode ta thêm N phía trước N' '

Phần liệt kê trường có hoặc không có cũng được)

b.Delete:

Cú pháp: DELETE  dbo.<tên bảng>  Lúc này ta sẽ xoá toàn bộ dữ liệu bảng

DELETE dbo.<tên bảng> WHERE <ĐIỀU KIỆN> AND <Điều kiện> : Xoá những dòng thoả mãn điều kiện 

c. Update:

Cú pháp: UPDATE dbo.<tên bảng> SET cột 1 = giátri,  cột2 = giá trị : Update all cả hàng của bảng và thay đổi giá trị tại các trường đã khai báo trên

UPDATE dbo.<tên bảng> SET  côt1 = giatri WHERE <ĐIỀU KIỆN> : Update những hàng thoả mãn điều kiện

d.Alter table:

1.Thêm cột vào bảng:

ALTER TABLE <tên bảng> ADD <tên cộtx> <kiểu dữ liệu>, <tên cộty> <kiểu dữ liệu>, ....

2.Chỉnh sửa kiểu dữ liệu cho cột

ALTER TABLE <tên bảng> ALTER COLUMN <tên cột> <kiểu dữ kiệu>

3.Xoá cột

ALTER TABLE <tên bảng> DROP COLUMN <tên cột>


5.Khoá chính của bảng:

Khoá chính khi được gán cho 1 trường thì giá trị tại mỗi ô thuộc của trường đó là duy nhất và không chứa giá trị null

Ý nghĩa từ khoá: UNIQUE : biến chứa giá trị duy nhất trong tường, nếu bị trùng sẽ sinh ra lỗi 

NOT NULL: trường đó sẽ không chưa giá trị null

DEFAULT : Giá trị mặc định của trường nếu không gán giá trị khi INSERT 

Các cách tạo ra khoá chính:

+ ID INT PRIMARYKEY,

+Khi bảng đã được tạo ta muốn 1 trường nào đó làm khoá chính. ta sử dụng ALTER TABLE <tên bảng> ADD PRIMARYKEY (tên trường)

+Tạo PRIMARYKEY ngay trong bảng và đặt tên cho key đó : CONSTRAINT <tên key> PRIMARYKEY (những trường muốn đặt)

(Lưu ý khi ta đặt PRIMARYKEY cho một trường sau khi khởi tạo thì trường đó phải có thuộc tính NOT NULL)

6. Khoá ngoại của bảng:

Khoá ngoại được dùng để tăng tính tham chiếu trong cơ sở dữ liệu. Khoá ngoại nghĩa là giá trị trong bảng này phải xuất hiện ở bảng khác.

Khoá ngoại của 1 TABLE được coi như một con trỏ trỏ tới khoá chính của 1 TABLE  khác. Nhằm mục địch mọi giá trị của khoá phụ luôn tồn tại trong khoá chính sẽ không xảy ra lỗi không tìm thấy dữ liệu ở bảng con

Cú pháp: FOREIGN KEY (tên trường) REFERENCES <tên bảng>(tên khoá chính)

tạo khoá ngoại bên ngoài table: ALTER TABLE <tên bảng> ADD FOREIGN KEY (tên trường) REFERENCES <tên bảng>(tên khoá chính)

7. Câu lệnh select

cú pháp tổng quát 

SELECT [ ALL | DISTINCT ]
[ TOP (gia_tri_dau) [ PERCENT ] [ WITH TIES ] ]
“Biểu thức”
FROM “bảng”
[WHERE “điều kiện”]
[GROUP BY “biểu thức”]
[HAVING “điều kiện”]
[ORDER BY “biểu thức” [ ASC | DESC ]];

Khi thêm AS đằng sau tên bảng ví dụ SINHVIEN AS SV, lúc này SV gọi là biến danh của bảng SV.<tên cột> truy vấn tường minh

a.Xuất ra tất cả giá trị của 1 cột

SELECT <tên cột> FORM <tên bảng>

b.Xuất ra tât cả các cột thuộc bảng

SELECT * FROM  <tên bảng>

c.Xuất ra những giá trị khác nhau thuộc 1 cột

SELECT DISTINCT <tên cột> FROM <tên bảng>

d.Trả về số lượng giá trị riêng biệt của 1 cột

SELECT COUNT (DISTINCT <tên cột>) FROM <tên bảng>

e.Xuất giá trị của những ô thuộc cột có điều kiện

SELECT <tên cột 1>, <tên cột 2>,.. FROM <tên bảng> WHERE <điều kiện>

(có thể sử dụng toán tự AND, OR, NOT)

g.Sắp xếp lại thứ tự các dòng tăng or giảm dần theo cột

SELECT * FROM <tên bảng>  ORDER BY  <tên cột1> <ASC OR DESC>, <tên cột n> <ASC OR DESC> ;

p/s: ASC mặc định tăng dần >< DESC , xét lần lượt từ cột 1 => cột n để sắp xếp

h.Đổi tên cột

SELECT <tên cột> AS '<tên mới> FROM <tên bảng>'

8. Cậu lệnh thường dùng

a.COUNT() VÀ COUNT_BIG()

-SELECT COUNT(<tên cột>) FROM <tên bảng> WHERE <điều kiện>

p/s: COUNT_BIG() tương tự, khác biệt là COUNT() trả về int, COUNT_BIG() trả về bigint

b. MIN() và MAX()

SELECT MIN(<tên cột>) || MAX(<tên cột>) FROM <tên bảng> WHERE <điều kiện>

c. AVG (trả về giá trị trung bình)

SELECT AVG(<tên cột>) FROM <tên bảng> WHERE <diều kiện>

d. SUM 

SELECT SUM(<tên cột>) FROM <tên bảng> WHERE <điều kiện>


Nhận xét