数据库

建表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张图片

组合因子

1、视图:表,sql查询后的结果

2、操作方法

from

join on

where 

group by

having

select:rownum、rowid

top

order by

2组合规则

1.操作方法传入一个视图,输出一个视图

2.操作方法可以套接成串执行,但是有固定的先后顺序

表连接


数据库_第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的交集)

你可能感兴趣的