insert
insert into 表名 values(值列表);
insert into 表(指定列) values(值列表);
insert into 表名 select 查询列 from 源表where 过滤数据
insert into 表(指定列)select 查询列 from 源表 where 过滤数据
update 表名 set 字段二值【....】where 过滤行记录
没有where 修改所有数据
delete 删除
delete [from] 表名 where 过滤行记录
删除主外键关系下的两张表中的数据
删除从表中的数据:可以直接删除
删除主表中的数据:删除主表中没有被从表中数据引用的主表数据——》可以直接删除
删除主表中被从表中数据引用的主表数据:不能直接删除,解决方案三种
1.先删除从表中引用的那些从表结构,在删除主表数据
2.删除主表数据的同时删除从表中引用的那些从表数据,在外键约束的最后位置添加on delete cascade
3.删除主表数据的同时把从表中引用了当前主表数据的从表数据的外键字段值设置为null,在外键约束的设置位置的最后添加on delete cascade
截断数据 truncate
truncate table 表名;截断一张表中的所有数据
1.能够删除所有的数据
2.不会开启事务
3.表结构上检查是否被从表关联,如果是并不能使用数据截断 truncate table tb_user;
视图与索引
视图view
作用:简化封装sql,可以复用,提高安全性
分类:
逻辑视图:不储存数据,只封装sql,数据来自于数据源
物理视图\物化视图:可以储存数据
创建视图
create or replace view 视图名 as select 语句[with read only];
删除视图
drop view vm_xixi
使用视图
select * from vm_xixi;
select * from emp;
索引——提高查询速度的手段——相当于目录
唯一性较好字段适合建立索引
无形的,字段是否存在索引不影响使用
索引本身是数据库的对象之一,需要数据库维护
大数据量的查询适合添加索引,根据字段大量做查询
如果一个字段添加了索引,少做查询,反而会降低效率,因为索引要跟新,需要维护
Oracle 数据库会自动为主键添加索引
序列(工具)
管理表中一些数字型的字段的字段值,是一个工具
创建create sequence 序列名 start with 起始值 increment by 步进;
获取最新值
获取当前值
删除序列