insert语法
INSERT INTO:新增一个记录。
INSERT INTO…SELECT:新增多个记录。
一、INSERT INTO
新增一个记录的INSERT INTO语法如下:
INSERT INTO 表 [(字段1[,字段2[, ...]])]
VALUES (值1[,值2[, ...])
新增的记录,将依照指定字段排列的顺序插入对应的值,譬如值1将被插入至字段1,值2将被插入至字段2,依此类推。
若未指定 (字段1[,字段2[, ...]]) ,将依照表所定义的字段排列的顺序插入对应的值,在VALUES 子句必须包含表中的每一字段值。
值间须使用逗点分隔,文字字段须使用单用引号 ('值') 括起来。
二、Insert Into...Select
若要新增多个记录,可以使用INSERT INTO…SELECT,语法如下:
INSERT INTO 表 [IN 外部资料库] [(字段1[,字段2[, ...]])]
SELECT [表.]字段1[, 字段2[, ...]
FROM 表
如果表包含一个主索引,须确定新增到主索引字段的值是唯一的且不可为Null值。
原表的字段为自动编号类型时,如果您要将新增记录重新编号,就不要在查询之中包含自动编号字段。若要保持原字段中的值,则将自动编号加在查询之中。
INSERT INTO将所新增的记录加入原有的表之中。若要建立一个新的表,可以使用 SELECT... INTO 的语句。
------------------------------
Insert是T-sql中常用语句,Insert INTO table(field1,field2,...) values(value1,value2,...)这种形式的在应用程序开发中必不可少。但我们在开发、测试过程中,经常会遇到需要表复制的情况,如将一个table1的数据的部分字段复制到table2中,或者将整个table1复制到table2中,这时候我们就要使用SELECT INTO 和 INSERT INTO SELECT 表复制语句了。
1.INSERT INTO SELECT语句
语句形式为:Insert into Table2(field1,field2,...) select value1,value2,... from Table1
要求目标表Table2必须存在,由于目标表Table2已经存在,所以我们除了插入源表Table1的字段外,还可以插入常量。示例如下:
--1.创建测试表
createTABLE Table1
(
a varchar(10),
b varchar(10),
c varchar(10),
CONSTRAINT[PK_Table1]PRIMARYKEYCLUSTERED
(
a ASC
)
) ON[PRIMARY]
createTABLE Table2
(
a varchar(10),
c varchar(10),
d int,
CONSTRAINT[PK_Table2]PRIMARYKEYCLUSTERED
(
a ASC
)
) ON[PRIMARY]
GO
--2.创建测试数据
Insertinto Table1 values('赵','asds','90')
Insertinto Table1 values('钱','asds','100')
Insertinto Table1 values('孙','asds','80')
Insertinto Table1 values('李','asds',null)
GO
select*from Table2
--3.INSERT INTO SELECT语句复制表数据
Insertinto Table2(a, c, d) select a,c,5from Table1
GO
--4.显示更新后的结果
select*from Table2
GO
--5.删除测试表
dropTABLE Table1
dropTABLE Table2
2.SELECT INTO FROM语句
语句形式为:SELECT vale1, value2 into Table2 from Table1
要求目标表Table2不存在,因为在插入时会自动创建表Table2,并将Table1中指定字段数据复制到Table2中。示例如下:
--1.创建测试表
createTABLE Table1
(
a varchar(10),
b varchar(10),
c varchar(10),
CONSTRAINT[PK_Table1]PRIMARYKEYCLUSTERED
(
a ASC
)
) ON[PRIMARY]
GO
--2.创建测试数据
Insertinto Table1 values('赵','asds','90')
Insertinto Table1 values('钱','asds','100')
Insertinto Table1 values('孙','asds','80')
Insertinto Table1 values('李','asds',null)
GO
--3.SELECT INTO FROM语句创建表Table2并复制数据
select a,c INTO Table2 from Table1
GO
--4.显示更新后的结果
select*from Table2
GO
--5.删除测试表
dropTABLE Table1
dropTABLE Table2
select * into destTbl from srcTbl
insert into destTbl(fld1, fld2) select fld1, 5 from srcTbl
以上两句都是将 srcTbl 的数据插入到 destTbl,但两句又有区别的。
第一句(select into from)要求目标表(destTbl)不存在,因为在插入时会自动创建。
第二句(insert into select from)要求目标表(destTbl)存在,由于目标表已经存在,所以我们除了插入源表(srcTbl)的字段外,还可以插入常量,如例中的:5。
使用insert into select from批量增加数据
文章分类:数据库1.INSERT INTO SELECT语句
语句形式为:
- Insert into Table2(field1,field2,...) select value1,value2,... from Table1
Insert into Table2(field1,field2,...) select value1,value2,... from Table1
要求目标表Table2必须存在,由于目标表Table2已经存在,所以我们除了插入源表Table1的字段外,还可以插入常量。示例如下:
INSERT INTO SELECT语句复制表数据
--1.创建测试表
- create TABLE Table1
- (
- a varchar(10),
- b varchar(10),
- c varchar(10),
- CONSTRAINT [PK_Table1] PRIMARY KEY CLUSTERED
- (
- a ASC
- )
- ) ON [PRIMARY]
- create TABLE Table2
- (
- a varchar(10),
- c varchar(10),
- d int,
- CONSTRAINT [PK_Table2] PRIMARY KEY CLUSTERED
- (
- a ASC
- )
- ) ON [PRIMARY]
- GO
create TABLE Table1 ( a varchar(10), b varchar(10), c varchar(10), CONSTRAINT [PK_Table1] PRIMARY KEY CLUSTERED ( a ASC ) ) ON [PRIMARY] create TABLE Table2 ( a varchar(10), c varchar(10), d int, CONSTRAINT [PK_Table2] PRIMARY KEY CLUSTERED ( a ASC ) ) ON [PRIMARY] GO--2.创建测试数据
- Insert into Table1 values('赵','asds','90')
- Insert into Table1 values('钱','asds','100')
- Insert into Table1 values('孙','asds','80')
- Insert into Table1 values('李','asds',null)
- GO
- select * from Table2
Insert into Table1 values('赵','asds','90') Insert into Table1 values('钱','asds','100') Insert into Table1 values('孙','asds','80') Insert into Table1 values('李','asds',null) GO select * from Table2--3.INSERT INTO SELECT语句复制表数据
- Insert into Table2(a, c, d) select a,c,5 from Table1
- GO
Insert into Table2(a, c, d) select a,c,5 from Table1 GO
--4.显示更新后的结果
- select * from Table2
- GO
select * from Table2 GO--5.删除测试表
- drop TABLE Table1
- drop TABLE Table2
drop TABLE Table1 drop TABLE Table22.SELECT INTO FROM语句
语句形式为:SELECT vale1, value2 into Table2 from Table1
要求目标表Table2不存在,因为在插入时会自动创建表Table2,并将Table1中指定字段数据复制到Table2中。示例如下:
SELECT INTO FROM创建表并复制表数据
--1.创建测试表
- create TABLE Table1
- (
- a varchar(10),
- b varchar(10),
- c varchar(10),
- CONSTRAINT [PK_Table1] PRIMARY KEY CLUSTERED
- (
- a ASC
- )
- ) ON [PRIMARY]
- GO
create TABLE Table1 ( a varchar(10), b varchar(10), c varchar(10), CONSTRAINT [PK_Table1] PRIMARY KEY CLUSTERED ( a ASC ) ) ON [PRIMARY] GO
--2.创建测试数据
- Insert into Table1 values('赵','asds','90')
- Insert into Table1 values('钱','asds','100')
- Insert into Table1 values('孙','asds','80')
- Insert into Table1 values('李','asds',null)
- GO
Insert into Table1 values('赵','asds','90') Insert into Table1 values('钱','asds','100') Insert into Table1 values('孙','asds','80') Insert into Table1 values('李','asds',null) GO--3.SELECT INTO FROM语句创建表Table2并复制数据
- select a,c INTO Table2 from Table1
- GO
select a,c INTO Table2 from Table1 GO
--4.显示更新后的结果
- select * from Table2
- GO
select * from Table2 GO--5.删除测试表
- drop TABLE Table1
- drop TABLE Table2
drop TABLE Table1 drop TABLE Table2
相关推荐
SQL插入记录的语法是: insert into 表名 (字段名1,字段名2, …) values (“字段1的值”,”字段2的值”, …) 先前那句程序就是根据这个语法而来,需要注意的是,values括号中的值我都加上了引号,这是因为所...
13.2.4. INSERT语法 13.2.5. LOAD DATA INFILE语法 13.2.6. REPLACE语法 13.2.7. SELECT语法 13.2.8. Subquery语法 13.2.9. TRUNCATE语法 13.2.10. UPDATE语法 13.3. MySQL实用工具语句 13.3.1. DESCRIBE语法...
Mysql 中文版 方便的查询mysql命令~~~ 13.1. 数据定义语句 ...13.2.4. INSERT语法 13.2.5. LOAD DATA INFILE语法 13.2.6. REPLACE语法 13.2.7. SELECT语法 13.2.8. Subquery语法 13.2.9. TRUNCATE语法
NULL 博文链接:https://dreamzhong.iteye.com/blog/1207377
Go轻量ORM,零依赖,支持达梦(dm),金仓(kingbase),神通(shentong),南通(gbase),TDengine,mysql,postgresql,oracle,mssql,...支持clickhouse,更新,删除语句使用SQL92标准语法.clickhouse-go官方驱动不支持批量insert语法,
var insertQuery = require('insert-sql-generator') var object = { a: 1, b: 'foo', c: true } var result = insertQuery('myTable', object) // prints INSERT INTO myTable (a,b,c) VALUES (?,?,?) console....
13.2.4. INSERT语法 13.2.5. LOAD DATA INFILE语法 13.2.6. REPLACE语法 13.2.7. SELECT语法 13.2.8. Subquery语法 13.2.9. TRUNCATE语法 13.2.10. UPDATE语法 13.3. MySQL实用工具语句 13.3.1. DESCRIBE语法(获取...
13.2.4. INSERT语法 13.2.5. LOAD DATA INFILE语法 13.2.6. REPLACE语法 13.2.7. SELECT语法 13.2.8. Subquery语法 13.2.9. TRUNCATE语法 13.2.10. UPDATE语法 13.3. MySQL实用工具语句 13.3.1. DESCRIBE...
13.2.4. INSERT语法 13.2.5. LOAD DATA INFILE语法 13.2.6. REPLACE语法 13.2.7. SELECT语法 13.2.8. Subquery语法 13.2.9. TRUNCATE语法 13.2.10. UPDATE语法 13.3. MySQL实用工具语句 13.3.1. DESCRIBE语法...
13.2.4. INSERT语法 13.2.5. LOAD DATA INFILE语法 13.2.6. REPLACE语法 13.2.7. SELECT语法 13.2.8. Subquery语法 13.2.9. TRUNCATE语法 13.2.10. UPDATE语法 13.3. MySQL实用工具语句 13.3.1. DESCRIBE语法(获取...
13.2.4. INSERT语法 13.2.5. LOAD DATA INFILE语法 13.2.6. REPLACE语法 13.2.7. SELECT语法 13.2.8. Subquery语法 13.2.9. TRUNCATE语法 13.2.10. UPDATE语法 13.3. MySQL实用工具语句 13.3.1. DESCRIBE语法(获取...
13.2.4. INSERT语法 13.2.5. LOAD DATA INFILE语法 13.2.6. REPLACE语法 13.2.7. SELECT语法 13.2.8. Subquery语法 13.2.9. TRUNCATE语法 13.2.10. UPDATE语法 13.3. MySQL实用工具语句 13.3.1. DESCRIBE语法(获取...
7.2.16. INSERT语句的速度 7.2.17. UPDATE语句的速度 7.2.18. DELETE语句的速度 7.2.19. 其它优化技巧 7.3. 锁定事宜 7.3.1. 锁定方法 7.3.2. 表锁定事宜 7.4. 优化数据库结构 7.4.1. 设计选择 7.4.2. 使你的数据尽...
13.2.4. INSERT语法 13.2.5. LOAD DATA INFILE语法 13.2.6. REPLACE语法 13.2.7. SELECT语法 13.2.8. Subquery语法 13.2.9. TRUNCATE语法 13.2.10. UPDATE语法 13.3. MySQL实用工具语句 13.3.1. DESCRIBE语法(获取...
INSERT语句的速度 7.2.17. UPDATE语句的速度 7.2.18. DELETE语句的速度 7.2.19. 其它优化技巧 7.3. 锁定事宜 7.3.1. 锁定方法 7.3.2. 表锁定事宜 7.4. 优化数据库结构 7.4.1. 设计选择 ...
MERGE命令是Oracle9i及以后版本新增的命令,其字面上的意思就是合并、兼并,用来合并UPDATE和INSERT语法。通过 MERGE 命令,根据一张表或子查询的连接条件对数据进行合并、更新和插入操作,可以提高数据库的处理性能...
达梦8数据库操作语法
1. 验证所有 SELECT、INSERT、UPDATE 和 DELETE 语句的语法是有效的。进行任何必要的修改。 2. 把所有外部联接改为 SQL-92 标准外部联接语法。 3. 用相应 SQL Server 函数替代 Oracle 函数。 4. 检查所有的比较...