2012-11-14 60 views
18

Tôi thỉnh thoảng chuyển đổi giữa Oracle và SQL Server và thường quên cách thực hiện một số nhiệm vụ tầm thường nhất trong SQL Server. Tôi muốn chèn một hàng dữ liệu vào bảng cơ sở dữ liệu SQL Server theo cách thủ công bằng cách sử dụng SQL. Cách dễ nhất để làm điều đó là gì?Ví dụ Chèn SQL Server

Ví dụ: nếu tôi có bảng USERS, với các cột ID (số), FIRST_NAME và LAST_NAME, tôi sẽ sử dụng truy vấn nào để chèn hàng vào bảng đó?

Ngoài ra tôi nên sử dụng cú pháp nào nếu tôi muốn chèn nhiều hàng cùng một lúc?

Trả lời

42

Để chèn một hàng duy nhất của dữ liệu:

INSERT INTO USERS 
VALUES (1, 'Mike', 'Jones'); 

Để làm một chèn vào các cột cụ thể (như trái ngược với tất cả trong số họ), bạn phải xác định các cột bạn muốn cập nhật.

INSERT INTO USERS (FIRST_NAME, LAST_NAME) 
VALUES ('Stephen', 'Jiang'); 

Để chèn nhiều dòng dữ liệu trong SQL Server 2008 hay muộn:

INSERT INTO USERS VALUES 
(2, 'Michael', 'Blythe'), 
(3, 'Linda', 'Mitchell'), 
(4, 'Jillian', 'Carson'), 
(5, 'Garrett', 'Vargas'); 

Để chèn nhiều dòng dữ liệu trong phiên bản trước của SQL Server, sử dụng "UNION ALL" như vậy:

INSERT INTO USERS (FIRST_NAME, LAST_NAME) 
SELECT 'James', 'Bond' UNION ALL 
SELECT 'Miss', 'Moneypenny' UNION ALL 
SELECT 'Raoul', 'Silva' 

Lưu ý, từ khóa "INTO" là tùy chọn trong truy vấn INSERT. Nguồn và truy vấn nâng cao hơn có thể được tìm thấy here.

+0

Cảm ơn bạn đã thêm đoạn mã! – Roman

7

Dưới đây là 4 cách để chèn dữ liệu vào bảng.

  1. Chèn đơn giản khi trình tự cột bảng được biết.

    INSERT INTO Table1 VALUES (1,2,...)

  2. chèn đơn giản thành các cột quy định của bảng.

    INSERT INTO Table1(col2,col4) VALUES (1,2)

  3. chèn hàng loạt khi ...

    1. Bạn muốn chèn mỗi cột của Table2 vào Table1
    2. Bạn biết dãy cột của Table2
    3. Bạn chắc chắn rằng các trình tự cột của Bảng 2 sẽ không thay đổi trong khi câu lệnh này đang được sử dụng (có lẽ bạn sẽ chỉ sử dụng câu lệnh một lần).

    INSERT INTO Table1 {Column sequence} SELECT * FROM Table2

  4. chèn hàng loạt các dữ liệu được chọn vào cột quy định của Table2.

.

INSERT INTO Table1 (Column1,Column2 ....) 
    SELECT Column1,Column2... 
     FROM Table2