| 
                         
        
            一、创建用户和授予权限 
1.1 环境: 
Oracle 11g xe  
第三方图形客户端: PLSQL  
Windows 10  
?  
1.2 SQL 语句 
 
 创建用户:create user 用户名 identified by 用户名;  
 分配权限或角色:grant connect,resource to 用户名;  
 取消权限或角色:revoke 权限/角色 from 用户名;  
  
? 
1.3 常用系统预定义角色 
connect:临时用户  
resource:更为可靠的正式用户  
dba:数据库管理员角色,拥有管理数据库的最高权限  
注意:角色是具有名称的一组权限的组合。  
?  
二、SQL 语言的总结 
2.1? SQL可以做什么? 
- 数据库数据的增删改查操作(CRUP)
  
 - 数据库对象的创建,修改和删除操作
  
 - 用户权限/角色的授予和取消
  
 - 事务控制
  
 
?  
2.2? SQL语言的分类 
- DQL? (数据查询语句)select
  
 - DML(数据操作语句)insert、update、delete
  
 - DDL(数据定义语句)create、alter、drop
  
 - DCL(数据控制语句)grant、revoke
  
 - TCL(事务控制语句)savepoint、rollback、set transaction、commit
  
 
【注意】数据操作语句针对表中的数据,而数据定义语句针对数据库对象(表、索引、视图、触发器、存储过程、函数、表空间等)  
?  
2.3? select 查询语句 
2.3.1 字段别名 
 
 1)重命名查询结果中的字段,以增强可读性;  
 2)别名如果含有空格或其他特殊字符或大小写敏感,需用双引号引起来;  
 3)as 可以省略。  
  
?  
2.3.2? 去除重复行 
 
 在搜索字段名前,加一个 distinct 关键字  
 例如:select distinct deptno from emp;  
  
2.3.3? 排序---order by 
 
 排序包括升序(asc,默认升序,该关键字可不写)和 降序(desc)  
 例如:select empno,ename,sal from emp order by sal;????????? --------以sal升序进行排序  
 ???????? select empno,sal from emp order by sal desc; --------以sal降序进行排序  
  
2.3.4? where 字句 
 
 举例:  
 select * from emp where deptno = 10;  
 select * from emp where ename = ‘SMITH’;  
 select * from emp where hiredate = ‘02-4月-81’;  
 注意:  
 1)字符串和日期值要用单引号括起来  
 2)字符串大小写敏感  
 3)日期值格式敏感!!!  
 ?  
 其他关键字:  
 
- between… and…???? ------界于两值之间(包括边界)
  
  - in(value,value…)??? ------出现在集合中
  
  - like?????????????????????? ------模糊查询(%表示零个或多个字符? _表示一个字符,特殊字符可使用escape标识符查找)
  
  - is null?????????????????? -------为空值
  
  - not is null???????????? -------不为空
  
  
  
2.3.5? 逻辑运算符 
 
 例如:select * from emp where deptno = 10 and sal > 1000;  
  
2.3.6?? SQL优化问题 
 
 and:把检索结果较少的条件放到后面  
 or? :把检索结果较多的放到后面  
  
2.3.7?? 四种运算符 
 
 重要:算术? >? 连接?? >? 比较? >? 逻辑  
 优先级:  
 
- * /
  
  - + -
  
  - ||
  
  - >,<,>=,<=,<>
  
  - is [not] null,like [not] in
  
  - [not] between… and…
  
  - not
  
  - and
  
  - or
  
  
?  
  
2.3.8?? 使用函数 
函数分为:  
单行函数:字符函数、数值函数、日期函数、转换函数、通用函数  
多行函数:sum(),avg()? ----仅适用数值型。???? count(),max(),min()?? -----适用任何类型数据  
2.3.8.1 单行函数 
 字符函数:  
 
 initcap(char)???????????????? -----首字母大写  
 lower(char)?????????????????? -----转换为小写  
 upper(char)?????????????????? -----转换为大写  
 ltrim(char,set)?????????????? -----左剪裁  
 rtrim(char,set)?????????????? -----右剪裁  
 replace(char,search_str,replace_str) -----字符串替换  
 instr(char,substr[,pos])?? -----查找字符串位置,例如:? instr(‘worldwide’,’d’)  
 substr(char,pos,len)??????? -----取子字符串  
 concat(char1,char2)??????? -----连接字符串  
  
数值函数:  
日期函数:  
转换函数:  
其他函数:  
?  
2.3.8.2??? 多行函数
        
            
        	
                        (编辑:52站长网) 
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! 
                     |