oracle是比mysql更为严格的数据库。使用时需要更加严谨。
一、安装注意事项:
1、选择地址时需要注意好不能有汉字,以免造成安装的时候注册表显示监听失败;
2、可视化窗口plsql编辑器(相当于sqlyog)安装的时候需要配套的安装包等;
二、部分概念:
1、sql为结构化查询语言,它的主要功能就是同各种数据库建立连接,进行沟通;
2、目前,绝大多数流行的关系型数据库管理系统,如oracle,sybase,microsoft sql server,access等都采用ansi-sql语言标准;
3、不同的类型的dbms会根据实际需要,对标准sql作适当的调整,形成自己的sql.
三、sql语句的组成:
1、ddl:数据定义语言:
维护(定义create、修改alert、删除drop、查show)sql模式对象(也就是数据可以结构对象,如库 、 表及索引、视图等);
2、dml:数据操作语言:
包括数据查询和数据更新(增insert into、删delete、改update、查select)
3、dcl:数据控制语言:
对数据的访问控制(授予权限、取消权限)
4、tcl:事务控制语言:
对事务的控制(提交、回滚、保存点)
四、类型:
常用的数据类型:
1、字符串类型:
char(固定长度、少补)、varchar(可变)
2、数值类型:
number(包含小数点的位数,小数位数) 可以不写括号里面的–可以存储整数、浮点数、实数;
3、date类型:
4、timestamp带时区的时间戳
5、clob、blob (所以oracle存储的比mysql的大)
五、获取当前时间:
select sysdate from dual -- 精确到秒 select systimestamp from dual -- 精确到小数点后6位
2019/7/26 20:01:48
26-7月 -19 08.02.03.829000 下午 +08:00
<dual是个虚拟的表。因为在oracle中需要严格的模式,必须from表)
六、伪列:
1、oracle中伪劣就像一个表列,但是它并没有存储在表中(因为其不是表里的字段,所以只能进行查询);
2、伪列有:
rownum:查询返回的结果集中行的序号,可以使用它来限制查询返回的行数(就是得到结果的显示的地方的哪个区域的高度决定返回的行数),可以代替mysql里面的limit;
select rownum,emp.*from emp;
rowid是表中行的存储地址,该地址可以唯一的标识数据库中的一行,可以使用其快速的定位表中的一行
select rowid,emp.*from emp;
七、数据定义语言:
1、用于改变数据库结构,包括创建、更改和删除数据库对象;
2、命令:
create table :创建
alter table 修改
drop table 删除表
truncate table 删除表数据(不可以回滚)
2、创建表:
-- 创建表 create table sclass( cid int primary key, cname varchar(10) ) create table java ( ssid int primary key, -- 主键约束 sname varchar2(20) unique, -- 唯一约束 ssex char(5) check(ssex in ('男','女')),--检查约束,检查输入的是否是男或者女 sbirth date not null, -- 非空约束 saddress varchar2(50) default '淄博',-- 默认值约束 --score double check(score between 0 and 100), -- 检查约束的范围写法 cid int, constraint fk_student_class foreign key(cid) references sclass(cid) --设置外键 )