SQL Server中增加(Insert)怎么写?怎么用?

准备工作:(写给新手看的,非新手可选择性跳过)

①使用DDL数据定义数据创建一个数据库dbname

create database dbname		--在数据库sql server中新建查询(快捷键ctrl+n),创建 数据库 数据库名dbname

②使用DDL数据定义数据在数据dbname中创建一个数据表my_db

use dbname 					--使用这个数据库
create table my_db(			--创建 数据表 数据表名one(
id varchar(50),						--数据列名id 数据类型int,
name nvarchar(50)			--数据列名name 数据类型nvarchar(50)
)							--)

进入正题,sql server中,insert分为多种增加情况

1.在已有的数据表中添加一次添加单行数据(insert后的into是可以省略的,建议新手在学习时不要去省略,多敲几遍,最起码,从懵逼到懵懂。)

①在已有的表中增加一行数据(不指定需要增加的列名,默认一条数据行的所有数据列都需要添加)

use dbname 									--使用这个数据库
insert into [my_db] values(1,'二号数据')		--增加 into [数据表名] values(数据列数据...),数据列数据中最好都添加单引号,避免不可预料的错误。

②在已有的表中添加一行数据(指定需要增加数据列的列名,不能多加数据列数据,不能少加数据列数据)

use dbname 									--使用这个数据库
insert into [my_db]([name]) values('三号数据') --增加 into [数据表名]([name]) values('三号数据'),这里给数据表名与数据列名外添加[]是为了预防与数据库中关键字发生冲突的一种处理

2.在已有的数据表中一次添加多行数据(②中的union关键字后的all是可以省略的,建议新手在学习时不要去省略,多敲几遍,最起码,从懵逼到懵懂。)

①是最简便的一种,

use dbname
insert into [my_db](id,name) values('1','一号数据'),
('2','二号数据'),									--在一次添加一行数据的基础上,使用逗号,与下一个小括号()中的数据进行分隔要添加的数据行
('3','三号数据')

②另一种一次添加一次添加多行,多学一种总会好一些。(与第一种相比,大同小异。)

use dbname insert into [my_db](name) select '四号数据' union all   --这里是将values关键字替换为select且移除小括号(),然后添加一行数据即小括号结束后需要添加 union all
select '五号数据' union all									--union这里起到链接一句sql语句中,上一小段和下一小段的作用,主要是让SSMS理解这是一句sql代码,不是在进行查询。
select '一号数据'

3.将表1数据的某些列(可以是全部)插入到表2中去,(表2是已经创建好的数据表,包含与表1相同的插入列,列属性相同)

创建表2的语句

use dbname			--上方已经解释过了,这里不再赘述,不理解意思,翻上去多看几遍。
create table one(
id varchar(50),
name nvarchar(50),
address nvarchar(200)
)

①现在我们将表1[my_db]的某些数据列插入到表2[one]中去。(这里是将表1中指定数据列的数据复制到表2中去)

use dbname							--使用数据库 dbname
insert into [one]([id],[name]) 		--增加 into 数据表[one]([id],[name])两数据列数据
select [id],[name]					--数据来源于 select [id],[name]
from my_db							--from my_db 数据来源于my_db数据表

②现在我们将表1[my_db]的某些数据列插入到表2[two]中去。(这里的表2是没有被用户创建的,二十在执行sql语句时创建的,并向创建的表中添加数据,类似于把指定列的一张新数据表复制过去的功能。)

select [name] into two 	--添加一张新表two,他的列是[name] 在这里不需要指定数据类型,因为他们都来自于接下来指定的数据源。
from my_db				--数据来源于 from my_db [my_db]数据表

在这里省略一次关键字,简要介绍为什么不建议少些一些可有可无的字段

select [name],[id] three 	--添加一张新表three,他的列是[name],[id] 这里省略了into关键字,虽然对于SSMS没有什么编译的影响,但是对于人就是开发者读并理解sql语句,增加了难度。
from my_db					--数据来源于 from my_db [my_db]数据表

这里介绍的是Insert(增加数据)语句,属于SQL语句中的DML语句,数据操作语句。(Data Manipulation Language的简写,DML)
最后,到这里就介绍结束了,希望能够帮你正在阅读的你,解决你所遇到的困难。

本文地址:https://blog.csdn.net/baqi_ge/article/details/107137628

THE END
喜欢就支持一下吧
点赞15 分享