2017年6月7日

时间:2021-01-12 14:01:34
1.验证Oracle是否安装成功     sqlplus 用户名/密码


2.中文乱码问题:
增加环境变量,如下:
设置NLS_LANG为SIMPLIFIED CHINESE_CHINA.ZHS16GBK


3.在dos环境下基本的数据库操作语句
清屏: host cls
显示当前用户: show user     (数据库--用户--表)
当前用户下的表: select * from tab;
显示表结构: desc 表名








////////////////////////////////////////////////////////////////////////////////////////
4.SQL语句的优化原则
   (1)查询时尽量使用 -列明- 代替 *










////////////////////////////////////////////////////////////////////////////////////////
5.SQL中的Null值:
  (1)包含Null值的表达式都为null
  (2)null永远!=null     (如果要判断某个值等不等于空要用  is/not)







/////////////////////////////////////////////////////////////////////////////////////////
滤空函数
nvl(a,b)  当a=null时,返回b;当a!=null时,返回a  


//////////////////////////////////////////////////////////////////////////////////////////
别名  as"别名"    "别名"    别名


distinct   去掉重复值


连接符 || 


dual表  “伪表”
伪列




///////////////////////////////////////////////////////////////////////////////////////////
过滤(where)


between  a  and   b    在a和b之间的值


in(a,b)     是a和b的值
not in (a,b)   不是a也不是b的值
注:null值可以使用in  但是不能使用  not in


特殊符号用转译字符  escape


排序   ordey by  asc|desc








☆☆☆☆☆函数☆☆☆☆☆☆


字符函数


大小写控制函数:lower(小写)  upper(大写)  initcap(首字母大写)  
字符控制函数:  
concat   将字符串连接起来
substr   substr(a,b,c) 将字符串a 从b开始截取,取c位  “空格也算一位”
length   字符数
lengthb 字节数
instr instr(a,b)  b在字符串a中的位置    
lpad 左填充 lpad(a,b,c) 字符串a 一共b位 不够在左边用c填充       
rpad 右填充 lpad(a,b,c) 字符串a 一共b位 不够在右边用c填充
trim trim(a,b) 从b字符串中去掉a字符
replace replace(a,b,c)将a字符串中的b替换成c




数值函数


四舍五入 round(45.9705,2) 四舍五入保留小数点后两位


截断 trunc(45.78927,2)  截取小数点后两位




//////////////////////////////////////////////////////////////////////////////////


数据类型转换
隐式
显式




通用函数
适用于任何数据类型,也适用于空值


nvl(a,b) 当a为null,返回b,否则返回a
nvl2(a,b,c) 当a为null,返回c,否则返回b
nullif(a,b) 当a=b时,返回null,否则返回a
coalesce(a,b,c,.....) 从左往右,找到第一个不为空的值


/////////////////////////////////////////////////////////////////////////////////////////


条件表达式


case
case  列名  when  条件  then   返回值
   when  条件  then   返回值
   when  条件  then   返回值
   else  返回值
end




decode


decode (列名,‘条件’,返回值,
     ‘条件’,返回值,
     ‘条件’,返回值,
    返回值)


////////////////////////////////////////////////////////////////////////////////


多行函数(聚合函数)
 多行函数会自动滤空,嵌套滤空函数来屏蔽滤空功能


count() 统计记录数
min() 最小值
max() 最大值
avg() 平均值
sum() 求和





分组函数
  group by  
在select列表中所有没有包含在组函数中的列,都应该包含在group by的子句中
但是包含在group by中列不用包含在select语句中
  having
功能类似于where 都是选择出满足条件的数据
但是最大区别是where后不能跟多行函数