SQL 数据处理-insert update delete

插入数据 insert

insert into table_name[(column1,column2)] values(value1,value2)
  • 例:先备份表,后插入数据
use database_name
go
select * into 仓库备份 from 仓库
go
select * into 职工备份 from 职工

go
insert into 备份仓库(仓库号,城市,面积,创建时间) values('wh6','青岛',890','2018-7-22')

*tip: 仓库ID是自动编号字段,不能再insert中插入
仓库号是唯一字段,若插入已存在的’wh3’则会失败
面积字段为check()约束字段,取值范围外也会插入失败*

插入指定列记录

use db_name
go
insert into 备份仓库(仓库号) values('wh7')
go
select * from 备份仓库

tip:其他字段显示为NULL

插入默认值记录

insert into 仓库 default values

插入多条记录

insert into 职工备份(职工号,仓库号,姓名,性别,工资)
              values('zg101','wh2','张亮','男',2160),
                    ('zg102','wh3','周科','女',1850)

Oracle插入多行

insert all 
    into 职工备份(职工号,仓库号,姓名,性别,工资) values('zg101','wh2','张亮','男',2160),
    into 职工备份(职工号,仓库号,姓名,性别,工资) values ('zg102','wh3','周科','女',1850)

union all

insert into 职工备份(职工号,仓库号,姓名,性别,工资)
    select'zg101','wh2','张亮','男',2160
    union all
    select'zg102','wh3','周科','女',1850
    union all
    select'zg103','wh3','周科','女',1850

插入查询结果到指定数据库insert select

--新建一张空表
creat table new_table(姓名 varchar(50),工资 int)
insert into new_table select 姓名,工资 from 职工 where 工资>1900

更新数据(修改) update set

update tablename set columnName1=value1
- 例1:把仓库号为’wh1’的面积改成“888”

update 仓库备份 set 面积=888 where 仓库号='wh1'
  • 例2:把wh1仓库的面积在原基础上增加150,再扩大20%
update 仓库备份 set 面积=(面积+150)*1.2 where 仓库号='wh1'

嵌套更新

  • 例:把“北京”地区的职工工资减少100,再增加1倍
update 职工备份 set 工资=(工资-100)*2 where 仓库号 in
    (select 仓库号 from 仓库备份 where 城市='北京')

删除数据 delete

delete 仓库备份 where 仓库号='wh1'

删除表

  • delete
delete tabke_name
  • truncate
truncate table tb_name

truncate会忽略触发器,仅仅将记录一次删除,delete还会删除有依赖关键的表

猜你喜欢

转载自blog.csdn.net/weixin_41471128/article/details/81806249