从零学习oracle--打开数据库的大门

oracle的几种账户

Oracle数据库为关系型数据库,它有一下几种账户,每个账户对应的操作权限也是不一样的。

  1. Sysdba : 数据库管理员,全线包括打开数据库服务,
  2. Sysyoper : 数据库操作员
  3. Normol : 普通用户,只有查询某些表的数据

如何连接oracle的账户

Conn 用户名/密码as 连接身份
eg :Conn lucy/1234 as sysdba 2、conn HR/root as sysdba

Oracle的创建用、授权、更改、撤销、删除用户操作

1、创建用户并设置密码:create user 用户名 identified by “密码”;
eg: Create user lucy identified by “1234”;
2、账户解锁与锁定:alter user 账户 account unlock(或lock);
举例:alter user Lucy account unlock;
3、授权:Grant 权限 to 用户
eg:Grant connect,resource,dba to lucy;
4、更改密码:Alter user 用户名 identified by “新密码”;
eg: alter user lucy identified by “5678”
5、撤销权限:Revoke 权限 from 用户名
eg:Revoke connect,resource,dba from Lucy;
6、创建角色:create role 角色的名字
eg:create role myrole
7、给角色授权:Grant 权限 to 角色名
eg:Grant create table to myrole
8、删除角色:drop role 角色名
eg:drop role myrole
9、删除用户:Drop user 用户名
eg:drop user Lucy
10、删除带有表的用户:Drop user 用户名 cascade;

Oracle角色的权限

connect角色,主要应用在临时用户,可以与服务器建立连接会话
Resource角色,可以创建他们自己的表、序列,过程,触发器,索引
Dba角色拥有所有权限,用户system拥有dba角色。

oracle中主要的数值类型

Oracle数据库的核心是表,表中的列使用到的常见数据类型如下
类型 含义

  1. Char(length) 储存固定类型的字符串,参数length指定了长度,如果储存的字符串长度小于length,用空格填充,默认长度是1,最长不超过2000;
  2. varchar(length) 存储固定长度对的字符串
  3. Varchar2(length) 储存可变长度的字符串,length指定了该字符串的最大长度,默认长度是1,最长不超过4000;
  4. NUMBER(p,s) 既可储存浮点数,又可以储存整数,p表示数字的最大位数,如果是小数包括整数部分和小数部分和小数点,p默认是38位,s是指小数位数。
  5. Date 储存日期和时间,储存纪元、位年、月、日、时、分、秒,储存时间从公元前4712年1月1日到公元后4712年12月31日。
    Timestamp 不但存储日期的年月日,时分秒,以及秒的后6位,同时包含时区。
  6. Clob 存储大的文本,比如存储结构化的XML文档
  7. BLOB 存储二进制对象,如图形视频,声音等

SQL语句分类

SQL语句被称为结构化查询语句(structured query language),SQL是操作和检索关系型数据库的标准化语言,在oracle中SQL语句不区分大小写,包括登录用户名。密码都是不区分大小写,但是规定关键词大写。
select 查询语句
DML语句(数据库操作语句)insert、update、delete、merger
DDL语句(数据库定义语句)create、alter、drop、truncate
DCL语句(数据控制语句)grant、revoke
DQL语句(数据库查询语言)order by、group by
事物语句 Commit、rollback、savepoint

约束

Not null非空约束:强制字段始终包含值,不向字段添加值就无法插入新纪录或者无法更新记录。
Primary key:主键约束,主键必须包含唯一的值,主键不能包含null的值,而且每个表只能有一个主键,如果使用alter table语句修改主键,必须把主键列声明为不包含null值。(不懂)
Default默认约束:如果没有规定其他的值,那么将会默认值添加到所有新纪录。

什么是空值

空值是无效的,未指定的,未知的,或不可预知的,空值不是空格或者0
oracle中判空 用is关键字:
select * from emp where comm = null;(错误)
select * from emp where comm is null;(正确)
注意SQL中的null:
1.包含null的表达式都为null
2.空值永远不等于空值
3.如果集合中有null不能使用not in但可以使用in
4.null的排序,orale中null值最大
5. --null 值,组函数会自动滤空
滤空函数nvl(a,b):如果 a 为 null 则返回 b

SQL语句简单知识点

1 SQL语句在查询中可以对数值类型进行+ - * /
2 sql语句取别名可以用as 也可以不用as,可以用""也可以不用
3 在算术表达式中,出现null,得到的数据就是null,null不等于0.0
4 包括null的任何算术运算表达式都等于空
5 用||可以把多列连接在一起,在连接过程中字符型数据必须’ ’
6 包括null值的连表达式等于与控制符串连接,也就是原来的数据串
7 任何类型都支持null
8 对于日期型的数据可以使用±运算符

简单的SQL语句

– 字符型的数据对大小写是敏感的
SELECT * FROM Employee WHERE name = ‘smith’;
SELECT * FROM Employee WHERE name = ‘Smith’;

–对于日期型的数据格式是敏感的,使用日期型数据的格式是(DD–MM-YYYY 年月日)

SELECT * FROM Employee WHERE hiredate = ’ 20-2月-1980’;编码中文的必须在月份上加上月,如果是英文版的不用加

– 改变当前会话的日期格式,
alter session set nis_date_format = ‘YYYY-MM-DD HH:MI:SS’
SELECT * FROM Employee WHERE hiredate = ’ 1980-2-12’;

–LIKE用于字符型数据类型的查询,%表示0个或多个任意字符
_表示一个字符

–对于null值用is null

运算符

  1. 比较运算符
    =, >=, <, <=, <>(!=)

  2. 其他运算符
    BETWEEN AND 在两个值之间(包含边界)
    IN(SET) 等于值列表中的一个
    LIKE 模糊查询
    IS NULL 空值

  3. 逻辑运算符

AND 逻辑并
OR 逻辑或
NOT 逻辑否
Where语句是从右到左执行的:where condition1 and condition2
4. 其他运算符
1.Between and 含义:在两个值之间,包含边界
2.小值在前大值在后
2.in在集合中In(set)等于值列表中的一个|not in
Is null 空值
–in 在集合中
–null如果集合中含有null不能使用 not in但可以使用in(原因是什么)
3–模糊查询like
‘%’表示0个或者多个任意字符
_代表一个字符
查询名字一s打头
Select*
From emp
Where enamel like ‘s%’
查询名字含下划线的,使用转义符\进行查询like ‘%%’
Select*
From emp
Where enamel like‘%_%’escape‘\’
4–ORDER BY
ASC(ascend):升序
DESC(descend):降序
ORDER BY后面+列,表达式,别名,序号
Order by (asc)作用于后面所有的列,先按照第一个列排序,再后

Oracle中空值最大的解决方法

可以用滤空函数解决 或者 null last:
select * from emp order by comm desc nulls last

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值