语法简介
创建数据库:CREATE tablespace tsl datafile ’ D:\ORACLESPACE\test_1.dbf ’ size 50M;
tsl是表空间的名称
datafile是数据库的位置指向
test_1.dbf数据库的名称
size50M 限定大小为50M
自动扩展大小:CREATE tablespace tsl1 datafile ‘D:\ORACLESPACE\test_2.dbf’ size 50m autoextend on next 10m;
设置最大空间:CREATE tablespace tsl2 datafile ‘D:\ORACLESPACE\test_3.dbf’ size 50m autoextend on next 10m maxsize 1024m;
用户对应的表空间可以从views中找到DBA_USERS进行查询找到对应的,如果不和你要使用的表空间一致可以使用代码进行修改。 更改默认表空间:alter database default tablespace 表空间名称;
更改表空间名称:alter tablespace 表空间名称 rename to 新的表空间名称
删除表空间(注意点:如果是某个用户的默认表空间的话是删除不掉的,会出现报错。):drop tablespace 表空间名称 including contents and datafiles;
如果使用实sys创建的表都可以查询到,而且可以随时调用,然如果使用其他名称如Scott创建的表,则需要进行调用,select * from scott.表名,或者则证明该表或者视图不存在。
删除表格: drop table 表名
删除表格数据: delete from 表名 (where 条件)
Oracle序列
序列:作为数据库的对象,主要作用是生成唯一的主键。
创建序列:
create sequence 序列名称;
重要属性:序列名称.currval 当前值
.nextval 下个值
当使用 insert into test_1 values(序列名称.nextval,‘java12345’,‘123456’) 需要使用F10来进行提交,或者查询不到该数据
create sequence 序列名称 start with 100; 从100开始的序列名称
minvalue: 最小值
maxvalue:最大值
Increment by:递增强度 默认值为1
cache 缓存设置,一次获取序列的多个连续值,默认值20,放到内存中,方便下次快速获取。
oracle中如何插入baidate类型的数据du方法如zhi下:
1.insert into tabname(datecol) value(sysdate) ; – 用daodate值
2.insert into tabname(datecol) value(sysdate+1) ; – 用date值
3.insert into tabname(datecol) value(to_date(‘2014-02-14’,‘yyyy-mm-dd’)) ; – 用to_date
4.insert into tabname(datecol) value(to_date(‘2014-02-14 20:47:00’,‘yyyy-mm-dd hh24:mi:ss’)) ;
– 用to_date
5.insert into tabname(datecol) value(to_date(‘20140214’,‘yyyymmdd’)) ; – 用to_date
6.insert into tabname(datecol) value(to_date(‘20140214204700’,‘yyyymmddhh24miss’)) ;
– 用to_date
Oracle的增删改查
查:
select * from 表名 for update 这样可以在查询出来的表格中进行操作,例如:增,删,修
distinct 去除重复记录
group by 分组查询
having 过滤分组
order by排序 asc升序 desc降序
联合查询
1.并集(去重复)(union)
select * from 表名1 union select * from 表名2; 书名8888其中的重复数据
2.并集(不去重)(union all)
select *from 表名1 union all select * from 表名2; 说明查询出两个数据表中全部数据
3.交集(intersect)
select * from 表名1 intersect select * from 表名2; 说明这个数据是两个数据表中共同存在的数据
4.差集(minus)
select * from 表名1 minus select * from 表名2; 说明在第一个数据表中存在该数据,但是在第二个 数据表中不存在该数据。
内连接
select * from 表名1 t,表名2 m where t.列名=m.列名;
外连接
左外连接:select * from 表名1 t left join 表名2 m on t.列名=m.列名;
右外连接:select * from 表名1 t right join 表名2 m on t.列名=m.列名;
Oracle的数据类型和函数
字符类型及函数
字符类型分为3种:char(n),varchar(n),varchar2(n);
char(n): 固定长度字符串,假如长度不足n,右边空格补齐; 查询效率相对较高
varchar(n):可变长度字符串,假如长度不足n,右边空格不会补齐;
varchar2(n):官方推荐。 存储空间相对较小
截取字符串: 和使用Java索引不一样,此索引是从1开始,substr(列名,索引开始,长度)
获取字符串出现的位置: select instr(列名,获取的事务,获取开始的位置) from 表名
password是列名,‘23’是要获取的效果,2是获取开始的位置
反转字符串是将数据进行颠倒。
数值类型及函数
number的特性
number(6,3)和number(6,-3)的区别
当number(6,3)的时候,说明可以存入123.456,23.456,23.4565(23.457) 说明可以存入三位小数的一个数,如果小数位超出就会自动四舍五入
当number(6,-3)的时候,说明可以存入123456(123000),123556(124000),123.456(0)
常用方法:
日期类型
增加:insert into t_date values(1,sysdate,systimestamp)
sysdate: 2020/9/10 20:25:10
systimestamp: 10-9月 -20 08.25.10.0000000下午
其他常用处理函数
视图
试图简介:
视图是虚表,没有具体物理数据,是通过实体表的一种计算映射逻辑。主要为了方便和数据安全
创建视图:
create view 视图名称 as 查询语句
create view v_empl as select ename ,job from emp;
约束
1、主键约束
2、外键约束
3、唯一性约束
4、检查约束
5、默认值约束
6、非空约束
Oracle控制语句
Oracle游标
游标简介:使用游标,我们可以对具体操作数据,比如查询结果,对行,列数据进行更加细致的处理。以及对其他的DML操作进行判断等操作;
Oracle触发器
具备某些条件,有数据库自动执行的一些DML操作的行为。
Oracle存储过程
代码链接:链接:https://pan.baidu.com/s/1bbaHBkf6A3Xe038NJ-cZvg
提取码:2s2y