Ocrale数据库基础

Oracle
一.Oracle数据库
基本概念
一个Oracle服务器
是一个数据库管理系统(RDBMS),由一个Oracle数据库和多个Oracle实例组成
基于关系模式
关系型数据库:mysql sqlserver
noSql

Oracle数据库:
硬盘上实际存放数据的文件,这些文件组在一起,形成一个逻辑整体,即数据库
Oracle实例:
内存中的数据结构,用户通过实例读取数据库中的数据
用户是在实例下建立的。不同实例可以建相同名字的用户
表空间:
由多个数据文件组成。逻辑概念

一个数据库可以有多个实例,一个数据库实例可以有多个表空间,一个表空间下可以有多张表

Oracle数据库可以创建多个实例,每个实例可以创建多个表空间,每个表空间下可以创建多个用户(同时用户也属于表空间对应的实例)和数据库文件,用户可以创建多个表(每个表随机存储在一个或多个数据库文件中)

参考:
https://www.cnblogs.com/zjhs/p/3147905.html
安装过程中输入密码及确认密码:

侦听器端口: 1521  
MTS 服务端口: 2030
HTTP 侦听端口: 8080

一般情况下,不创建实例,使用默认实例,XE版本的实例是XE,企业版的默认实例是orcl。

二.SQL
结构化查询语言
DDL:数据库定义语言,CREATE、DROP,用于创建、删除表,为表添加索引等。
DML:数据库操种语言,INSERT、DELETE、 UPDATE ,用于添加、删除、修改表中的行
DQL:数据库查询语言,SELECT
DCL:数据库控制语言,GRANT,REVOKE,COMMIT,ROLLBACK,对数据库安全性完整性等有操作的,可以简单的理解为权限控制等
三.Navicat连接Oracle
https://www.cnblogs.com/SummerinShire/p/5361449.html

使用system用户进入数据库
使用安装OracleXE版程序时的账号,密码(安装过程中填写的密码)连接数据库。连接成功,

进入navicat主面板
创建表空间

点击保存,填写表空间名。在磁盘中可以查看到表空间文件
新建用户

为用户分配权限
其实对于一般的用户,我们只需赋予connect、resource、create view这几个权限即可。 但是这里我们为了演示方便就选择“DBA”了

连接

测试用户是否可以连接Oracle数据库

四.创建表
create table 表名(
字段名 数据类型,

)
数据类型

修改表:

删除表:
DROP TABLE 表名;
五.约束
Oracle约束:
主键约束
唯一约束
非空约束
外键约束
检查约束
主键约束
字段内容不能为空,并且不可重复,用户标记一条记录
建表时用primary key指定

非空约束
字段中内容不能为空,必须有值
Not null
唯一约束
字段中的值不允许重复
Unique
检查约束:
约束字段取值的合法范围
Check
create table STUDENT(
id number primary key,–主键
sno varchar(30) unique,–唯一约束
sname varchar(30) not null,–非空约束
gender number check (gender in(1,2))–检查约束
);

外键约束:
多个表之间的约束,保证关联数据的完整性
–主表
create table orders(
id number primary key,
ono varchar(20)
)
–外键 :表之间的约束 数据参照完整性
–foreign key (oid) references orders(id)
–从表
create table ordersdetail2(
id number primary key,
goods VARCHAR(30),
oid number,
foreign key (oid) references orders(id) – 外键,参照另一张表的主键
)
删、 修改记录(表)都会受到外键的约束

六.查询
基本查询
语法格式

查询所有列
Select * from emp;
查询特定列
Select eno,enam from emp;
Sql支持运算
–查询当前用户

show user;

–当前用户下的表
select * from tab;
–查询表结构
desc emp;
–查询所有列
–* :所有列
select * from emp;

select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp;

–sqL语句优化
–1.尽量使用列名

–查询指定;列
select empno,ename,job,sal from emp;

–运算 表达式

–查询员工信息:员工号 姓名 月薪 年薪 奖金 年收入

select empno,ename,sal,sal12,comm,sal12+comm from emp;

起别名
As
–起别名 as "包含特殊字符”
–起别名 引号与不带引号的区别
select empno,ename,sal,sal12 as “年薪” ,comm “奖 金”,sal12+comm 年收入 from emp;

空值查询:
空值是无效的,未指定的值,
空值不是空格或者0
包含null的表达式都为null
空值不等于空值 null!=null
–NULL查询
–null 未指定值 不是空格 也不是0 null不等于null 包含null值的表达式都是null
–通用函数
–nvl(a,b) 若a为null,替换为b nv

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值