准备工作:(写给新手看的,非新手可选择性跳过)
①使用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