欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-09-14 11:00:47
准备工作:(写给新手看的,非新手可选择性跳过)①使用DDL数据定义数据创建一个数据库dbnamecreate database dbname--在数据库sql server中新建查询(快捷键ctrl+n),创建 数据库 数据库名dbname②使用DDL数据定义数据在数据dbname中创建一个数据表my_dbuse dbname --使用这个数据库create table my_db(--创建 数据表 数据表名one(id varchar(50),--数据列名...

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

①使用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