1.oracle数据库的下载、安装、卸载

Oracle下载:

Oracle下载链接地址:http://www.oracle.com/technetwork/cn/database/enterprise-edition/downloads/index.html

如上图:选择接受协议后,选择自己对应系统、位数的文件即可;

文件下载好的路径如下:

安装:点击setup.exe文件准备安装:

如图所示几个步骤:第一个配置安全安装处,只是为了学习,可以将前面的勾去掉,其余的直接点击下一步即可,注意的是:选择安装路径时,

由于Oracle数据库较大,最好不要放置于c盘,放于闲置空间较大的盘中,避免开机启动时拖慢系统速度,最后就是在设置口令时:口令就是

你的登录密码,其余直接下一步即可。

验证安装是否成功:

安装后可以在桌面左下角找到开始,我这里使用的是Windows 10系统,不同系统显示有所不同:里面可以找到一个如下图所示的图标(安装的当前Oracle的版本):

点击SQL plus工具

输入用户名:system

输入你在安装时输入的口令即密码出现:

出现了链接到对应的你下载安装的Oracle数据库版本的文字,说明你已经安装成功

Oracle的卸载:

首先找到安装Oracle文件目录下的deinstall文件夹:

找到文件下的deinstall.bat这是一个批量删除的执行文件,点击进去之后,按照提示进行操作即可,一般会

将软件卸载、注册表等都要删除干净,才算彻底的将软件卸载

2.用户与表空间

2.1使用系统用户登录

系统用户从权限大小进行排序:sys、system、sysman、scott;其中scott的默认密码是tiger

使用system用户登录语句:

connect [username/password] [@server] [as sysdba|sysoper]

例如:connect system/root @orcl as sysdba

上面的arcl就是在安装Oracle数据库时,创建数据库默认的数据库名,sysdba是以管理员身份登录,sysoper是以普通操作员省份登录

如下图:

对于sys必须后面必须加上as 什么,意思就是以什么身份进行登录,sys必须是sysdba管理员身份

此时也可以:通过 show users语句查看当前的登录用户

可以看到当前的登录用户为sys,oracle语句中是不区分大小写的,只有在指定表名是必须是大写

2.2.Oracle用户好表空间之间查看登录用户

dba-users:用户字典,通过desc查看出用户字典的结构;

通过select username,acount_status from dba_users;可以查看出对应的dba_users中对应用户名和账户的状态;

可以看到sys/system, 是一个open状态,其他的大多都是locked被锁定的状态

如果要使用这些被锁定的账户的SQL语句:alter user username account unlock;这样就可以使用它进行登录了;

2.3:表空间的创建、设置、删除、增减文件的语句

alter user username default|temporary tablespace tablespace_name;

临时表空间:不是永久保存的,只是在存储过程或其它的过程中使用,过程结束它就被回收掉。

创建表空间:create [temporary] tablespace tablespace_name tempfile|datafile 'xx.dbf' size xx;

查看数据字典:desc dba_data_files;

在数据字典里查看具体的表空间的文件路径:

修改表空间的状态:联机状态、脱机状态

SQL语句:alter tablespace tablespace_name online|offline

修改表空间的状态:设置只读或可读写状态

alter tablespace tablespace_name read only|read write;

在表空间中增加数据文件:

alter tablespace tablespace_name add datafile 'xx.dbf' size xx;

这就是通过SQL语句在原有表空间创建后最终生成的文件:

删除表空间:

SQL语句:drop tablespace tablespace_name [including contents];

表空间所在位置的路径,从下面可以看出,这个只是删除掉了它的数据结构,但是里面

的文件并未将其删除。

3.管理表

3.1Oracle的数据类型

(1)、字符型

char(n) 、nchar(n),其中char中的n最大值是2000,nchar的最大值是1000,他们是不可变长度的字符类型

例如:设置姓名的char(10),如果实际只装入了2个字符,那么后面的八个字符,内存中将会把它补齐,这样的话在

一定程度上是很浪费内存的;所以也就出现了可变化长度的字符类型

varchar2(n)、nvarchar(n)

(2)、数值型

number(m,n),m表示可以表达几位数子,n表示可以后几位小数;

例子:number(5,2):100.00,如果写成10000.00,用它来进行表示的话会出现######,无法显示出结果。

(3)、日期型

date

更加精确的timestamp

(4)、其它类型

BLOB和CLOB表示大数字的类型

1、BLOB全称为二进制大型对象(Binary Large Object)。它用于存储数据库中的大型二进制对象。可存储的最大大小为4G字节
2、CLOB全称为字符大型对象(Character Large Object)。它与LONG数据类型类似,只不过CLOB用于存储数据库中的大型单字节字符数据块,不支持宽度不等的字符集。
可存储的最大大小为4G字节,Clob可以存储单字节字符数据,Blob可以存储无结构的二进制数据

3.2Oracle中操作表结构

添加字段

alter table table_name add column_name datatype;

修改字段数据类型

alter table table_name modify column_name datetype;

删除字段

alter table table_name drop column column_name;

对存在字段名重命名

alter  table table_name rename column column_name to new_column_name;

修改表名

rename table_name to new_table_name;

删除表

truncate table table_name

drop table table_name

truncate是截断的意思,删除的是表中的内容,相对而言效率很高

drop是将表结构和表内容一起删除掉

4.操作表中的数据

添加数据

insert into table_name(column_name,...) values(value1,....);

删除表

delete from table_name where conditions;

修改表

update table_name set column_name = 'xx',...

复制表

在创建时复制

前提:表中结构和数据类型需要保持一致

create table table_name

as

select column1,...|* from table_old;

在添加时复制

insert into table_name (column1,...)

select column1,...|* from table_old;

5.约束

Oracle中一共包含五中约束

(1)、非空约束

(2)、唯一约束

(3)、主键约束

(4)、外键约束

(5)、检查约束

SQL语句主要从三方面去做:

一、在创建表时进行添加约束

非空约束:not null

主键约束:primary key

外键约束:references table(column_name),主表和从表之间数据类型必须一致

唯一键:unique

检查约束:check(表达式),表达式即:某个字段的限制条件

二、在修改表时添加约束

添加非空:alter table table_name modify column_name datatype not null;

添加主键约束:alter table table_name add constraint constraint_name primary key(column_name);

添加外键约束:alter table table_name add constraint constraint_name forengn key(column name ) references table(column_name);

添加唯一键约束:alter table table_name add constraint constraint_name unique(column_name);

添加检查约束:alter table table_name add constraint constraint_name check(expression);

三、删除表中的约束

删除非空:alter table table_name modify column_name datatype null;

删除其他的约束:disable|enable constraint constraint_name

drop constraint constraint_name;

附加:要查询某张表中有哪些约束条件

select constraint_name,constraint_type,status from user_constraints where table_name='';

6.查询语句

6.1基本查询语句

select distinct column_name1,... |* from table_name where conditions;

distinct 是去除重复项

1.SQL*plus中设置格式:

column column_name HEADING new_name; column 也可以简写成col

先写这句语句在写查询语句,最后查询出的就是自己定义的new_name ;感觉就是MySQL中的as 别名

2.column column_name format dataformat;

直接定义格式,数字格式用9表示一个位。

3.清楚设置的格式

column column_name clear;

6.2 模糊查询

oracle中的模糊查询和mysql也是一致的都是用like 通配符(_,%);_只能表示一个字符,%可以表示0到多个任意字符

6.3 排序

order by desc/asc 和MySQL用法一致

6.4 case ... when的使用

case column_name when value1 then result,...

else result end;

这个就和java中的switch case 差不多,根据值的不同返回出不同的结果

6.5 decode 函数的使用

decode (column_name,value1,result1,....,defaultvalue);

这个是case ... when 差不多

转载于:https://www.cnblogs.com/fly-boy/p/7587243.html

oracle数据库SQL入门相关推荐

  1. Oracle数据库基础入门《二》Oracle内存结构

    Oracle数据库基础入门<二>Oracle内存结构 Oracle 的内存由系统全局区(System Global Area,简称 SGA)和程序全局区(Program Global Ar ...

  2. oracle数据库sql培训,Oracle数据库SQL语言实战培训教程(全面、详细、案例、精讲)套餐...

    风哥oracle数据库SQL语言实战培训教程(案例.精讲)套餐,DBA必备技能. 套餐介绍: 风哥Oracle数据库SQL语言实战培训教程(案例.精讲)套餐,DBA必备技能. 内容: SQL语言基础入 ...

  3. Oracle数据库基础入门《一》Oracle服务器的构成

    Oracle数据库基础入门<一>Oracle服务器的构成 Oracle 服务器是一个具有高性能和高可靠性面向对象关系型数据库管理系统,也是一 个高效的 SQL 语句执行环境. Oracle ...

  4. 视频教程-oracle数据库快速入门-Oracle

    oracle数据库快速入门 十年项目开发经验,主要从事java相关的开发,熟悉各种mvc开发框架. 王振伟 ¥21.00 立即订阅 扫码下载「CSDN程序员学院APP」,1000+技术好课免费看 AP ...

  5. Oracle数据库从入门到精通系列之二:SGA和后台进程

    Oracle数据库从入门到精通系列之二:SGA和后台进程 一.SGA 二.后台进程 一.SGA Oracle有一个很大的内存块,称为系统全局区(SGA),用于(但不限于): 维护所有进程需要访问的内部 ...

  6. oracle数据库----SQL语句的实践(应用实例)

    oracle数据库----SQL语句的实践(应用实例) 创建表工资表salary,包括员工号emp_id,员工名emp_name,员工月基本工资monthsal,员工月总发工资totalsal. cr ...

  7. oracle表结构修改回滚,87.Oracle数据库SQL开发之 修改表内存——数据库事务的提交和回滚...

    87.Oracle数据库SQL开发之 修改表内存--数据库事务的提交和回滚 数据库事务(transaction)就是一组SQL语句,这组SQL语句时一个逻辑工作单元. 要永久性的记录事务中SQL语句的 ...

  8. 线性回归中oracle性质,66.Oracle数据库SQL开发之 高级查询——使用线性回归函数...

    66.Oracle数据库SQL开发之 高级查询--使用线性回归函数 线性回归函数可以用普通最小平方回归曲线拟合一组数值对.线性回归函数可用于聚合.串口或报表函数. 如下图1: 例如: store@PD ...

  9. Oracle PL/SQL入门

    Oracle PL/SQL入门 为了解决纯SQL语句的缺陷问题,采取了PL/SQL(Procedure Language/Structured Query Language)的方式进行解决. 纯SQL ...

最新文章

  1. 转自CSDNattilax的专栏 :自适应网页设计 跟 响应式 设计的区别跟原理and实践总结...
  2. WPF中的数据绑定Data Binding使用小结
  3. 10无法勾选隐藏的项目_Excel超好用的隐藏操作,不可多得
  4. 开源 Android pdf 阅读器开发总结
  5. 面试官:为什么要用 Spring?它到底解决了什么问题?
  6. 实测Linux ext3/4文件系统的规模与瓶颈
  7. link.exe 的参数
  8. ubuntu搜狗输入法下载
  9. 毕业设计任务书---毕业设计(论文)任务的内容和要求(包括原始数据、技术要求、工作要求)
  10. Adaptive AUTOSAR和Classic AUTOSAR
  11. 【数据库 · MySQL】听韩顺平老师课草稿
  12. 主流安全大漏洞:隐私空间泄密
  13. 女人假正经的十三种表现
  14. 计算机用户登录界面,win登录界面突然多出来个Administrator的账户
  15. 企业网络安全防御策略需要考虑哪些方面?
  16. js防抖、节流(立即执行/非立即执行 + 立即取消等待)
  17. 用baas实现文章管理功能的例子
  18. 前端图片无损压缩在线工具
  19. 机器学习笔记 - 使用遗传算法进行图像重建
  20. Activiti学习(4)简单的请假流程

热门文章

  1. java消费kafka数据之后,进行堆积之后在插入数据库
  2. 移动端vue ui框架总结
  3. npm安装依赖包报错
  4. Linux进程分配内存的两种方式--brk() 和mmap()
  5. serlvet中的过滤器filter
  6. docker部署springboot应用
  7. 2016-04-25-信息系统实践手记5-CACHE设计一例
  8. Mybatis 源码解析 -- 基于配置的源码解析(二)
  9. hadoop之 Hadoop1.x和Hadoop2.x构成对比
  10. 单机PC手动更改windows update 地址