Học SQL cơ bản – Tạo Table trong SQL Server

Table trong SQL Server là gì ?

Table là một đối tượng trong SQL Server, là đối tượng chứa dữ liệu, table gồm có column (cột), row (hàng) tương tự như đối tượng table trong Excel, World.

Làm thế nào để tạo table trong SQL Server ?

Có 2 cách tạo table trong SQL Server:
– Dùng T-SQL Script
– Sử dụng giao diện SQL Server Management Studio (SSMS)
Trong quá trình học, phanmem123.net sử dụng phương pháp T-SQL Script để cho các bạn làm quen và thành thạo cho sử dụng thực tế, vì thực tế ít ai sử dụng SSMS để design.

Tạo table trong SQL Server sử dụng T-SQL Script

Đây là cách khuyên dùng và nên sử dụng phổ biến. Một số người mới học SQL thường sẽ không sử dụng cách này, tuy nhiên khi đã làm quen với thao tác viết T-SQL thì đây là cách nhanh và ít lỗi.
Cú pháp:

CREATE TABLE table_name (
    column1 datatype,
    column2 datatype,
    column3 datatype,
   ....
);

Trong đó:
table_name: tên table
column1, column2... : tên column
datatype1, datatype2…: kiểu dữ liệu của column (ví dụ INT, CHAR, VARCHAR…)

Ví dụ: tạo 2 table: Employee với khóa chính EmployeeID, table Department với khóa chính DepartmentID

-- tao table Employee
CREATE TABLE Employee
	(
		EmployeeID	VARCHAR(50) NOT NULL,
		FirtName		NVARCHAR(50),
		LastName		NVARCHAR(50),
		Birthday		DATETIME,
		Address			NVARCHAR(100),
		Sex				  NVARCHAR(50),
		Salary			DECIMAL(16,2),
		ManagerID		VARCHAR(50),
		DepartmentID	INT,
		PRIMARY KEY(EmployeeID)
	)	
	
	-- tao table Department
	CREATE TABLE Department
	(
		DepartmentID	INT NOT NULL,
		DepartmentName	NVARCHAR(250),		
		DeptManagerID	VARCHAR(50),
		StartDate		DATETIME
		PRIMARY KEY(DepartmentID)
	)
	GO

Nhấn F5 để chạy script tạo 2 table trên, sau đó kiểm tra với câu truy vấn sau:

SELECT * FROM Employee

SELECT * FROM Department

Truy vấn trả ra kết quả 2 table thì tạo table đã thành công.

Chèn dữ liệu vào table trong SQL Server

Chèn dữ liệu vào table, chúng ta sử dụng cú pháp:

INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);

Ví dụ: chèn 1 dòng dữ liệu vào table Employee và chèn 1 dòng dữ liệu vào table Department

INSERT INTO Employee(FirtName, LastName, EmployeeID, Birthday, Address, Sex, Salary, ManagerID, DepartmentID) 
VALUES (N'Lê',N'Quỳnh Như','001',N'1997-02-01 00:00:00.000',N'291 Hồ Văn Huê, Tp HCM',N'Nữ',43000,'006',4)

INSERT INTO Department(DepartmentID, DepartmentName, DeptManagerID, StartDate) 
VALUES (4, N'Ðiều Hành','008','1985-01-01 00:00:00.000')

Và kiểm tra kết quả:

Sử dụng cấu trúc INSERT INTO để thực hiện thực hành nhập thêm một số dòng dữ liệu vào 2 table này để chúng ta thực hành cho các bài sau.
Lưu ý: Nếu bạn mới học SQL thì cần viết nhập từng dòng để quen với cấu trúc lệnh, không nên copy paste và chạy.

INSERT INTO Department(DepartmentID, DepartmentName, DeptManagerID, StartDate) 
VALUES (1, N'Quản Lý','006','1971-06-19 00:00:00.000')
INSERT INTO Department(DepartmentID, DepartmentName, DeptManagerID, StartDate) 
VALUES (5, N'Nghiên Cứu','005','1978-05-22 00:00:00.000')
INSERT INTO Department(DepartmentID, DepartmentName, DeptManagerID, StartDate) 
VALUES (2, N'Kế toán','','1971-06-19 00:00:00.000')
INSERT INTO Department(DepartmentID, DepartmentName, DeptManagerID, StartDate) 
VALUES (3, N'Kho hàng','','1978-05-22 00:00:00.000')
GO


INSERT INTO Employee(FirtName, LastName, EmployeeID, Birthday, Address, Sex, Salary, ManagerID, DepartmentID) 
VALUES (N'Trần',N'Thanh Tâm','003',N'1957-05-04 00:00:00.000',N'34 Mai Thị Lự, Tp HCM',N'Nam',25000,'005',5)
INSERT INTO Employee(FirtName, LastName, EmployeeID, Birthday, Address, Sex, Salary, ManagerID, DepartmentID) 
VALUES (N'Nguyễn',N'Mạnh Hùng','004',N'1967-03-04 00:00:00.000',N'95 Bà Bịa, Vũng Tàu',N'Nam',38000,'005',5)
INSERT INTO Employee(FirtName, LastName, EmployeeID, Birthday, Address, Sex, Salary, ManagerID, DepartmentID) 
VALUES (N'Nguyễn',N'Thanh Tùng','005',N'1962-08-20 00:00:00.000',N'222 Nguyễn Văn Cừ, Tp HCM',N'Nam',40000,'006',5)
INSERT INTO Employee(FirtName, LastName, EmployeeID, Birthday, Address, Sex, Salary, ManagerID, DepartmentID) 
VALUES (N'Phạm',N'Văn Vinh','006',N'1965-01-01 00:00:00.000',N'45 Trưng Vương, Hà Nội',N'Nữ',55000,NULL,1)
INSERT INTO Employee(FirtName, LastName, EmployeeID, Birthday, Address, Sex, Salary, ManagerID, DepartmentID) 
VALUES (N'Bùi',N'Ngọc Hằng','007',N'1954-03-11 00:00:00.000',N'332 Nguyễn Thái Học, Tp HCM',N'Nam',25000,'001',4)
INSERT INTO Employee(FirtName, LastName, EmployeeID, Birthday, Address, Sex, Salary, ManagerID, DepartmentID) 
VALUES (N'Trần',N'Hồng Quang','008',N'1967-09-01 00:00:00.000',N'80 Lê Hồng Phong, Tp HCM',N'Nam',25000,'001',4)
INSERT INTO Employee(FirtName, LastName, EmployeeID, Birthday, Address, Sex, Salary, ManagerID, DepartmentID) 
VALUES (N'Ðinh',N'Bá Tiên','009',N'1960-02-11 00:00:00.000',N'119 Cống Quỳnh, Tp HCM',N'Nam',30000,'005',5)