标签:区分 重复 str 一个 type 添加 amp ons 协议
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 差不多
标签:区分 重复 str 一个 type 添加 amp ons 协议
原文地址:http://www.cnblogs.com/fly-boy/p/7587243.html