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

Chèn dữ liệu trong SQL Server 2017

Cách chèn dữ liệu vào cơ sở dữ liệu SQL Server 2017 bằng SQL Operations Studio (hiện được gọi là Azure Data Studio).

Có nhiều cách để chèn dữ liệu vào cơ sở dữ liệu. Phương pháp bạn sử dụng phần lớn sẽ phụ thuộc vào loại dữ liệu, cũng như ngữ cảnh mà nó được chèn vào. Hãy bắt đầu bằng cách chèn dữ liệu bằng tập lệnh SQL.

Chèn dữ liệu bằng SQL Script

Bạn có thể chạy một tập lệnh chứa tất cả dữ liệu sẽ được chèn vào. Điều này có thể thực hiện được với INSERT của SQL tuyên bố.

Chạy tập lệnh sau trên Music cơ sở dữ liệu mà chúng tôi đã tạo trước đó:

INSERT INTO Artists (ArtistName, ActiveFrom)
VALUES 
  ('Iron Maiden','1975-12-25'),
  ('AC/DC','1973-01-11'), 
  ('Allan Holdsworth','1969-01-01'),
  ('Buddy Rich','1919-01-01'),
  ('Devin Townsend','1993-01-01'),
  ('Jim Reeves','1948-01-01'),
  ('Tom Jones','1963-01-01'),
  ('Maroon 5','1994-01-01'),
  ('The Script','2001-01-01'),
  ('Lit','1988-06-26'),
  ('Black Sabbath','1968-01-01'),
  ('Michael Learns to Rock','1988-03-15'),
  ('Carabao','1981-01-01'),
  ('Karnivool','1997-01-01'),
  ('Birds of Tokyo','2004-01-01'),
  ('Bodyjar','1990-01-01');

Tập lệnh trên chèn dữ liệu vào Artists bàn. Nó chèn một hàng mới cho mỗi nghệ sĩ.

Bây giờ hãy chạy câu lệnh sau:

SELECT * 
FROM Artists;

Câu lệnh đó trả về nội dung của Artists bảng:

Bạn sẽ thấy rằng ArtistId cột chứa dữ liệu mặc dù chúng tôi không thực sự thêm bất kỳ dữ liệu nào vào cột đó. Điều này là do ArtistId là một cột nhận dạng (chúng tôi đã sử dụng IDENTITY(1,1) trong định nghĩa bảng khi chúng ta tạo cột). Cột nhận dạng tự động chèn giá trị tăng dần với mỗi hàng, vì vậy chúng tôi không cần phải chèn giá trị cho cột đó - SQL Server thực hiện điều đó cho chúng tôi. Chúng tôi cũng đặt cột này làm khóa chính khi chúng tôi tạo, vì vậy mỗi giá trị chắc chắn là duy nhất.

Bây giờ hãy chạy tập lệnh sau:

INSERT INTO Genres (Genre)
VALUES 
  ('Rock'),
  ('Jazz'), 
  ('Country'),
  ('Pop'),
  ('Blues'),
  ('Hip Hop'),
  ('Rap'),
  ('Punk');

INSERT INTO Albums (AlbumName, ReleaseDate, ArtistId, GenreId)
VALUES 
  ('Powerslave', '1984-09-03', 1, 1),
  ('Powerage', '1978-05-05', 2, 1), 
  ('Singing Down the Lane', '1956-01-01', 6, 3),
  ('Ziltoid the Omniscient', '2007-05-21', 5, 1),
  ('Casualties of Cool', '2014-05-14', 5, 1),
  ('Epicloud', '2012-09-18', 5, 1),
  ('Somewhere in Time', '1986-09-29', 1, 1),	
  ('Piece of Mind', '1983-05-16', 1, 1),	
  ('Killers', '1981-02-02', 1, 1),	
  ('No Prayer for the Dying', '1990-10-01', 1, 1),	
  ('No Sound Without Silence', '2014-09-12', 9, 4),	
  ('Big Swing Face', '1967-06-01', 4, 2),	
  ('Blue Night', '2000-11-01', 12, 4),	
  ('Eternity', '2008-10-27', 12, 4),	
  ('Scandinavia', '2012-06-11', 12, 4),	
  ('Long Lost Suitcase', '2015-10-09', 7, 4),	
  ('Praise and Blame', '2010-06-26', 7, 4),	
  ('Along Came Jones', '1965-05-21', 7, 4),	
  ('All Night Wrong', '2002-05-05', 3, 2),	
  ('The Sixteen Men of Tain', '2000-03-20', 3, 2);

Tập lệnh đó sẽ chèn dữ liệu vào hai bảng khác để chúng tôi sẽ có một số dữ liệu để làm việc sau này khi chúng tôi chạy một số truy vấn.

Nhập trực tiếp

Một số công cụ GUI cho phép bạn nhập dữ liệu trực tiếp vào bảng thông qua giao diện. Như thế này:

  1. Mở Bảng ở Chế độ Chỉnh sửa

    Điều hướng đến bảng bạn muốn nhập dữ liệu vào.

    Nhấp chuột phải vào bảng và chọn Chỉnh sửa dữ liệu (hoặc bất cứ điều gì mà công cụ GUI của bạn gọi nó - SSMS gọi nó là Chỉnh sửa 200 hàng hàng đầu ).

  2. Nhập dữ liệu

    Bảng sẽ mở ra, cho phép bạn nhập dữ liệu trực tiếp vào các ô.

    Bạn sẽ không cần nhập dữ liệu vào các cột có giá trị được tạo tự động, chẳng hạn như cột nhận dạng, cột dấu thời gian, v.v.

    SQL Server thường sẽ ngăn bạn nhập dữ liệu vào các cột như vậy.

Các phương pháp khác

Dưới đây là một số phương pháp khác có thể được sử dụng để điền dữ liệu vào cơ sở dữ liệu. Bạn có thể làm được những điều này hay không sẽ phụ thuộc vào các công cụ và / hoặc môi trường quản lý cơ sở dữ liệu của bạn.

  • Sao chép / dán

    Nếu bạn có công cụ GUI cho phép bạn nhập dữ liệu trực tiếp vào bảng, thì bạn cũng có thể thấy rằng bạn cũng có thể sao chép và dán hàng loạt dữ liệu trực tiếp vào bảng đó (SSMS hỗ trợ điều này). Vì vậy, bạn có thể sao chép tất cả dữ liệu từ bảng tính, sau đó dán trực tiếp vào bảng cơ sở dữ liệu.

    SQL Server Management Studio (SSMS) cho phép bạn dán nhiều hàng dữ liệu vào một bảng.
  • Nhập dữ liệu

    Một số công cụ cho phép bạn nhập tệp chứa tất cả dữ liệu cần thiết. Ví dụ:bạn có thể nhập bảng tính Excel hoặc tệp .csv.

    Tiện ích dòng lệnh BCP là một công cụ phổ biến để thực hiện các hoạt động sao chép hàng loạt vào SQL Server. SQL Server Management Studio có một trình hướng dẫn nhập hỗ trợ bạn trong suốt quá trình này.

    Trình hướng dẫn "Nhập tệp phẳng" đã được giới thiệu trong SSMS 17.3. Điều này giúp đơn giản hóa quá trình nhập các tệp phẳng như .csv và .txt.
  • Trang web hoặc ứng dụng tùy chỉnh khác

    Ngày nay, hầu hết các cơ sở dữ liệu được xây dựng như một phần của phần phụ trợ của một ứng dụng như trang web, CRM, ứng dụng tài chính, v.v. Các ứng dụng như vậy thường cho phép người dùng cuối chèn và cập nhật dữ liệu. Thông thường, người dùng sẽ chèn dữ liệu thông qua một biểu mẫu. Phía sau quyền trượng, biểu mẫu sẽ chèn dữ liệu vào các bảng chính xác trong cơ sở dữ liệu. Trong trường hợp này, người dùng thậm chí không cần biết những bảng nào trong cơ sở dữ liệu. Tất cả những gì họ thấy là hình thức. Một biểu mẫu có thể chèn dữ liệu vào nhiều 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. SQL Server thoát một gạch dưới

  2. Bảo quản ORDER BY trong CHỌN VÀO

  3. Làm cách nào để cập nhật bảng lớn với hàng triệu hàng trong SQL Server?

  4. Sử dụng sp_help_jobschedule trong SQL Server

  5. Mệnh đề SQL WHERE .. IN nhiều cột