美文网首页
oracle 基础知识总结

oracle 基础知识总结

作者: 爱新觉罗杰哥哥 | 来源:发表于2019-08-28 16:12 被阅读0次

orcle 数据库名是orcl 有system scott hr 等多个用户,其中system为管理员账户,每个账户都有各自不同的table. oracle 会自动开启事务


常用语法总结:

   oracle 常用的命令

            1.host cls 清除屏幕;

            2. spool D:\abc.text 在D盘创建一个text文件

                spool off  结束储存

            3. / 重复上次命令

            4. -- 代表注释

            5.ed 用于修改以保存的sql语句

   oracle 中的数据类型

            char varchar2 number date


 各种小知识

     1. 常用关键字

           create table tname (colname type 约束);创建表

           create table tabname1 as select * from tabname2; 复制一张表(包括数据)

           create table tabname1 as select * from tabname2 where 1=2;复制表结构

           select * from tab; 查看当前账户所有的表

           desc tabname;查看表结构

           show user; 显示当前用户

           show linesize 显示行宽

           et linesize 150 设置行宽

           col col_mgr for a10(9999);  设置列宽10个字符的宽度(4个数字的宽度)

           set pagesize 20; 设置一页行数

        2.  约束

            not null, nuique , primary key, foreign key, check(条件表达式)

             例:age number check(age>0 and age <120);

         3.伪表

              dual  为了语句完整性而提供

              select sysdate from dual;

          4.伪列

                rownum 在查询结果中加入的一列从一开始的序列号 

               可以用于orale 中的分页查询 rownum只能用于小于表达式 不支持(between and)

               select * from (select rownum r,t,*fom tabname t where                     rownum<currpage*pagecount)

                                            where r>(currpage-1)*pagecount;

               rowid 基于64位编码的18个字符来唯一标识一条记录的物理位置的一个ID,类似于JAVA                     中的哈希码,不支持增删改操作

           5.外连接

               (+)代表此字段所在的表为子表

                  select  * from emp,dept where emp.deptno=dept,deptno(+);

           6.||连接符

                  select '姓名:'||name||'工作'||job from tabname;

                  可将结果显示为字符串

           7.常用函数

                sysdate 当前日期

                lower() 变小写 upper()变大写 initcap() 首字母大写()

                 substr(str,num,count) 截取字符 从num开始长度为count num和count 可省略

                 length() 字符数量

                 lpad(str,num,str1) str左边填充num个str1 rpad为右边

                 trim(char from str) 去掉str中的char

                 replace(str,'oldchar','newchar')  将字符str中的oldchar替换为newchar

                 round(num,length)四舍五入 length 为小数位数  负数(-1代表四舍五入舍掉个位数)

                  trunc(num,length)舍去  length 为小数位数

                   ceil()向上取整floor()向下取整

                   nvl(a,0) 如果a的值为空 则赋值为0

                   nvl2(a,b,default)  等同于 a==null?default:b

                   nullif(a,b)如果a==b返回null否则返回a

                   coalesce(列1,列2,列3) 从左到右返回第一个不为null的值

             8.关于日期

                        日期格式

                            yyyy ||  2011

                            year || twenty ninteen

'                            MM || 04

                            MONTH || 4月

                            DY || 星期一

                            DAY || 星期一

                            DD ||  02

                 完整日期格式 ‘fm yyyy-mm-dd hh24:mi:ss’ 其中fm 可以去掉月和天前面的0                                 24代表24小时制 

                  sysdate支持=-*/运算

                  months_between(date1,date2)  计算相差几月

                   add_months(date,num) date 添加num月

                  last_day(sysdate)  当前月份最后一天

                  next_day(sysdate,num(str)) 下一个周几 num只能为1-7 只能为星期一到星期日 

           9.类型转换函数

                      to_date(string,'yyyy')  转化字符串为日期格式

                      to_number(char) 将一段数字字符转化为number格式

                       to_char(num/date,'fromat') 将日期转化为字符串

                       select to_char(sysdate,’fmyyyy-mm-dd hh24:mi:ss“ today is “dd') from dual; 

                                结果: 2019-8-28 15:58:34 today is 28   format中可拼接字符串

                         select to_char(88.8,'L9,999.99') from dual;

                                  结果:  ¥88.88

                        10.占位符:&

                                select * from tabnaem where name = '&name'  可从键盘接收name的值


相关文章

网友评论

      本文标题:oracle 基础知识总结

      本文链接:https://www.haomeiwen.com/subject/sbbpectx.html