oracle数据库SQL入门

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 差不多

时间: 2024-08-24 13:26:59

oracle数据库SQL入门的相关文章

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

风哥Oracle数据库SQL语言实战培训教程(案例.精讲)套餐,DBA必备技能. 套餐介绍: 风哥Oracle数据库SQL语言实战培训教程(案例.精讲)套餐,DBA必备技能. 内容: SQL语言基础入门:SQL语言DDL语句和对象管理,表/临时表/索引/约束/视图/同义词/序列/触发器/存储过程/包的创建管理:SQL语言DML语句,SQL语句INSERT/UPDATE/DELETE,PL/SQL创建,事务与锁:SQL语言Select查询语句,SQL查询限制排序,联接查询,SQL子查询:SQL语言

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

Oracle数据库基础入门<一>Oracle服务器的构成 Oracle 服务器是一个具有高性能和高可靠性面向对象关系型数据库管理系统,也是一 个高效的 SQL 语句执行环境. Oracle 服务器具备以下的特点: ● 能够可靠的进行多用户环境下大量数据的处理,允许多用户同时访问相同的数据. ● 保证数据访问的高性能. ● 有效防止对数据的非法访问. ● 对于故障恢复提供高效的解决方案. 一.Oracle 服务器的总体结构 Oracle 服务器同运行在操作系统下的很多程序一样,通过在后台运行一组

[转] oracle 数据库 SQL plus 连接方法

http://hi.baidu.com/zzy382/item/a5b197f97a38e01ba7298832 之前电脑上安装了一个 Oracle  有一段时间没用,就把密码给忘了,按上面链接里的操作,重置密码成功,步骤如下: connect system/oracle以 system 用户 oracle 密码连接 在进入 sql plus 界面后输入 / as oraclesys 回车即以管理用户登录.然后读取 dba_users 表内容可以 alter user system identi

Oracle 数据库SQL性能查看

作为一个开发/测试人员,或多或少都得和数据库打交道,而对数据库的操作归根到底都是SQL语句,所有操作到最后都是操作数据,那么对sql性能的掌控又成了我们工作中一件非常重要的工作.下面简单介绍下一些查看oracle性能的一些实用方法: 1.查询每台机器的连接数 select t.MACHINE,count(*) from v$session t group by t.MACHINE 这里所说的每台机器是指每个连接oracle数据库的服务器,每个服务器都有配置连接数据库的连接数,以websphere

Oracle数据库SQL注入浅析与防护建议

作者:安华金和 思成 SQL注入是在信息安全领域一种常见的攻击手段.但是大部分人理解的SQL注入就是通过把SQL命令插入到Web表单提交或在输入域名.页面请求时加入的查询字符串,最终达到欺骗服务器执行偏离预期的SQL命令.这种情况下的SQL注入,引发原因基本是网页对用户输入的信息缺乏校验而导致. 很多人认为只有网页才可以进行 SQL 注入,才有注入点.这是一个普遍对SQL 注入的错误认识.SQL注入严格来讲应该叫做数据库SQL注入.SQL注入的最终目的是获取数据库中存储的敏感信息.事实上,任何可

Oracle数据库基础入门培训视频课程_Oracle视频教程培训

课程目标 Oracle视频教程,本套风哥oracle教程培训入门学习内容包括Oracle版本介绍,Oracle基本概念,Oracle物理结构,Oracle结构,Oracle数据文件,Oracle控制文件,Oracle参数文件,Oracle启动与停止,Oracle高用性架构,Oracle数据库备份与恢复,Oracle单机/OracleRAC/OracleDataGuard等相关基础等. 适用人群 IT相关从业人员,非IT相关人员 课程简介 视频学习地址:http://edu.51cto.com/c

04.风哥Oracle数据库实战入门-Oracle安装配置视频教程

04.风哥Oracle数据库实战入门-Oracle安装配置视频教程链接:https://pan.baidu.com/s/1UDhT_A_e62sZshQ5n2toYQ 提取码:pqca 请分享链接到5个QQ IT交流群后,加入以下QQ群找群主获取更多免费视频. 更多视频教程,请加入QQ群(只加一个即可):189070296336282998 更多视频课程请点击:http://www.itpux.com/oracle.html 原文地址:http://blog.51cto.com/oracle18

oracle数据库sql的基本使用

整理了下关于oracle数据库中SQL的基本使用语句,整理如下,方便记忆. oracle的基本术语 数据字典,数据库元数据信息的数据字典表和用户可以读取的数据字典视图组成.存放oracle数据库所用的有关信息.通过数据字典可以查看数据表和用户的一些信息. 数据文件,一个oracle数据可以拥有一个或多个物理的数据文件,一个数据文件只对于一个数据库 表空间,存储的逻辑结构,是组织数据和进行空间分配的逻辑结构.简单点,表空间就是一个或者多个数据文件的集合,所有的数据文件都被逻辑的存放在指定的表空间中

Oracle数据库——SQL高级查询

一.涉及内容 1.掌握SELECT语句的多表连接查询. 2.掌握SELECT语句的子查询. 二.具体操作 (一)根据Oracle数据库scott方案下的emp表和dept表,完成下列操作: 1.查询所有工种为CLERK的员工的姓名及其部门名称. select ename,dname from scott.emp t1 inner join scott.dept t2 on t1.deptno=t2.deptno where job='CLERK'; 2.查询所有部门及其员工信息,包括那些没有员工