總覽
5種方式分別爲:
- INSERT VALUES:直接把值插入
- INSERT SELECT:將一個查詢結果插入到另一個表
- SELECT INTO:非標準的T-SQL語句
- BULK INSERT:從外部讀入文件插入
序號 | 數據插入方式 | 說明 |
---|---|---|
1 | INSERT VALUES | 數據插入之前需要確保表是存在的,不然數據無法插入。 |
2 | INSERT SELECT | 數據插入之前需要確保表是存在的,不然數據無法插入。 |
3 | SELECT INTO | 數據插入之前表不能存在,即每次插入的時候回自動建表,該方式適用於臨時表。 |
4 | BULK INSERT | 數據插入之前需要確保表是存在的,不然數據無法插入。 |
1.INSERT VALUES
這種插入數據的方式是最基礎、最常見的方式。數據插入之前需要確保表是存在的,不然數據無法插入。
IF OBJECT_ID('A_TEST','U') IS NOT NULL DROP TABLE A_TEST; -- 刪表
CREATE TABLE A_TEST (ID VARCHAR(10)); -- 建表
INSERT INTO A_TEST VALUES ('1'),('2'); -- 插入數據
2.INSERT SELECT
該方式是將一個查詢結果插入到數據表中。數據插入之前需要確保表是存在的,不然數據無法插入。
IF OBJECT_ID('A_TEST','U') IS NOT NULL DROP TABLE A_TEST;
CREATE TABLE A_TEST (ID VARCHAR(10))
INSERT INTO A_TEST (ID)
SELECT '1' UNION ALL
SELECT '2'
-- 或者
INSERT INTO A_TEST (ID)
SELECT ID
FROM F_TEST;
3.INSERT INTO語句
該方式並非標準的T-SQL語句。數據插入之前表不能存在,即每次插入的時候回自動建表,該方式適用於臨時表。
IF OBJECT_ID('A_TEST','U') IS NOT NULL DROP TABLE A_TEST; -- 如果表存在,則先刪除
SELECT ID
INTO A_TEST
FROM F_TEST;
4.BULK INSERT
該方式爲將外部文件(csv、txt等)直接導入到數據庫中。數據插入之前需要確保表是存在的,不然數據無法插入。
IF OBJECT_ID('A_TEST','U') IS NOT NULL DROP TABLE A_TEST;
CREATE TABLE A_TEST(ID varchar(20),VALUE int)
BULK INSERT A_TEST FROM 'E:\PycharmProjects\UA數據中臺項目\ftest.csv'
WITH
(
datafiletype = 'char',
fieldterminator = ',', -- 分隔符
rowterminator = '\n' -- 換行符
);