Oracle安装, 取得Oracle即可安装,详细参考视频或百度,选择不同的选项,点击下一步,需要注意,有一部为检测,若失败点击忽略继续往下面走。等待安装完成即可。
Oracle数据库服务服务_1:创建表空间,2:创建用户,给予的权限为操作此表空间(也可以分配其他表空间)。此库属于此用户。
登陆此用户只能操作此分配的表空间,最高用户system也可以操作此表空间。
MySQL与Oracle的结构区别
MySQL:MySQL服务器+库+表 Oracle:库服务+表空间+表
MySQL与Oracle连接 JDBC连接MySQL时需要说明,数据库地址+端口+连接的库+用户名+密码 连接Oracle时,数据库地址+端口+数据库服务+用户名+密码
连接上此数据库服务,怎么对某个表空间下的表格操作?数据库服务中有多个表空间。将表空间绑定至某个用户身上,使用用户名密码登陆时。此用户就只能操作分配的此表空间。
MySQL说明库操作数据,Oracle根据登陆身份操作_可以操作的表空间
MySQL创建库则是创建数据存放的位置,Oracle创建库是创建服务,服务中的表空间类似MySQL服务中的库。有相似之处,不能混为一谈。
连接Oracle: 1:使用工具,输入地址+端口+连接的数据库+服务用户名+口令进行连接 2:使用网页控制台连接,输入地址+端口+连接的数据库+服务用户名+口令进行连接
网页连接Oracle-12c版地址:https://localhost:5500/em/shell,默认端口是5500,11g默认端口是1158
Oracle网页版注意事项:1、网页版并不能以system账户登录,只能使用一般创建的账户登陆,2、网页登陆并不能以dba身份登陆,即使账户拥有dba身份
工具则没有这么限制,如navcat,PLSQL,或是自带的工具:sql/plus
连接上Oracle后,如何创建表空间? 1:工具创建:找到表空间选项,填写参数创建即可
2:网页版控制台创建:11g版本、选项卡点击服务器找到表空间选项…12c版本、选项卡找到存储,子选项卡找到还原管理create tablespace(创建表空间)
注意: 在工具上创建表空间。表空间类型默认是permanent(永久),在网页版创建表空间,表空间类型是undo,还有一个是temporary(临时)
Oracle,12c网页创建表空间默认是undo类型,没有看见在哪里设置。
Permanent可以分配给用户,undo可以看到有此表空间,但不能分配给用户
创建用户: 工具与网页控制台一样,选项卡找到用户,创建用户-分配权限即可。
Select * from c##li.”student” 查询c##li用户下的student表格
C##是12c创建用户必须带上的前缀,Oracle默认是大写,当要对小写表格访问,需要”student”否则转为大写,没有此表就报错了。
假设c##li有dba身份,并以dba身份登陆--- Create table c##li.”sss”(int number,sname varchar2(10)…) 在c##li下创建sss表格
为什么创建表格也需要说明白?以dba身份登陆,默认是操作system表空间所有创建的sss不说明就会创建在system表空间下的tables中,说明了c##li用户,才会将表格创建在c##li能操作的表空间的tables中,最好操作都说明是对哪个用户,不然一错半天找不到问题。
创建表格,也是与mysql一样,存在触发器,表分区,主键,等,Oracle创建表格时选项卡有chi..这是约束,如:想对age约束,选择age列:条件写:age>0 && age<100,这样插入时,值将和约束条件进行判断,true入,false报错。
Oracle是手动事物,对数据库服务的操作完毕后,需要comment或是rollback,否则其他连接终端不更改隔离性下,无法看到最新数据。在navcat中,是每操作完一句就自动comment了,plsql也可以设置。但Oracle默认是手段的,自动都是工具实现的。
在plsql中,呈现的形式是对象,表空间,用户都需要在user对象中找对象,在表空间对象中找到表空间,查看其下分布的表等
在navcat中,呈现的形式是用户+表空间
自定义数据类型:type对象中,进行创建create type 用户.type(sid numbert,sname varchar2(10)…),执行后,这就是是一个自定义类型了。
在创建表格时下,选择列输入:用户.type即是应用此自定义类型,自定义类型又想类,类下有变量,方法不知道有没有。
在插入值对自定义数据类型需要:insert into student values(1,用户.type(1,‘李四’)),对自定义类型需要,访问此类型,()去填写里面有的值
在Oracle没有自动编号列,但序列可以做到自增。创建自增,最大值,最小值,每次递增值,缓存值,存放在哪里。注:缓存值,缓存指定个数的值,就不需要每次去递增。
使用序列:insert into student(sid,sname) values(用户.”aa”.nextval,’李四’),用户访问到存储在表空间下的aa序列名,nextval进行下一个取值,sid列将按照每次设置的递增值,从缓冲中取值自动自增,序列实现了自动增长。 |