#头条创作挑战赛#
插入数据
向表中新增数据在数据库中叫做插入数据(insert into)可使用以下几种方式插入数据
1)使用标准的插入数据格式(推荐使用)
--切换至表所在的数据库
--否则插入数据时会报错
--报错信息:对象名 '表名' 无效
use School;
--插入数据的标准格式
insert into 表名 (列名1,...,列名N) values(值1,...,值N)
--示例:向Class表中插入一条数据
--以便情况下自动编号列不能填写数据(后面说明)
insert into Class (CName, CDesc, CIsDel)
values ('晋','西晋',0)
2)省略列名格式;前提:除了自动编号列,其他列需要依次填写数据(可以用,不推荐)
--省略列名 CName, CDesc, CIsDel
--直接填写数据
insert into Class values ('晋','东晋',0)
3)向表中的部分列插入数据;前提:其他列必须是自动编号或有默认值或可为空的列
--SId, SCId, SName, SAge, SGender, SPhone, SAddress
--SId(自动编号列)SAge, SGender, SPhone, SAddress(默认值列)
insert into
Student (SCId, SName, SAge)
values(6,'张昭',50)
4)向表中插入多条数据(使用部分列格式)
insert into Student (SCId, SName, SAge)
select 2,'蒙武',38 union
select 2,'蒙恬',38 union
select 2,'蒙毅',38
5)如果列名过多可通过鼠标拖拽列名直接到查询窗口插入语句中
拖拽列名至插入语句中
6)自动编号列一般无法通过手动插入数据(无论设计还是代码模式)因为自动编号列的属性 identity_insert 值默认为 off(关闭状态)
自动编号列无法插入
要想手动插入数据需要将自动编号列的属性 identity_insert 值设置为 on(打开状态)
--1 设置identity_insert为 on
set identity_insert Class on
--2 编写插入数据的语句
insert into
Class (CId, CName, CDesc, CIsDel)
values(11,'唐','唐朝',0)
--再次执行此插入语句即可插入数据
7)如果数据是非数值类的,数据前面使用N为前缀(作用:简单来说就是防止数据出现乱码)
insert into
Class (CName, CDesc, CIsDel)
values(N'宋',N'北宋',0)
通过代码插入数据
删除数据
删除数据有三种方式:
1)使用 delete/truncate 删除数据,只删除表中数据,不会删除表结构
2)使用 drop 不只删除数据,还会删除表结构
3)通过更新标志字段(如IsDel)决定是否删除数据(被称为软删除)
--不带条件的删除语句
--将删除所有的表中数据(不带条件将会删除所有数据即清空数据)
delete from Student
truncate table Student
drop table Student
--带条件的删除数据(多为delete与软删除方式中使用)
--条件中的符号都有如 =,(不等于)>,>=,<=,and(并且) or(或者)等
--单条件删除表中性别为男的数据(0:女 1:男)
delete from Student where SGender = 1
--多条件删除数据
--删除表中性别为男并且年龄是20岁的数据(同时满足两个条件)
delete from Student where SGender = 1 and SAge=20
--删除表中性别为男或年龄是20岁的数据(满足任一条件)
delete from Student where SGender = 1 or SAge=20
清空数据中使用 delete 与 truncate 的区别
delete from 表名
truncate table 表名
--区别:
--1)对自动编号的影响
--使用delete语句清空数据,自动编号列不会回到初始值 1
--会在之前的编号基础上继续累加
--使用truncate语句清空数据,自动编号会回到初始值 1
--2)如果要清空的数据在数百万行时建议使用truncate语句
--因为truncate语句会按照最小的方式来记录日志因此比较高效
修改数据
在数据库中修改事件被称为更新(update)数据,一般配合条件表达式
--更新数据格式
update 表名 set 列1=值1,...,列N=值N where 条件
--不带条件将会更新表中所有数据
update Student set SGender=1
--更新带条件的数据
--将条件CIsDel=1的数据更新性别为男 SGender=1
update Student set SGender=1 where CIsDel=1
--将名为周瑜的性别修改为男
update Student set SGender=1
where SName = N'周瑜'
更新数据
限 时 特 惠: 本站每日持续更新海量各大内部创业教程,一年会员只需98元,全站资源免费下载 点击查看详情
站 长 微 信: lzxmw777
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。