Oracle基础2

DDL数据定义语言

表空间:是实例分配的一块空间

语法:create tablespace demo01

datafile ‘c:\demo01.dbf’

size 100M

autoextend on

next20M;

普通用户没有权限创建表空间,需要用system用户来创建;

创建表空间后,还需要用管理员创建用户;

语法:create user user1 identified by test default tablespace demo01;

创建用户后,需要管理员对用户进行授权管理;

语法:grant 权限名 to 用户;

权限分类:connect(连接)、redources(普通操作权限)、dba(管理员操作权限);

然后,测试用户登录;

-------------------------------------------------------------------------------------------------


Oracle数据库的数据类型:

int 整数

double 小数

number(v1,v2) v1表示数字的总长度,v2表示小数位数

char(v1) 固定长度字符

varchar(v1) 可变字符长度

varchar2(v1) 可变字符长度

clob 大文本字符4G大小

blob 二进制字符4G大小

long 长文本2G大小

date 年月日时分秒

datetime 精确的年月日时分秒毫秒微秒纳秒

---------------------------------------------------------------------------------------------------


Oracle的约束

主键约束 primary key

外键约束 foreign key

非空约束 not null

唯一约束 unique

检查约束 check (如: check gender in (1,0))

约束语法:

constraint 约束名称 primary key(主键列);

constraint 约束名称 foreign key(从表列)

references 主表(主表列);//添加在从表;

Oracle事务需要手动选择提交或回滚;

---------------------------------------------------------------------------------------------------


更改表结构:

增加字段:alter table 表名 add (列 数值类型);

修改字段:alter table 表名 modify (列 数值类型);

重命名字段:alter table 表名 rename colunm 旧列名 to 新列名;

删除字段:alter table 表名 drop column 列名;

DML数据操作语言

插入数据:insert…into…values (…);

修改数据:update…set…where…;

删除数据:delete from…where…(逐条删,效率低)、truncate…(摧毁表结构,重建表结构,不能加条件);

创建表的同时,备份表的数据

create table emp as select * from scott.emp;

---------------------------------------------------------------------------------------------------


事务:

read commited: Oracle默认事务隔离级别;

serializable: 序列化,逐条读;

read only: 只读;

事务的保存点:

意义:为了保证执行成功的任务能够提交成功;

语法:savepoint 保存点名称;

事务保存点的用法:

执行SQL语句1;

savepoint 保存点名称;

执行SQL语句2;

rollback to 保存点名称;

commit;

---------------------------------------------------------------------------------------------------


Oracle数据库的几个特有对象

1.视图:一个虚拟表,有数据,但不存放数据,来源于原始表

    意义:为了数据安全

    语法:create view emp_view as select empno,ename,job from emp…;

    查询视图:select * from emp_view;

    注意:修改视图中的数据将影响原始表的数据,要想在修改视图中的数据时,不对原始表数据进行更改,需要在创建视图时,对视图进行with read only限定;

2.序列:是Oracle数据库生成一系列的数值(1,2,3,4…);

    意义:实现id的自增长

    属性:nextval下一个值

              currval当前值

    语法:create sequence序列名

    示例:create sequence seq_person;

    注意:先生成再使用,即必须先调用nextval才能查询currval;

3.索引:数据量大的情况下才使用

    意义:大幅提升查询速度(100倍左右);

    语法:create index ind_person on person(列名);

    注意:建在重复值尽量少的列上,可以加1个,也可以加多个(复合索引);

    加完之后可以直接执行查询语句;

4.同义词:为对象起别名;

    意义:为了数据的安全,细分权限;

    语法:create synonym同义词名for scott.dept;

    用法:select * from同义词名;

---------------------------------------------------------------------------------------------------


数据的导入和导出

  意义:数据的备份和还原,数据库或服务器的迁移;

方式:命令行和PLSQL工具

命令行:

    导出:

        全库导出:exp用户名/密码file =‘路径’ full = y;

        按用户导出:exp用户名/密码owner=用户名file =‘路径;

        按表导出:exp用户名/密码file = ‘路径’tables =表名1,表名2…;

    导入:将上述命令中的exp换成imp即可;

PLSQL工具:

    ExportUser Object;//只能导出表结构,不能备份数据;

    ExportTables;//导出数据三种格式:dmp(Oracle数据库特有格式,必须有服务器对应的软件,通用)、sql(导出.sql文件,但不能删除原表,否则不能还原)、pde(图形化工具格式);

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1.简介 数据存储有哪些方式?电子表格,纸质文件,数据库。 那么究竟什么是关系型数据库? 目前对数据库的分类主要是...
    乔震阅读 1,776评论 0 2
  • 一、源题QUESTION 74View the Exhibit. You want to create a tab...
    猫猫_tomluo阅读 1,539评论 0 1
  • 一、源题QUESTION 1The instance abnormally terminates because ...
    猫猫_tomluo阅读 1,637评论 0 2
  • Oracle入门 这一章我们开始探讨Oracle的使用,从Oracle的介绍开始,接触Oracle的安装、基本服务...
    厲铆兄阅读 5,593评论 4 104
  • 星期六还要爬起来,去赶加班,毫无意义的毫无效率的常态加班,但却是领导评价绩效的指标之一,却无能反驳! 害怕熬了那么...
    岸兰汀芷阅读 196评论 0 0