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
相关推荐
1. **SQL 语法解释**:首先,这是一条标准的`INSERT INTO` SQL语句,用于向名为`info`的表中插入两列数据,即`ename`和`pcname`。 2. **动态构建**:通过PHP的字符串连接功能,利用`$_POST`数组获取用户提交的数据...
在Java的Hibernate ORM框架中,`dynamic-insert`和`dynamic-update`是两个非常重要的属性,它们主要用于优化数据库的插入和更新操作。这两个属性主要应用于实体类的映射文件(.hbm.xml)中,用于控制Hibernate如何...
- **INSERT语法**:用于向表中插入新的行数据。 - **LOAD DATA INFILE语法**:用于从外部文件加载数据到数据库表中。 - **REPLACE语法**:类似于INSERT,但若键值已存在则先删除再插入,常用于更新或插入唯一...
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语法
##### 13.2.4 INSERT 语法 `INSERT` 语句用于向表中插入新的行。基本语法如下: ```sql INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...); ``` 其中 `table_name` 是要插入数据的表...
4. **INSERT语法**:INSERT语句用于向数据库中插入新记录。基本格式为`INSERT INTO 表名 (列名1, 列名2, ...) VALUES (值1, 值2, ...)`。这会将指定的值插入到指定的列中。 5. **全局变量和局部变量**:在SQL中,...
**INSERT 语法** `INSERT`命令用于向表中插入新行。 ```sql INSERT INTO table_name (column1, column2,...) VALUES (value1, value2,...); ``` - **table_name**:要插入数据的表名。 - **columnX**:要...
MySQL 表数据操作(DML)语法是 MySQL 中最重要的语法之一,它包括 insert、update 和 delete 三种操作。下面我们将详细介绍每种操作的语法和示例。 insert 操作 insert 操作用于向表中添加新记录。insert 语法有...
Go轻量ORM,零依赖,支持达梦(dm),金仓(kingbase),神通(shentong),南通(gbase),TDengine,mysql,postgresql,oracle,mssql,...支持clickhouse,更新,删除语句使用SQL92标准语法.clickhouse-go官方驱动不支持批量insert语法,
**INSERT语法**: INSERT语句用于向表格中添加新的记录。基本语法为: ```sql INSERT INTO table [(column[, column...])] VALUES (value[, value...]); ``` 这可以分为单笔新增和多笔新增两种情况: - **单笔新增*...
基本的INSERT语法格式如下: ```sql INSERT INTO 表名 (字段1, 字段2, ...) VALUES (值1, 值2, ...); ``` - **表名**:需要插入数据的表的名称。 - **字段1, 字段2, ...**:指定需要赋值的列名。 - **值1, 值2, .....
* --extended-insert:使用具有多个 Values 列的 insert 语法 主库上的备份和还原: * 使用 mysqldump 命令备份数据库 * 还原数据库 从库上的定期备份: * 使用 mysqldump 命令边 dump 边压缩备份文件 * 实现了...
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....
先将Excel数据转换为CSV格式,然后在SQL*Plus中使用INSERT INTO语句逐行插入数据,或者使用BULK INSERT语法进行批量插入。 - **方法四:使用外部表** 创建一个外部表定义,指定Excel文件作为数据源,然后像操作...
#### BULK INSERT语法详解: ```sql BULK INSERT table_name FROM 'file_path' WITH ( codepage = 'code_page', FIELDTERMINATOR = 'field_terminator', ROWTERMINATOR = 'row_terminator', FIRE_TRIGGERS ); `...
- **INSERT语法:** 描述INSERT语句的语法。 - **特殊的INSERT:** 特殊的INSERT操作。 #### 五、数据卸载 **5.1 数据卸载方式** - 描述不同数据卸载的方式。 **5.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语法(获取...
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语法...