在学习数据库编程总结了笔记,并分享出来。有问题请及时联系博主:Alliswell_WP,转载请注明出处。

09-数据库编程day03(oracle mysql sql)

 

 

一、学习目标

1.oracle创建和管理表
2.oracle的视图,索引,同义词,序列(了解作用和创建方式)
3.mysql库的增删改查
4.mysql表的增删改查
5.mysql数据的增删改查

 

二、复习

》多表查询的理论基础:笛卡尔集

笛卡尔集行数= 表1的行数*表2的行数
列数= 相加 N张表的连接条件至少是N-1

》统计:部门编号,部门名称,人数

select  d.deptno,d.dname,count(e.empno)    
from emp e,dept d 
where e.deptno=d.deptno 
group by d.deptno,d.dname;

--右外连接  统计各部门人数

select  d.deptno,d.dname,count(e.empno)    
from emp e,dept d 
where e.deptno(+)=d.deptno 
group by d.deptno,d.dname;

--自连接  显示xxx的老板是yyy

select e.ename||'''s boss is '||b.ename
  from emp e,emp b 
where e.mgr = b.empno;

——显示大老板是他妻子

select e.ename||'''s boss is '||nvl(b.ename,'his wife!')  
 from emp e,emp b
 where e.mgr = b.empno(+);

子查询可以放置的地方:

select    
from   
where
group by  … err
having
order by … err

》子查询注意事项:
○ 书写规则,缩进,换行,加()
○ by后不能放置子查询
○ from 后放置的是集合
○ 单行子查询使用单行操作符,多行子查询使用多行操作符(in,any,all)

》练习中条件表达式

decode(column|expr,search1,res1,search2,res2, …,default)
case  expr when expr1 then res1
  when expr2 then res2
  …
  else …                  
end

 

三、Oracle SQL语句

1、表的创建和管理

》表的管理:
○ 创建前提条件:表空间+权限
○ 注意事项
▪ 长度不能超过30
▪ 第一个必须是字母
数据类型
数据库编程——Oracle MySQL SQL

创建一个表
create table t1(id number,name varchar2(30));
增加一个列
alter table t1 add email varchar2(30);
修改列属性
alter table t1 modify email varchar2(40);
重命名列
alter table t1 rename column email to address;
删除列
alter table t1 drop column address;

数据库编程——Oracle MySQL SQL

重命名表--不用加table
SQL> rename t1 to t2;
SQL> drop table t2;
表已删除。

oracle给提供了回收站
数据库编程——Oracle MySQL SQL

purge的作用删除不经过回收站

回收站的表可以闪回(10g开始支持)
SQL> flashback table t2 to before drop;

闪回完成。
 drop table t2 purge;

--清空回收站
drop table emp10;
purge recyclebin;
flashback table emp10 to before drop;
数据库编程——Oracle MySQL SQL

sys用户没有回收站

 

》通过已有表创建新表
create table newtable as select * from srctab where 1=2;
列可以指定default值,如果该列不显示插入,使用默认值。

 

2、表的约束

》表的约束(5种):
○ 检查
○ 非空
○ 唯一
○ 主键(非空+唯一)
○ 外键

》外键关系图:子表引用主表的主键

数据库编程——Oracle MySQL SQL
create table student(
id number constraint pk_student primary key,
name varchar2(30)  not null,
email varchar2(30) unique,
sex varchar2(10) check(sex in ('男','女')),
sal number check(sal>10000),
deptno number(2) references dept(deptno) on delete set null
);
alter table student add hiredate date default sysdate;

 

3、序列的使用

 

4、视图

 

5、同义词

 

6、索引

 

7、客户端创建解决方案

 

 

四、MySQL SQL语句

1、MySQL基础

 

2、MySQL组合拳保证服务正常

3、MySQL库的操作

4、MySQL表的操作

5、MySQL数据的操作

6、MySQL组函数相关

7、MySQL日期函数、数字函数、字符函数

8、MySQL转换函数

9、MySQL多表查询准备

10、MySQL内连接

11、MySQL多表查询

12、MySQL补充

 

 

 

在学习数据库编程总结了笔记,并分享出来。有问题请及时联系博主:Alliswell_WP,转载请注明出处。

相关文章: