Oracle Database 学习笔记02

Oracle学习笔记之二——SQL语言基础

 

1.SQL语言分类

 

   a.数据查询语言(Select语句): 用于检索数据,功能和语法较复杂,同时也应用最多

   b.数据操纵语言(DML):用于改变数据库数据,包括Insert,Update,Delete三类,分别用于插入,更新,删除数据

   c.数据定义语言(DDL):用于建立,修改和删除数据库对象,包括Create Table, Alter Table, Drop Table三类,分别用于创建表,更新表结构和删除表,DDL语句会自动提交事务

   d.数据控制语句(DCL):用于执行权限授予和权限收回操作,包括Grant和Revoke两类语句,Grant用于给用户授予权限,Revoke用于收回用户所具有的权限,DCL语句也会自动提交事务

   e.事务控制语句(TCL):用于维护数据一致性,包括Commit,Rollback,Savepoint三类语句,Commit用于确认已经进行的数据库改变,Rollback用于取消已经进行的数据库改变,Savepoint用于设置保存点,部分取消改变

 

2.SQL语法规则

 

   a.SQL关键字不区分大小写

   b.对象名和列名不区分大小写

   c.字符值和日期值区分大小写

   d.可以将一条很长的SQL语句分行完成,结尾以分号结尾

 

3. Select语句

 

   语法:

  

   SELECT [ALL | DISTINCT TOP n [PERCENT] WITH TIES select_list]

   [INTO [new_table_name]]

   [FROM {table_name | view_name}][table_name2 | view_name2]...[table_name16 | view_name16] 

   [WHERE clause]

   [GROUP BY clause]

   [HAVING clause]

   [ORDER BY clause]

   [COMPUTE clause]

   [FOR BROWSE]

 

   语法详解

 

   使用FROM字句指定表,多个表之间用英文半角逗号分开,有时还需要制定数据库的Schema名称

 

   使用SELECT + Column Name 查询指定列,多个列使用逗号分开;可以使用 * 来查询所有的列

 

   使用WHERE字句进行条件过滤, WHERE字句中可以出现如下运算符(=, !=, <>, <, >, <=, >=, LIKE)

         其中使用LIKE可以进行模糊查询,%可以匹配任意长度的字符,_可以匹配一个字符

         WHERE字句中还可以使用OR, AND, NOT, BETWEEN...AND,  IN,  NOT IN等布尔运算符

 

   使用ORDER BY字句进行排序,升序关键字ASC,降序关键字DESC

 

   使用DISTINCT检索唯一的列值

 

   使用算术运算符: +, - , *,  /, MOD 

 

4.使用基本函数1

 

   字符函数

 

   ASCII(Str):返回字符串第一个字母的ASCII码,使用CHR()函数则可将ASCII码转为字符串

  

   CONCAT(Str1, Str2):Str1,Str2均为字符串,函数将Str2连接到Str1的后面,如果Str1为null则返回Str2,如果Str2为null则返回Str1,如果Str1与Str2均为null则返回null,该函数和 || 作用相同

 

   INSTR(Str1, Str2 [,i[,j]]):Str1,Str2均为字符串,函数返回Str2在Str1中第j次出现的位置,搜索位置从Str1的第i个字符开始,当没有发现时返回0,如果i为负数,那么将从右到左进行,但是位置计算还是从左到右,i和j的默认值为1

 

   LENGTH(Str1):Str1为字符串,该函数返回字符串的长度

 

   LOWER(Str1):Str1为字符串,该函数返回Str1的小写字符串

 

   UPPER(Str1):Str1为字符串,该函数返回Str1的大写字符串

 

   LDAP(Str1,i,Str2):Str1,Str2均为字符串,i为整数,在Str1的左侧用Str2补足长度至i,如果i小于Str1的长度,那么只返回i那么长的Str1字符,其余部分将被截去,Str2默认为空格

 

   RPAD(Str1,i,Str2):Str1,Str2均为字符串,i为整数,在Str1的右侧用Str2补足长度至i,如果i小于Str1的长度,那么

只返回i那么长的Str1字符,其余部分将被截去,Str2 默认为空格

 

   LTRIM(Str1,Str2):Str1,Str2均为字符串,把Str1最左边的字符去掉,使其第一个字符不在Str2中,如果没有Str2,Str1不变

 

   RTRIM(Str1,Str2):Str1,Str2均为字符串,把Str1最右边的字符去掉,使其第一个字符不在Str2中,如果没有Str2,Str1不变

 

   REPLACE(Str1, [Str2,Str3]):函数用Str3代替出现在Str1中的Str2后返回结果

       SELECT REPLACE('uptown', 'up', 'down') FROM DUAL ---> downtown 

 

 

   STBSTR(Str1,i[,j]):Str1为字符串,i,j为整数,从Str1的第i位返回长度为j的子串,如果j为空,则直到Str1的尾部

 

   SOUNDEX(Str1):返回与Str1发音相似的词

 

   TRANSLATE(Str1, Str2, Str3):用于从字符串的头部,尾部或两端截取特定的字符串,Str1为要截去的字符,Str2是源字符

   

   数字函数

 

   ABS(n):返回n的绝对值

  

   ASIN(n):返回n的反正弦值,n为弧度,返回值介于-1和1之间

 

   ACOS(n):返回n的反余弦值,n为弧度,返回值介于-1和1之间

 

   ATAN(n):返回n的反正切值,n为弧度

 

   SIN(n):返回n的正弦值,n为弧度

 

   COS(n):返回n的余弦值,n为弧度

 

   TAN(n):返回n的正切值,n为弧度

 

   SINH(n):返回n的双曲线正弦值,n为弧度

 

   COSH(n):返回n的双曲线余弦值,n为弧度

 

   TANH(n):返回n的双曲线正切值,n为弧度

 

   CEIL(n):向上取整,返回大于或等于n的最小整数值

 

   FLOOR(n):向下取整,返回小于或等于n的最打整数值

 

   ROUND(n1,n2):返回舍入小数点右边n2位的n1的值,n2的默认值是0,如果n2为负数舍入就到小数点左边相应的位上,n2必须是整数

 

   EXP(n):返回e的n次幂

 

   LN(n):返回n的自然对数,n必须大于0

 

   LOG(n1,n2):返回以n1为底n2的对数

 

   POWER(n1, n2):返回n1的n2次方

 

   SQRT(n):返回n的平方根,n为弧度

 

   MOD(n1, n2):返回n1除以n2的余数

 

   TRUNC(n1,n2):返回截尾到n2位小数的n1的值,n2缺省设置为0,当n2为缺省设置时会将n1截尾为整数,如果n2为负值,就截尾在小数点左边相应的位上

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值