orcal数据库笔记,一些基础笔记,后期会慢慢完善和补充

数据库

目录

数据库

1.数据库简介

2.1表空间

2.2创建表空间

2.3创建用户

2.4用户授权

2.5库的备份、还原

3表

3.1创建表

3.2删除表、数据

3.3表字段语句

3.4表查询

3.5表连接查询

3.6限制返回条数

3.7数据类型

3.8查询

3.9删除

3.10修改

3.11添加

4.视图

6慢sql


1.数据库简介

Oracle Database,又名Oracle RDBMS,或简称Oracle,是著名的Oracle(甲骨文)公司的数据库产品。Oracle是世界上第一个商品化的关系型数据库管理系统。Oracle采用标准SQL(结构化查询语言),支持多种数据类型,提供面向对象的数据支持,具有第四代语言开发工具,支持UNIX、WINDOWS、OS/2等多种平台。Oracle公司的产品丰富,包括Oracle服务器、Oracle开发工具和Oracle应用软件。其中最著名的就是Oracle数据库,目前最新版本是Oracle 19C。

  1. 数据库操作

2.1表空间

一个数据库可以有一个或者多个表空间,一个表空间对应着一个或者多个物理的数据库文件。

表空间是数据库最小的恢复单位。是物理磁盘上的一个文件。

2.2创建表空间

create tablespace 表空间的名字 datafile ‘表空间的存储位置’ size 表空间的大小,单位是M

2.3创建用户

create user 用户名

identified by 密码

default tablespace 表空间的名 -----分配表空间

temporary tablespace temp ------临时变空间

alter user 用户名 identified by 密码  ----修改密码

drop user 用户名 ----删除用户

2.4用户授权

grant connect,resource,dba to 用户名

connect  -----使用简单权限,只有增(insert)删(delete)改(updata)查(select)以及创建表、视图、序列(sequence)、簇(cluster)、同义词会话和其他数据的链(link)。

resource  ----可以创建自己的表、序列、过程(procedure)、触发器(trigger)、索引(index)和簇。

dba  ----拥有所有权限。

2.5库的备份、还原

备份:exp username/password@bdname file=e:\hrp.dmp full=y

还原:imp username/password@bdname file=e:\hrp.dmp full=y

3表

insert into md_division select * from ehis.md_division; -----将一个表中的数据导入另一张表

3.1创建表

create table 表名称(

id varchar2(50) primary key ,----主键

name char(200) not null,----非空

phone number(11) unique,----唯一约束

class carchar(10),

foreign key (name)----外键

3.2删除表、数据

drop table 表名(直接删除表)

delete from 表名 (后面不加where语句会直接删除表中所有数据,删除之后需要show一下)

truncate table 表名 (删除表所有数据,会释放空间,效率高)

修改表名字:ALTER TABLE 原表名 RENAME TO 新表名;

3.3表字段语句

添加字段:alter table 表名字add 字段名 字段属性 default 缺省值------缺省值又叫默认值

修改字段类型:alter table 表名字 modify 字段名 新字段属性

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

3.4表查询

in ----在里面

on in ----不在里面

exist ----与in的用法相似

注:若是子查询结果集比较小使用in ,反之用exist

模糊查询:%代表就是与任意字符匹配,_表示的是匹配一个字符

排序:order by 默认是升序排布(asc),降序是desc

distinct ----去除重复值

3.5表连接查询

自连接(join):查询zaocan表中价格高于甜沫的所有数据

select * from zaocan a

join zaocan b

on b.canname="甜沫" and a.canprice>b.canprice

左连接(left join):

select 属性,属性 from 表一 别名 left join 表二 别名 on 条件

右连接(right join)、全连接(full join-列出两表全部,不符合的以空值代替)、合并结果集(union--无重复行、union all--有重复行)使用方法同上。

3.6限制返回条数

Oracle:使用rownum 配合order by使用,SELECT * FROM EMP  WHERE ROWNUM <= 10 ORDER BY sal DESC;

SqlServer:使用top,select top10 from emp;

mysql:使用limit, select * from emp limit 10;

3.7数据类型

Oracle中使用的是varchar2;

varchar2是一个变长字符串,不会用空格进行填充;

char会用空格进行填充。

number(p,s) ----p是指精度(总长度),s是指小数位数并且四舍五入。

大文本:

BLOB ----最多存储4GB的数据,可以存储电子表格、字处理文档、图像等;

CLOB ----最对存储4GB的数据,适合存储纯文本信息。

3.8查询

select * from 表名 where 条件

3.9删除

delete from 表名 where 条件 ----需要提交事务,也就是show一下

truncate table 表名 ----删除表,不可回退

3.10修改

update 表名 set 列1=值1,列2=值2,列3=值3... where 条件

3.11添加

insert into 表名 (列1,列2,列3...) values(值1,值2,值3...) ----除添加个别数据之外需写列名其他可以省略,括号不可以省略。

4.视图

试图就是一个虚拟表。就是将一个查询语句封装起来,后期直接查找视图即可。

优点:为了集中数据,简化用户的数据查询和处理;屏蔽数据库的复杂性;简化用户权限的管理;便于数据共享;可以重新组织数据。

创建:

create or replace view 视图名 as 查询语句...

or replace----是指旧视图已经存在,替换为新视图。

  1. 触发器

是一种在事件发生时隐式的自动执行的PL/SQL块,不能接受参数,不能被显示调用。

DML触发器、替代触发器、系统事件触发器。

创建:

create no replace trigger 触发器名

instand of 触发器事件

on 视图名称

for each row ----对于每行数据都会触发

where 触发条件

触发体(PL/SQL块)

6慢sql

优化:需要什么就查什么,不要用*;合理使用索引,保证索引没有失效;分解关联查询;优化分页。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值