1.安装oracal,卸载orcal
卸载参考教程:
(142条消息) 完全卸载Oracle方法(超详细)_oracle卸载_Ninewind的博客-CSDN博客
安装参考教程:
oracle数据库安装(全步骤详解) - 知乎 (zhihu.com)
2.oracl 的相关概念
数据库对象:{
表空间,表,用户,函数,存储过程
}
实例
3.表空间:tablespace
4.创建表空间
语法
create tablespace 表空间名称
datafile :"创建路径(记得后缀名)"
size:声明文件大小
5.用户的创建
create user 用户名称
identified by 初始密码
default 表空间的名称
6.用户的授权和撤销权限
grant 需要授予的权限 to 用户名称
revoke 需要撤销的权限 from 用户名称
day01:
1:orcal的数据类型【四大类】:number varchar2 date
2.约束:主键约束:primary key;
外键约束:references
非空约束:not null
唯一约束:uiiqe
默认:defult
检查:check
3.table 数据表:
create table 表名字
(
字段名 数据类型 约束:
....
字段名 数据类型 约束(注意,此句结尾不加分号)
)
4.增删改查的语法
--单行插入
insert into tb_xxx(字段名)values(值);
--多行插入
insert into tb_xxx(字段名) select xxx from dual
--删除
delete from tb_xxx
delete form tb_xxx where xxx=xxx
delete tb_xxx;
truncate table tb_xxx
--修改
update tb_xxx set xx=xxx where xx=xxx;
--查询
select * from tb_xxx;
select 字段名 from tb_xxx ;
select distinct(字段名) from tb_xxx;--去除重复项
select * from tb_xxx where xxx between xxx and xxx;--区间查询
select * from tb_xxx where xxx like '%xxx%'--模糊查询
select * from tb_xxx where order by xxx desc;--降序查询
select * from tb_xxx where order by xxx asc;--升序查询
--连表查询 inner join 内连接 full outer join 外连接 left outer join 左外连接
right outer join 右外连接
--子查询 运算符:in not in
select * from tb_stu where stuAge>(
select stuAge from tb_stu where stuName='xxx'
)
--rowid rownum
替代top 关键字,解决分页效果
--查询表中最高的工资
select a.*,runnum from
(
select * from xxx order by 工资 desc
) a where runnum <=1;
--假如要查询四条 而且默认第一页时
select b.* from
(
select a.*,runnum rid from xxx a
)b where b.rid between 5 and 8;
通过sql语句实现分页查询功能
--首先定义
int pageSize=4 --每一页的页数
int pageIndex=1 --默认显示第一页
--此时当用户点击下一页时,显示第二页的数据
此时的第一页: pageIndex=1 pageSize=4 1-4
那么第二页: pageIndex=2 pageSize=8
由此看可找到规律
重新定义变量
起始位置:int start= (pageIndex-1) * pageSize+1
终端位置:int end=pageIndex * pageSize
------
此功能为分页查询初步思路
5.pl/sql 语言编程
三部分组成:声明部分 主体部分 异常处理部分
5.1.异常部分
exception
when no_data_found then --to_many_rows
dbms_output.put_line('查无此人异常');
when mye then
dbms_output.put_line('自定义异常');
end;
5.2自定义函数
实现递归1+100
--函数 function
create or replace function mydemo1(mynum number)
return number
as
mysum number:=0;
begin
if mynum = 1 then
mysum:= 1;
else
mysum:=mynum+mydemo1(mynum-1);
end if;
return mysum;
end;
select mydemo1(100) from dual;
视图 view create view v_demo as select
索引 index create index i_demo on tb_xxx(字段)
5.3触发器
概念:触发器是一个特殊的存储过程,是自动触发的,不可以手动触发
create or replace trigger t_demo
触发器时间(before after)
--insert|update 针对新表:new 使用before
触发事件 insert or update or delete
on 表
for each row
begin
pl/sql语句
end;
:new :old