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

Các cách khác nhau để chèn dữ liệu vào Bảng SQL Server - Hướng dẫn SQL Server / TSQL Phần 100

Tình huống:

Với tư cách là Nhà phát triển SQL Server, bạn phải có nhiều cách khác nhau để chèn dữ liệu vào Bảng SQL Server.
Đôi khi bạn chỉ cần chèn các bản ghi tĩnh, đôi khi bạn phải chèn dữ liệu từ một bảng khác vào bảng hiện có. Hãy xem các kỹ thuật khác nhau để chèn dữ liệu vào bảng SQL Server.

Giải pháp:

Trước tiên, hãy tạo Bảng dbo.Customer bằng cách sử dụng định nghĩa dưới đây.
USE yourDatabaseName
Go
Create Table dbo.Customer(
Id int identity(1,1),
FName VARCHAR(50),
LName VARCHAR(50),
Age int,
DOB Date,
Salary Numeric(6,2))
 
 

1) Sử dụng Nhiều Phụ trang để chèn dữ liệu vào bảng.


Insert into dbo.Customer(FName,LName,Age,DOB,Salary)
Values('Aamir','Shahzad',36,'1980-01-01',5000.50)
GO
Insert into dbo.Customer(FName,LName,Age,DOB,Salary)
Values ('Raza','M',33,'1983-03-03',4900.34)
GO
Insert into dbo.Customer(FName,LName,Age,DOB,Salary)
Values ('John','Smith',26,'1990-04-05',5000.50)
 
 
 

2) Sử dụng một Chèn với nhiều Giá trị

Như trong ví dụ trên, chúng tôi sử dụng nhiều lần chèn, mỗi lần chèn một bản ghi. Trong SQL Server, chúng ta có thể sử dụng Chèn đơn với nhiều giá trị như hình dưới đây.
Insert into dbo.Customer(FName,LName,Age,DOB,Salary)
Values('Aamir','Shahzad',36,'1980-01-01',5000.50),
('Raza','M',33,'1983-03-03',4900.34),
('John','Smith',26,'1990-04-05',5000.50)
 
 

3) Sử dụng Chọn với Chèn để chèn Bản ghi

Chúng ta có thể sử dụng truy vấn Chèn với Chọn để chèn tập hợp kết quả được trả về bởi truy vấn chọn.
Insert into dbo.Customer(FName,LName,Age,DOB,Salary)
Select 'Aamir' as FName,'Shahzad' as LName,36 as Age,'1980-01-01' as DOB,5000.50 as Salary
union all
Select 'Raza','M',33,'1983-03-03',4900.34
Union all
Select 'John','Smith',26,'1990-04-05',5000.50
 
 
 

4) Sử dụng Chèn mà không cung cấp Tên cột

Như bạn đã thấy trong các ví dụ trên, tôi đã sử dụng danh sách cột với Chèn, bạn không cần phải sử dụng danh sách đó nếu bạn biết thứ tự của các cột và giá trị bạn đang sử dụng cũng theo thứ tự. Tôi luôn sử dụng danh sách cột trong chèn và chọn để đảm bảo rằng tôi đang chèn dữ liệu chính xác vào bảng theo đúng cột.
--Insert without provide Column Names
Insert into dbo.Customer
Select 'Aamir' as FName,'Shahzad' as LName,36 as Age,'1980-01-01' as DOB,5000.50 as Salary
union all
Select 'Raza','M',33,'1983-03-03',4900.34
Union all
Select 'John','Smith',26,'1990-04-05',5000.50
 
Also we can use the insert without Column Names with Values option
 
Insert into dbo.Customer
Values('Aamir','Shahzad',36,'1980-01-01',5000.50),
('Raza','M',33,'1983-03-03',4900.34),
('John','Smith',26,'1990-04-05',5000.50)
 

5) Chèn dữ liệu từ Bảng khác vào bảng Đích

Như chúng ta đã thấy rằng kết quả truy vấn chọn có thể được chèn vào bảng. Trong các ví dụ trên, chúng tôi đã sử dụng các giá trị tĩnh với select, Bạn có thể chọn dữ liệu từ bảng, dạng xem và chức năng, v.v. để chèn vào bảng của mình. Giả sử nếu chúng ta muốn chèn dữ liệu vào bảng dbo.Customer từ bảng dbo.CustomerUS. bạn có thể sử dụng truy vấn bên dưới.
--Insert into table from another table
Select into dbo.Customer(FName,LName,Age,DOB,Salary)
Select FName,LName,Age,DOB,Salary from dbo.CustomerUS


Video Demo:Cách chèn dữ liệu vào SQL Sever Table bằng cách sử dụng câu lệnh T-SQL


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Truy xuất dữ liệu từ quy trình được lưu trữ có nhiều bộ kết quả

  2. Sử dụng NOLOCK Hint trong EF4?

  3. Làm cách nào để bạn thêm một cột NOT NULL vào một bảng lớn trong SQL Server?

  4. Cách tạo Ràng buộc khóa ngoại bằng BẬT XÓA CASCADE trong SQL Server - Hướng dẫn sử dụng SQL Server / TSQL Phần 80

  5. Tương đương tốt nhất cho IsInteger trong SQL Server