数据库
建表sql
create table 表名;
create table student(
sno number(2) constraint pk_dept primary key,
sname varchar2(14) unique key,
sex varchar2(1) foreign key ;
备注:
主键(不为空,不重复,primary key )
唯一(不重复,空可以出现1次,unique)
外键(该字段的值,必须在指定外部表中存在,foreign key)
删表sql
drop table 表名;
drop table student;
改表名
alter table 旧表名 rename to 新表名;
alter table older_student rename to new_student ;
查数据库中所有表
select * from user_tables t;
索引(index)
主键索引(创建表时,默认有主键,不用写主键)
普通索引
create unique index uq_ename_idx on studnet(sname)
权限(o用户:owner所有权限用户,c用户:customer使用客户用户;grant:把表的增删改查权限有选择性的赋权给其它用户(比如程序连接的数据库用户名)
sql查询方法图:
组合因子
1、视图:表,sql查询后的结果
2、操作方法
from
join on
where
group by
having
select:rownum、rowid
top
order by
2组合规则
1.操作方法传入一个视图,输出一个视图
2.操作方法可以套接成串执行,但是有固定的先后顺序
表连接
1、左连接(查询的结果以左边为准,保证左边的数据都有)
select * from a left join b where a.id=b.id
2、右连接(查询的结果以右边为准,保证右边的数据都有)
select * from a right join b where a.id=b.id
3、全连接(查询的结果顾及两边都有)
select * from a full join b on a.sno=b.sno ,没有的有为空显示
4、sql加减法
sql和sql的结果可以做加减运算(minuus(减)、union(加)、union all(加全部)、intersect(交叉))
4.1 sql1 minus sql2 (查询两条sql有差异的地方)
4.2 sql1 union sql2 (查询两条sql的并集)
4.3 sql1 union all sql2(查询两条sql的并集,交集多取一次)
4.4 sql1 intersect sql2(查询两条sql的交集)