Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Cách tạo bảng trong SQL Server bằng cách sử dụng truy vấn

Để tạo bảng trong SQL Server bằng truy vấn:

  1. Trong SQL Server Management Studio, nhấp vào Truy vấn mới trên thanh công cụ
  2. Nhập hoặc dán CREATE TABLE script (ví dụ bên dưới)
  3. Nhấp vào ! Thực thi trên thanh công cụ

Đây là một ví dụ:

Tập lệnh TẠO BẢNG

Đây là tập lệnh SQL trong ví dụ trên:

 TẠO BẢNG Trạng thái (StatusId int IDENTITY (1,1) NOT NULL, StatusName varchar (50) NOT NULL, DateCreate datetime NOT NULL CONSTRAINT DF_Status_DateCreate DEFAULT (getdate ()), CONSTRAINT PK_Status PRIMARY KEY CLUSTERED (StatusId))  

Tập lệnh thực hiện những việc sau:

  • tạo một bảng
  • thêm 3 cột
  • đặt kiểu dữ liệu của họ
  • chỉ định rằng StatusId là một cột nhận dạng và giá trị của bản ghi đầu tiên sẽ là 1 và giá trị cho mỗi bản ghi tiếp theo sẽ tăng lên 1
  • chỉ định rằng bất kỳ giá trị nào trong cột StatusName có thể có độ dài tối đa là 50
  • chỉ định rằng các giá trị NULL không được phép
  • đặt giá trị mặc định của ngày hiện tại cho cột Ngày được tạo
  • đặt trường StatusId làm khóa chính

Đây là một script cơ bản chỉ tạo một bảng nhỏ. Bạn có thể dễ dàng chạy một tập lệnh tạo toàn bộ cơ sở dữ liệu, với tất cả các đối tượng, dữ liệu và quyền của nó chỉ trong một lần.

Cải thiện tập lệnh

Khi tạo các đối tượng cơ sở dữ liệu, bạn nên kiểm tra xem đối tượng đã tồn tại hay chưa. Điều này ngăn lỗi xảy ra khi tập lệnh cố gắng tạo một bảng đã có trong cơ sở dữ liệu.

Chỉ chạy nếu Bảng chưa tồn tại

Dòng sau có thể được thêm vào tập lệnh trên, do đó, tập lệnh TẠO BẢNG sẽ chỉ chạy nếu bảng chưa tồn tại trong cơ sở dữ liệu (hoặc bảng có cùng tên):

 NẾU KHÔNG TỒN TẠI (CHỌN * TỪ sysobjects WHERE name ='Trạng thái' VÀ xtype ='U') 

Vì vậy, toàn bộ tập lệnh sẽ trở thành:

 IF NOT EXISTS (SELECT * FROM sysobjects WHERE name ='Status' AND xtype ='U') TẠO Trạng thái BẢNG (StatusId int IDENTITY (1,1) NOT NULL, StatusName varchar (50) NOT NULL, DateCreate datetime NOT NULL CONSTRAINT DF_Status_Date được tạo DEFAULT (getdate ()), CONSTRAINT PK_Status PRIMARY KEY CLUSTERED (StatusId)) 

Thay thế bảng nếu nó đã tồn tại

Tập lệnh cũng có thể được viết lại để thay thế bảng nếu nó đã tồn tại. Điều này có thể được thực hiện trước tiên, bỏ bảng hiện có, sau đó tạo bảng mới.

SQL Server 2016

SQL Server 2016 đã giới thiệu mệnh đề DROP IF EXISTS. Vì vậy, trong SQL Server 2016, chúng ta có thể thêm phần sau vào đầu tập lệnh:

 DROP TABLE NẾU TỒN TẠI [TaskTracker]. [Status] 

(TaskTracker là tên của cơ sở dữ liệu. Trạng thái là tên của bảng).

 DROP TABLE NẾU TỒN TẠI [TaskTracker]. [Status] TẠO BẢNG Trạng thái (StatusId int IDENTITY (1,1) NOT NULL, StatusName varchar (50) NOT NULL, DateCreate datetime NOT NULL CONSTRAINT DF_Status_DateCreate DEFAULT (getdate ()), CONSTRAINT PK_Status KHÓA CHÍNH ĐƯỢC ĐIỀU CHỈNH (StatusId)) 

SQL Server 2014 trở về trước

Nếu sử dụng phiên bản SQL Server cũ hơn, bạn có thể sử dụng cách sau để loại bỏ bảng hiện có:

 NẾU TỒN TẠI (CHỌN * TỪ sysobjects WHERE name ='Trạng thái' VÀ xtype ='U') Trạng thái BẢNG DROP 

Vì vậy, toàn bộ tập lệnh sẽ trở thành:

 IF EXISTS (SELECT * FROM sysobjects WHERE name ='Status' AND xtype ='U') DROP TABLE StatusCREATE TABLE Status (StatusId int IDENTITY (1,1) NOT NULL, StatusName varchar (50) NOT NULL, Datetime datetime NOT NULL CONSTRAINT DF_Status_Date đã tạo DEFAULT (getdate ()), CONSTRAINT PK_Status PRIMARY KEY CLUSTERED (StatusId)) 

Tạo tập lệnh từ một bảng hiện có

Bạn có thể tạo tập lệnh SQL từ một bảng hiện có thông qua Trình khám phá đối tượng trong GUI SSMS. Khi bạn thực hiện việc này, SQL Server sẽ tạo tất cả mã SQL từ bảng và tạo tập lệnh.

Để thực hiện việc này, chỉ cần nhấp chuột phải vào bảng và chọn Bảng tập lệnh dưới dạng ... sau đó làm theo lời nhắc.

Điều này không chỉ giới hạn ở các bảng - bạn có thể tập lệnh cho bất kỳ đối tượng cơ sở dữ liệu nào bằng cùng một phương pháp.

Nếu chưa quen với việc tạo tập lệnh SQL, bạn có thể thử tạo bảng bằng GUI, sau đó tạo tập lệnh SQL từ bảng.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sử dụng câu lệnh UPDATE có điều kiện trong SQL

  2. Cách tìm bản ghi trùng lặp bằng cách sử dụng mệnh đề Group by và Have trong SQL Server - Hướng dẫn sử dụng SQL Server / TSQL Phần 132

  3. Kiểm tra xem một hàng có tồn tại hay không, nếu không, hãy chèn

  4. Tạo tên bảng là các từ / từ khóa dành riêng trong MS SQL Server

  5. Ưu và nhược điểm của việc giữ SQL trong Procs được lưu trữ so với Code là gì