Oracle学习(入门)

第一章 概括

1.1安装
1.2卸载

盘符为自己安装的盘符(此处是在虚拟机装在了C盘)
C:\app\lwc\product\11.2.0\dbhome_1\deinstall
在这里插入图片描述

第二章 用户和表空间

2.1使用系统用户登录Oracle

系统用户(权限) sys->system->sysman->scott(默认密码tiger)
登录[username/password][@server][as sysdba|sysoper]
SQL Plus中登录
system/密码
切换登录连接语气
connect sys/密码 as sysdba

2.2Orcale用户和表空间之查看登录用户

查看当前用户
show user命令
数据字典是数据库提供的表,用于查看数据库的信息
dba_users
desc dba_users
查看所有用户(sys->system->sysman)
select username from dba_users;

2.3Oracle用户和表空间之启用scott用户

启用scott用户语气
alter user uername account unlock(解锁)/lock(锁定);
alter user scott account unlock;

2.4Oracle用户和表空间之表空间概括
表空间概括
理解表空间

数据库与表空间(数据库中可以有多个表空间)
表空间与数据文件(多个数据文件构成表空间)

表空间分类

永久表空间(表,视图,永久储存的数据)
临时表空间(操作中间执行过程,操作结束后释放)
UNDO表空间(保存被修改之前的值)

2.5Oracle用户和表空间之查看用户表空间
查看用户的表空间

dba_tablespaces(管理级) user_tablespaces(普通用户级)数据字典
desc dba_tablespaces
在这里插入图片描述
selcet tablespace_name from dba_tablespaces;
在这里插入图片描述

dba_users user_users 数据字典
在这里插入图片描述

查看默认表空间和临时表空间
select default_tablespace,temporary_tablespace from dba_users where username=‘SYSTEM’;
设置用户的默认或者临时表空间
ALTER USER username (当前用户名)
DEFAULT|TEMPORARY TABLESPACE tablespaces_name;
例如:ALTER USER system
DEFAULT TABLESPACE USERS;

2.6Oracle用户和表空间之创建表空间

CREATE [TEMPORARY] TABLESPACE tablespace_name(表空间名字)
TEMPFILE|DATAFILE ‘XX.dbf’(文件名字) SIZE xxx
创建默认表空间
CREATE TABLESPACE tablespace_name
DATAFILE ‘XX.dbf’ SIZE xxx
创建临时表空间
CREATE TEMPORARY TABLESPACE tablespace_name
TEMPFILE ‘XX.dbf’ SIZE xxx

2.7Oracle用户和表空间之修改表空间

设置联机或脱机状态
ALTER TABLESPACE tablespace_name
ONLINE|OFFLINE
设置只读或可读写状态
ALTER TABLESPACE tablespace_name
READ ONLY(只读)|READ WRITE(可读写);

2.8Oracle用户和表空间之修改数据文件

增加数据文件
ALTER TABLESPACE table_name
ADD DATAFILE ‘xx.dbf’ SIZE xx;
删除数据文件
ALTER TABLESPACE table_name
DROP DATAFILE ‘xx.dbf’;

2.9Oracle用户和表空间之删除表空间

DROP TABLESPACE
tablespace_name INCLUDING CONTENTS

第三章管理表

3.1Oracle管理表之认识表

1.基本存储单位 2.二维结构 3.行和列
约定
1.每一列数据必须具有相同数据类型
2.列名唯一
3.每一行数据的唯一性

3.2Oracle管理表之数据类型

字符型
CHAR(n),NCHAR(n)固定长度
VARCHAR2(n) NVARCHAR2(n)
数值型
NUMBER(p,s) p有效数字 s小数点后的位置
FLOAT(n)
日期型
DATE 可以精确到秒
TIMESTAMP 时间戳
其他类型(存放大对象)
BLOB 4gb二进制形式存放
CLOB 4gb字符串形式存放

3.3Oracle管理表之创建表

create table table_name(
column_name1 datatype,
column_name2 datatype,…
)

3.4Oracle管理表之修改表

添加字段
alter table table_name
add column_name datatype;
例如:
alter table userinfo
add remarks varchar2(500);
更改字段数据类型
alter table table_name
modify column_name datatype;
例如:
alter table userinfo
modify remarks varchar2(400);
删除字段
alter table table_name
drop column column_name;
例如:
alter table userinfo
drop column remarks ;
修改字段名
alter table table_name
rename column column_name to new_column_name;
例如
alter table userinfo
rename column email to new_email;
修改表名
rename table_name to new_table_name;

3.5Oracle管理表之删除表

tuncate table table_name(删除表中的全部数据 截断表)
drop table table_name

第四章操作表数据

4.1Oracle添加数据

insert into table_name
(column1,column2,…)
values(value1,value2,…)
例如
insert into userinfo
values(1,‘xxx’,‘123’,‘xxx@126.com’,sysdate);
添加默认值
1.重新创建表
create table userinfo1
(id NUMBER(6,0),
regdate date default SYSDATE
);
insert into userinfo1(id)
values(2);
2.直接修改字段
alter table unserinfo
modify email default ‘无’;

4.2Oracle复制表数据

1.在建表时复制
create table table_new
as
select column1,… | *(复制全部) from table_old;
2.在添加时复制
insert into table_name
[(column1,…)]
select column1,… | * from table_old

4.3Oracle修改数据

update table_name
set column1=value1,…
[where conditions]
无条件更新例如update userinfo set userpwd=‘111’,email=‘111@126.com’;
有条件更新例如

4.4Oracle删除数据

delete from table_name; [where conditions]
无条件删除等同于tuncate table table_name(删除表中的全部数据 截断表)
例如delete from testdel;
有条件删除例如delete from userinfo where username=‘李红’;

第五章约束

5.1Oracle约束概括
约束的作用

1.定义规则
2.确保数据完整性
非空约束 not null
主键约束 primary key
外键约束 references
唯一约束 unique
检查约束 check

非空约束只能在列级设置,其它约束既可以在列级设置也能在表级设置
数据字典 user_constraints

5.2Oracle非空约束

1.在创建表的时候设置非空约束
create table table_name(
column_name datatype not null,…
)
2.在修改表的时候添加非空约束
alter table table_name modify column_name datatype not null;
3.在修改表的时候去除非空约束
alter table table_name modify column_name datatype null;

5.3Oracle主键约束

作用:确保表当中每一行数据的唯一性(非空,唯一)
一张表只能设计一个主键约束
主键约束可以有多个字段构成(联合主键或符合主键)
1.在创建表的时候设置主键约束
create table table_name(
column_name datatype primary key,…
)(列级设置)
联合主键或符合主键
constraint constraint_name
primary key(column_name1,…)(表级设置)
constraint_name(主键约束的名字)
2.在修改表时添加主键约束
alter table table_name
add constraint constraint_name
primary key(column_name1,…)
3.更改约束的名称
alter table table_name
rename constraint old_name to new_name;
4.删除主键约束
alter table table_name
disable | enable constraint constraint_name;(禁用约束)
alter table table_name
drop constraint constraint_name(删除约束)
alter table table_name
drop primary key[cascade]

5.4Oracle外键约束

1.在创建表的时候设置外键约束
注意设置外键约束的时候,主表的字段必须是主键
主从表中相应的字段必须是统一数据类型
从表中外键字段的值必须来自主表中的相应字段的值,或者为null值
table_name1从表
table_name2主表
列级
create table table_name1(
column_name datatype references table_name2(column_name),… references后面是你将引用哪个表中的什么字段括号内为引用的字段必须是主表的主键
);
表级(写在create table创建表时的括号内)
constraint constraint_name foreign key(column_name) references
table_name(column_name) [on delete cascade] 级联删除
constraint_name(主键约束的名字)
2.在修改表的时候添加外键约束
alter table table_name
add constraint constraint_name foreign key(column_name) references
table_name(column_name)[on delete cascode]
3.删除外键约束
alter table table_name
disable | enable constraint constraint_name;(禁用约束)
alter table table_name
drop constraint constraint_name(删除约束)

5.5Oracle唯一约束

作用:保证字段值的唯一性
唯一约束和主键约束的区别:1.主键字段值必须是非空的2.唯一约束允许有一个控制3.主键在每张表中只能有一个4.唯一约束可以有多个
唯一约束要求每个字段不能有重复值,可以有空值,但是空值只能有一个
1.在创建表时设置唯一约束
列级
create table table_name (
column_name datatype unique,…
)
表级
constraint constraint_name unique(column_name)
2.在修改表时添加唯一约束
constraint_name 约束的名字
alert table table_name
add constraint constraint_name unique(column_name);
3.删除唯一约束
alter table table_name
disable | enable constraint constraint_name;(禁用约束)
alter table table_name
drop constraint constraint_name(删除约束)

5.6Oracle检查约束(限定一些条件比如年龄1000 工资-50)

作用:表中的值更具有实际意义
1.在创建表时设置检查约束
列级
create table table_name (
column_name datatype check(expressions),…) expressions条件语句
例如
create table userinfo_c(
id varchar2(10) primary key,
username varchar2(20),
salary number(5,0) check(salary>0)
);
表级
constraint constraint_name check(expressions)
2.在修改表时添加检查约束
alert table table_name
add constraint constraint_name check(expressions);
3.删除检查约束
alter table table_name
disable | enable constraint constraint_name;(禁用约束)
alter table table_name
drop constraint constraint_name(删除约束)

第六章查询语句

6.1Oracle查询概括
6.2Oracle基本查询语句

select [distinct] column_name1,… | * from table_name [where conditions]
distinct不显示重复的数据

6.3Oracle查询语句之在sql/plus中设置格式

column 也可以设置别名
column column_name heading new_name;
column column_name format dataformat;
(a10 字符长度 9代表数字位置 999.9$)
清除设置的格式
column column_name clear;

6.4Oracle查询语句之查询表中的所有字段及指定字段

查询所有字段select * from table_name;
查询指定字段 select column_name,… from table_name;

6.5Oracle查询语句之给字段设置别名

elect column_name as new_name,… from table_name;
例如select id as 编号,username as 用户名,salary as 工资 from users;

6.6Oracle运算符和表达式

算术运算符(+,-,*,/)
比较运算符(>,>=,<,<=,=,<>)
逻辑运算符(and,or,not)优先级 not,and,or的顺序依次递减

6.7Oracle在select语句中使用运算符

使用算术运算符select id,username,salary+200 from users;
使用比较运算符select * from users where salary>800; 优先级高于逻辑运算符
使用逻辑运算符select * from users where salary>800 and salary <>1800.5;

6.8Oracle带条件的查询

单一条件的查询select salary from users where username=‘aaa’;
多条件的查询select * from users where username=‘aaa’ or salary>2000;
select * from users where username=‘aaa’ or (salary>800 and salary<=2000);

6.9Oracle模糊查询

通配符(_,%) _任意一个字符
使用like查询
select * from users where username like ‘a%’;

6.10Oracle范围查询

between…and
800-2000
select * from users where salary between 800 and 2000;
不在800-2000
select * from users where salary not between 800 and 2000;

in/not in
查询用户名是aaa或者bbb的用户信息
select * from users where username in(‘aaa’,‘bbb’);

6.11Oracle对查询结果进行排序

select…from…[where] order by column1 desc/asc,…
desc降序 asc升序
select * from users order by id desc, salary asc;

6.12case…when语句

case column_name
when value1 then result1,…
[else result] end
select username,case username when ‘aaa’ then ‘计算机部门’
when ‘bbb’ then ‘市场部门’ else ‘其它部门’ end as 部门 from users;

case
when column_name=value1
then result1,…[else result] end
select username,case when username=‘aaa’ then ‘计算机部门’
when username=‘bbb’ then ‘市场部门’ else ‘其它部门’ end as 部门 from users;

6.13decode函数的使用

decode(column_name,value1,result1,…defaultvalue)
select username,decode(username,‘aaa’,‘计算机部门’,‘bbb’,‘市场部门’,‘其它部门’) as 部门 from users;

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值