Oracle的安装及基本操作
1.数据库基础知识
数据库的版本
Oracle 8及8i:i表示的internet,向网络发展,过渡版本,只有一张vcd。8i是过渡性产品。
Oracle9i:8i的升级版。1CD
Oracle10g:700M过渡性产品,其中g表示的是网格计算。以平面网格,以中心查找。
Oracle11g:完整性产品,最新版本2G。 是现在使用最广泛版本
Oracle12c:the world’s first database designed for the cloud
安装的Oracle注意点:
1)、关闭防火墙
2)、断开网络
3)、关闭杀毒软件
用户
1)、sys 超级管理员 bjsxt
2)、system 普通管理员 bjsxt
3)、scott 普通的用户 tiger
实例
–>数据库
数据库实例名
统一使用orcl
DB — DataBase
DBMS — DataBase Manager System
DBA — DataBase Administrator
2.数据库安装
1.)安装准备
官网:https://www.oracle.com/cn/index.html
2.)开始安装
安装完成
3.)查看服务
3.常用命令
sqlplus
sqlplus /nolog --进入sqlplus 模式
conn scott/aaa@qq.com – 登录
show user
set linesize 150
set pagesize 20
Passw
dba身份登录:
conn sys/aaa@qq.com as sysdba
select * from emp where ename=‘&ename’
如果用户被锁定,那么需要解锁
alter user scott account unlock
(必须是在管理员操作)
统一密码:tiger
使用管理账号
password scott
输入口令:tiger
sqplus
spool on 将sqlplus中的结果输出到指定的文件夹中。
spool d:/test.txt
select * from emp;
spool off
4.Plsql工具连接
1.直接安装
2.汉化
直接执行,中间有一步选择plsql的安装目录即可就可以了
3.登录
4.***
Product Code:4t46t6vydkvsxekkvf3fjnpzy5wbuhphqz
serial Number:601769
password:xs374ca
5.远程连接管理
1.)配置远程连接
点击完成网络配置就可以了。退出的时候记得保存,重启监听器
如果是远程连接:数据库名是自定义的服务名;
如果是本地连接:本地数据库的实例名
2.)连接常见问题
2.1ORA-12514无法识别连接描述中请求
怎么解决
进入该目录
oracle\product\10.2.0\db_1\network\ADMIN\listener.ora
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = d:\oracle\product\10.2.0\db_1)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME = ORCL)
(ORACLE_HOME = d:\oracle\product\10.2.0\db_1)
(SID_NAME = ORCL)
)
)
2.2ORA-12541:TNS:no listener错误解决方法
找到.ora文件 改ip地址为127.0.0.1 或者PC的计算机名
前面的这些配置的修改
注意保存
注意重启监听服务
6.SQL语言
6.1概念
结构化查询语言 (Structured Query Language),具有定义、查询、更新和控制等多种功能,是关系数据库的标准语言。
6.2分类
数据操纵语言DML Data Manipulation Language :
SELECT INSERT UPDATE DELETE
数据定义语言DDL Data definition language :
CREATE ALTER DROP RENAME TRUNCATE
数据控制语言DCL Data Control Language :
GRANT REVOKE
事物Transaction:commit rollback savepoint
6.3用户管理
1.)创建用户
CREATE USER test IDENTIFIED BY 密码;
2.)分配权限
GRANT CONNECT,SOURCE,DBA TO test;
权限指执行特定类型SQL 命令或访问其他对象的权利
• 角色是具有名称的一组权限的组合
• 常用系统预定义角色
• CONNECT:临时用户
• RESOURCE:更为可靠和正式的用户
• DBA:数据库管理员角色,拥有管理数据库的最高权限
3.)撤销权限
REVOKE CONNECT,SOURCE,DBA FROM test
4.)修改用户
alter user 用户名 identified by 新密码
5.)删除用户
drop user 用户名 cascade;
6.)scott用户的练习表介绍【了解】
用户
• scott • 数据库表
• Dept 部门表
• Emp 员工表
• Salgrade 工资等级表
• Bonus 奖金表
• 表和表之间的关系
• 员工属于某个部门
emp表 雇员表(employee)
Empno: 雇员编号 Ename: 雇员名字
Job:工作。(秘书、销售、经理、分析员、保管)
Mgr(manager):经理的工号 Hiredate:雇用日期
Sal: 工资 Comm: 津贴 Deptno: 所属部门号
dept表 部门表(department)
Deptno:部门号 Dname:部门名字 Loc: 地址
salgrade表 :一个公司是有等级制度,用此表表示一个工资的等级
Grade:等级 losal:最低工资 hisal:最高工资
bonus表: 奖金表:表示一个雇员的工资及奖金。
Ename:雇员名字, job:工作,
sal: 工资 comm:津贴
6.4 table 表
关系数据库是用二维表来存储数据;表是由字段组成;字段是最小的数据存储单位。
1.建表语句语法
create table 表名
(
字段名1 字段类型1(最大长度),
字段名2 字段类型2(最大长度),
…..
字段名n 字段类型n(最大长度)
) [tablespace tablespace_name ];
3.添加注释
为表添加注释
comment on table emp is ‘雇员表';
为列添加注释
comment on column emp.Empno is '雇员工号';
4.数据类型
创建表时,必须为各个字段(列)指定数据类型
以下是 Oracle 数据类型的类别:
1.字符串类型
字符串数据类型还可以依据存储空间分为固定长度类型(CHAR/NCHAR) 和可变长度类型(VARCHAR2/NVARCHAR2)两种.
所谓固定长度:是指虽然输入的字段值小于该字段的限制长度,但是实际存储数据时,会先自动向右补足空格后,才将字段值的内容存储到数据块中。这种方式虽然比较浪费空间,但是存储效率较可变长度类型要好。同时还能减少数据行迁移情况发生。
所谓可变长度:是指当输入的字段值小于该字段的限制长度时,直接将字段值的内容存储到数据块中,而不会补上空白,这样可以节省数据块空间。
1.1char
长度最大2000字节信息,固定长度,不指定长度,默认为1.
1.2VARCHAR2类型
变长字符串,与CHAR类型不同,它不会使用空格填充至最大长度。VARCHAR2最多可以存储4,000字节的信息。
1.3LONG
数据类型存储可变长度字符数据
LONG 数据类型最多能存储 2GB
NVARCHAR2,VARCHAR,NCHAR不推荐使用
2.数值型/日期型
2.1NUMBER类型
数值数据类型
可以存储整数、浮点数和实数
最高精度为 38 位
数值数据类型的声明语法:
NUMBER [( p[, s])]
p表示精度,s表示小数点的位数
2.2Integer类型【了解】
INTEGER是NUMBER的子类型,它等同于NUMBER(38,0),用来存储整数。若插入、更新的数值有小数,则会被四舍五入。
2.3时间类型
日期时间数据类型存储日期和时间值,包括年、月、日,小时、分钟、秒、毫秒
主要的日期时间类型有:
DATE - 存储日期和时间部分,精确到整个的秒
TIMESTAMP - 存储日期、时间和时区信息,
秒值精确到小数点后6位
3.LOB类型
内置的LOB数据类型包括BLOB、CLOB、NCLOB、BFILE(外部存储)的大型化和非结构化数据,如文本、图像、视屏、空间数据存储。BLOB、CLOB、NCLOB类型 —了解即可
4.修改表
删除表
drop table 表名 [cascade constrains];
添加字段
alter table 表名 add 字段名 类型;
修改表中字段类型
alter table 表名 modify 字段名 新类型;
修改表中字段名
alter table 表名 rename column 原字段名 to 新名;
删除字段
alter table 表名 drop column 字段名;
5.约束
1.非空约束
限定某字段不允许空值
create table 表名(
字段名1 类型1 not null,
…
字段名n 类型n
);
2.默认值约束
设定某字段默认值
create table 表名(
字段名1 类型1 default 值,
…
字段名n 类型n
);
3.唯一性约束
唯一性约束保证在一个字段或者一组字段里的数据与表中其它行的数据相比是唯一的。
在创建表时设定唯一性约束
create table 表名(
字段名1 类型1 unique, --设定唯一性约束
…
);
表建立后设定唯一性约束
alter table 表名
add constraint 约束标识名 unique (字段名);
4.主键约束
主键是自己设定的字段,该字段不能为空,而且该字段的值必须唯一。
主键是唯一标识,不能为空,加快查询速度,自动创建索引
在创建表时设定主键
Create table 表名(
字段名1 类型1 primary key, --设为主键
…
);
表建立后设定主键
alter table 表名
add constraint 主键标识名 primary key (字段名);
主键与唯一性约束
相同点
唯一约束和主键都强制唯一性。
都会建立索引,加快查询速度。
不同点
可以向表附加多个唯一约束,但只能向表附加一个主键。
唯一性约束允许空值。主键约束不允许为空值。
5.外键约束
外键就是在主表中可以重复出现,但是它的值是另一个表的主键,外键使两个表相关。
外键可约束表的数据的更新,外键和主键表联系,数据类型要统一,长度(存储大小)要统一,在更新数据的时候会保持一致性。
在创建表时设定外键
create table 表名(
字段名1 类型1,
…
字段名n 类型n,
constraint 外键标识名 foreign key (外键字段名) references 从表表名 (主键字段名);
);
表建立后设定外键
alter table 表名 add constraint 外键标识名 foreign key (外键字段名) references 从表表名 (主键字段名);
6.Check约束
保证某一字段的值按一定的格式,在一定的范围 中。
在创建表时
create table 表名(
字段名1 类型1 check (条件范围),
…
);
表建立后
alter table 表名 add constraint 标识名 check (条件范围);