Oracle学习笔记(1)

1.登陆数据库     在CMD窗口   sqlplus username/password@databaseName [as sysdba]

2.数据库表的创建、修改删除
   (a).创建数据库表    
  CREATE TABLE tableName(columnName1 dataType [constraint],columnName2 dataType [constraint],...,columnNamen dataType [constrait]);
          CREATE  TABLE  test1( ID  NUMBER ( 5  )  PRIMARY  KEY ,username  VARCHAR2 ( 15  )  NOT  NULL ,age  NUMBER  ( 3 )  CHECK (age> 0  ));
   (b).数据库表的修改  
         添加列     ALTER  TABLE  tableName  ADD (columnName dataType [ constraint ]);   
                  例:  ALTER  TABLE  test1  ADD (sex  CHAR ( 2  )  CHECK (sex= '男'  OR  sex=  '女' ))
         修改列     ALTER  TABLE  tableName  MODIFY (columnName dataType [ constraint ]);
                  例:  ALTER  TABLE  test1  MODIFY (username  VARCHAR2 ( 28  )  UNIQUE );
   (c).数据库表的删除  DROP TABLE tableName;                 
                  例:  DROP  TABLE  test1;
                       
3.行的插入、删除、修改与提交、回滚
   (a).行的插入        INSERT INTO tableName(columnName1,columnName2,...,columnNamen) VALUES(value1,value2,...,valuen);                      
                  例:  INSERT  INTO  test1( ID ,username,age,sex)  VALUES ( 1  , '张三' ,  22 , '男'  );
   (b).行的删除        DELETE tableName [conditions]                      
   (c).行的修改        UPDATE tableName SET columnName1=value1,columnName2=value2,...,columnName3=value3 [conditions]
   (d).提交修改        COMMIT;
   (e).回滚操作        ROLLBACK;

4.行的查询            SELECT *|{[DISTINCT] columnName|expression [alias],...} FROM tableName [conditions];
                  例:  SELECT  *  FROM  test1 t  WHERE  t.id =  3 ;
                       SELECT  5  + 4  FROM  dual;
5.where 条件         
                        IS  [ NOT  ]  NULL    
                       [  NOT ]  BETWEEN  ...  AND  ...   
                                             
6.order by 排序      ORDER BY 列名1 [ ASC | DESC ],列名2 [ ASC | DESC ],…………
                       汉字的顺序,基本是按照汉语拼音的顺序比较。
                       如果列有列名,在排序时可以使用列原来的名字,也可以使用列的别名:【where语句条件中不能使用别名】
                      
7.函数              
     单行函数与多行函数的区别:单行函数只对一行数据起作用,它也是针对每行数据,分别进行计算。在函数的参数是表的某一列时,
     多行函数把列中所有行的数据看作一个整体,对所有行一起操作。 而单行函数的参数是表的某一列时, 列中每一个数据,都被认为
     是一个个体,单行函数对这个个体进行计算,返回结果。    

     常见函数: 
(a).字符函数  
                      LOWER ( column  |expression) : 转换字符值为小写
                      UPPER ( column  |expression) : 转换字符值为小写
                      INITCAP ( column  |expression) :转换每个单词的首字母值为大写,所有其它值为小写     
                      SUBSTR ( column  |expression,m [,n]):字符串截取函数。从第M个字符处开始,截取N个字符。如果N省略,则从M开始截取                        到结尾。
                      LENGTH ( column  |expression) :返回字符串的长度。     LENGTHB ( column  |expression) :返回字符串的长度【按照                        字节进行统计】。
                      INSTR ( column  |expression,‘ string ’, [,m], [n] ) :字符串的查找。在column|expression (也就是列或表达式                        中),查找String。 返回Strgin第一次出现的位置,m表示开始查找的位置,默认缺省为第一个字节位置,n表示查找第n次出                        现带查找字符串的位置。
                      LPAD ( column  |expression, n, 'string' )    RPAD ( column  |expression, n, 'string' ) 这两个分别是左、右填充函                        数。在列于表达式的左、 右端填充若干个String,使字符串的总长度为N。
                      TRIM ( leading  | trailing |  both  trim_character  FROM  trim_source) :从trim_source的头( leading )、尾                         (  trailing )或头尾( both ), 删除和trim_character一样的字符。
                      REPLACE (text, search_string, replacement_string):将text中的search_string替换为replacement_string 。
                (b).数字函数
                      ROUND ( column  |expression, n) :对列或表达式的值,以四舍五入的方式保留n 位小数位。如果n 被忽略,无小数位,相当                        于n为0时的情况。也就是n的默认值为0。
                      TRUNC ( column  |expression,n) :截断列或表达式的值,保留n 位小数,在截断时不四舍五入。如果n 被忽略,那么n 默认                        为0。截断的意义就是不四舍五入,直接舍去。
                      MOD (m,n) :求余函数。返回m 除以n 的余数
                (c).日期函数
                     设置本地的日期显示格式:  alter  session  set  nls_date_format= 'yyyy-mm-dd hh24:mi:ss'  ;
                     一个日期型的数据,共包括七部分,一般需要7个字节。在默认情况下,只要你省略的部分,ORACLE会自动为你补上去0。
                      1 .日期和日期,只能做减法运算,结果是两个日期间的天数
                     日期加减整数,结果还是一个日期。整数是针对日的,整数是日,  1 就是1天。如果1/ 24 ,也就是.041666667,就是一个小时了。
                    
                     MONTHS_BETWEEN(date1, date2):计算date1 和date2 之间的月数
                     ADD_MONTHS(  date , n):添加n 个日历月到date。n 的值必须是整数,但可以是负的。
                     NEXT_DAY(  date , N):计算在date 之后的下一周由N所指定的第几日的日期。
                     LAST_DAY(  date ):计算包含date 的月的最后一天的日期。
                      ROUND ( date  [,‘fmt’]):从年、月、日开始对日期进行四舍五入,可选项FMT有三种取值,分别是YEAR:从年开始四舍五入,
                           MONTH :从月,DAY从日。如果省略FMT选项,将从小时开始四舍五入。
                (d).装换函数
                     TO_CHAR(日期或数字,‘为日期或数字指定的格式’) 可以把一个数字或日期,转换为字符串。
                     TO_NUMBER(字符)  字符转数字
                (e).通用函数
                      NVL (表达式1,表达式2): 转换空值为一个实际值。如果表达式1值为空,NVL将返回表达式2的值作为结果。如果表达式1不为                        空,以表达式1的值作为结果。
                      NVL2  (表达式1,表达式2,表达式3) 此函数比NVL更复杂些。它首先判断表达式1的值,如果表达式1非空,函数返回表达式2的                        值作为结果。如果表达式1 为空,  NVL2  返回表达式3的值为结果。表达式1 可以是任意数据类型、运算式子。
                      NULLIF (表达式1,表达式2) 比较两个表达式,如果相等返回空;如果不相等,返回第一个表达式。
                      COALESCE (表达式1,表达式2,表达式3,…………,表达式n) 返回表达式列表中的第一个值为非空的表达式的值。
                      Decode (expression,key1,value1,key2,value2,…,keyn,valuen)当表达式的值等于key1时,返回value1的值作为函                        数的值,如果表达式的值等于key2,则将value2 的只作为函数值返回,以此类推。。。,如果后面的key与value的个数为奇                        数,则认为最后一个值是前面所有key均不匹 配的情况下的函数返回值。
                    
                      CASE  判断表达式      
                        WHEN  表达式1   THEN   结果表达式1
                      WHEN  表达式2   THEN   结果表达式2
                      WHEN  表达式3   THEN   结果表达式3
                     …………
                      ELSE  结果表达式N
                      END
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值