SQLServer第⼆章-数据的插⼊、删除、修改
第1关:数据的插⼊
任务描述
在 sqlserver 中有三个⾼频使⽤的数据操作语句 (DML,Data Manipulation Language) ,熟练掌握这三个语句的使⽤⽅法,能让⼤家快速⼊门 sqlserver 。本关就先为⼤家重点介绍数据的插⼊( INSERT )。
sql中delete用法相关知识
INSERT 顾名思义,就是向表(table)中插⼊⾏。
插⼊完整内容的⾏
向表中插⼊数据最简单的⽅法,就是使⽤ INSERT 语句。 INSERT 语句需要你声明要插⼊内容的表名和内容。举个“栗⼦”!
假设我们现在要建⽴⼀张名为 Customers 的空表,建⽴过程如下:
USE TestDb
CREATE TABLE Customers
(
cust_id int not null,
cust_name varchar(32) not null,
cust_city varchar(32) not null,
cust_email varchar(32) null
)
–查看表内容
SELECT * FROM Customers
得到的空表是这样的:
接下来,我们要往空表中插⼊⼀条内容, 插⼊ (INSERT) 语句如下:
INSERT INTO Customers
VALUES (
'1000000006',
'Toy Land',
'New York',
NULL
)
如图所⽰,是我们得到的结果,⼀条完整的内容已经被填⼊了空表中。
整体执⾏过程如下图所⽰:
分析:
在这个例⼦中,我们把消费者的信息 (values) 依序插⼊了 Customers 表中。可能有⼈已经注意到, INSERT INTO 后⾯只跟了⼀个表名,这就意味着,我们插⼊内容的时候必须是依序全内容插⼊,即使内容为空,也必须⽤空值 NULL 来填补。
这样的插⼊虽然简单,但是很危险。⼀旦表的结构变了,你就会插错内容。下述的⽅法虽然相对繁琐,其最⼤的优点就是安全。它列出了你想要插⼊内容所对应的字段(column),⼀⼀对应就不容易出错。
⽐如:我们换下字段(column) 的顺序,看看会不会成功。
INSERT INTO Customers(
cust_id,
cust_email,
cust_name,
cust_city
)
VALUES (
'1000000006',
NULL,
'Toy Land',
'New York'
)
从结果可以看出,即使打乱了顺序,这种⽅法也能将内容安全地插⼊。所以我们推荐写插⼊语句时,把字段(column)名也⼀并写进去。插⼊选定内容的⾏
就像我刚才说的,把字段(column)名写⼊插⼊语句是个好办法!⽤这个⽅法,我们还能忽略某些字段,只插⼊我们最关⼼的数据。
⽐如,我们忽略 cust_email ,为表 Customers 插⼊内容。
INSERT INTO Customers(
cust_id,
cust_name,
cust_city
)
VALUES (
'1000000006',
'Toy Land',
'New York'
)
从结果可以看出,我们成功地进⾏了有选择的插⼊。
综上所述,本关主要为⼤家讲解了数据的插⼊,祝⼤家顺利通过本关评测。
编程要求
在右侧根据提⽰补全语句,具体编程任务是:
补全右侧代码⽚段中 create database 下 Begin-End 区间的代码,⽤来建⽴数据库 school ;
补全右侧代码⽚段中 create table 下 Begin-End 区间的代码,⽤来建⽴空表 teacher ,其中表结构如
下图所⽰;
补全右侧代码⽚段中 insert 下 Begin-End 区间的代码,⽤来将 Lucy 插⼊表中,其中数据内容如下图所⽰:
测试说明
测试过程:
本关涉及到的测试⽂件是 test1.shell ,平台将运⾏⽤户补全的 step1.sql ⽂件,得到数据;
将得到的数据与答案⽐较,判断代码是否正确。
如果操作正确,你将得到如下的结果:
如果操作正确,你将得到如下的结果:
开始你的任务吧,祝你成功!
参考代码:
-- ********** create database ********** --
-- ********** Begin ********** --
create database school
-- ********** End ********** --
go
use school
go
-- ********** create table ********** --
-- ********** Begin ********** --
create table teacher
(
ID int not null,
Name varchar(20) not null,
sex char(2) not null,
Phone varchar(20) null
)
-- ********** End ********** --
go
SET NOCOUNT ON
-- ********** insert ********** --
-
- ********** Begin ********** --
insert into teacher (ID, Name, sex) values (1, 'Lucy', 'F')
-- ********** End ********** --
go
第2关:数据的删除
任务描述
喂⼀句⼼灵鸡汤:⼈⽣,从来都没有 delete 键,你能做的,只有负重前⾏,⼼向阳光。
真的是这样吗?⾄少在虚拟世界,后悔药是有的卖的,你是可以重新来过的。
本关就为各位提供上帝视⾓般的 delete 键,接下来我们会重点介绍数据的删除(DELETE)。
相关知识
使⽤ DELETE 语句可以从表中删除数据。 DELETE 的两种⽤法如下所⽰:
删除表中的指定⾏;
删除表中的所有⾏。
删除表中的指定⾏
DELETE FROM 后⾯需要你指定删除内容所在的表, WHERE 语句是过滤语句,它⽤来帮你寻哪条内容是你想要删除的。在下⾯的例⼦中,只有消费者 1000000006 的内容才会被删除。
DELETE FROM Customers WHERE cust_id=1000000006
⽬前原始表有两条内容:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论