总览
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' -- 换行符
);