Xem mục lục các bài viết
Bạn open ‘New Query’ rồi chuẩn bị nhé.
Cấu trúc viết tạo một database
Code:
CREATE DATABASE database_name
Ví dụ tớ muốn tạo một database có tên là ‘Pete’ chẳng hạn thì tớ viết là :
Code:
CREATE DATABASE Pete
Sau đó Refresh lại sẽ thấy bên Object Explorer có thêm database ‘Pete’.
Database cần có các Table để lưu trữ dữ liệu, vậy thì làm quen luôn với tạo Table vậy
Cấu trúc tạo một table :
Code:
CREATE TABLE table_name
(
<column-1> <type> <is-NULL>,
<column-2> <type> <is-NULL>,
….
<column-n> <type> <is-NULL>
)
Ví dụ trong database ‘Pete’ mà tớ vừa tạo ở trên, tớ muốn tạo một table để quản lý các contact của tớ thì tớ viết query như sau :
Code:
USE Pete
GO
;
CREATE TABLE Contact
(
ContactID int IDENTITY(1,1) PRIMARY KEY NOT NULL,
Name nvarchar(50) NOT NULL,
Birthday DateTime NULL,
Phone nvarchar(20) NULL,
Email nvarchar(30) NULL
)
GO
;
Sau đó Refresh lại Database ‘Pete’ tớ thấy có thêm một table tên là ‘dbo.Contact’. Đó chính là Table mà vừa tạo xong bằng Query.
Ghi chú : ‘dbo’ = database owner
Về kiểu dữ liệu trong SQL thì các bạn tự tìm hiểu nha, cái này Google search ra cả đống.
Trong một table cần có một khóa (Primary Key) để xác định Table và gọi các field trong table. Hiểu là như thế, chứ tớ cũng chẳng biết.
Muốn field nào đặt làm unique key thì bạn thêm vào ‘PRIMARY KEY’ ở trước <is-NULL> của cột đó.
Còn nếu muốn khi cập nhật thông tin vào bảng và cái index nó tự động tăng lên thì dùng thuộc tính IDENTITY
Cấu trúc :
Code:
IDENTITY (seed, increment)
Với : seed : là điểm xuất phát đầu tiên, giá trị đầu tiên khi có một record thêm vào bảng
Increment : là độ tăng, mỗi làn thêm một record thì giá trị tăng lên bao nhiêu
Với ví dụ trên tớ có Field ‘ContactID’ bắt đầu với 1 và tăng dần lên 1. Nghĩa là bây giờ nếu tớ thêm một record vào thì nó sẽ có ‘ContactID = 1’ vì ‘seed = 1’ và nếu thêm vào các record khác thì cái ‘ContactID’ tự động tăng thêm 1 đơn vị. Nếu bạn đã xác định IDENTITY với seed và increment cho field rồi thì khi thêm vào record không cần cập nhật giá trị của field này.
Nếu như bạn thắc mắc là mình đang làm việc ở database này, làm sao gọi tên được một bảng của database khác.
Giả dụ mình setup database làm việc là ‘Pete’
Bây giờ mình muốn gọi tên một bảng trong database khác ví dụ như bảng ‘Employees’ trong ‘Northwind’ chẳng hạn
Code:
SELECT FirstName
FROM Northwind.dbo.Employees;
GO
Query ra được kết quả như ý muốn.
Quy tắc truy cập trong SQL Server là
Code:
{ [database_name].[schema_name] }.[table_name].[column_name]
Nếu truy cập ngoài database thì bạn phải có cái 2 giá trị trong ngoặc nhọn. Nếu truy cập trong database thì đơn thuần chỉ cần gọi tên table và tên field là đủ.
Kết thúc ở đây.