Oracle Database 学习笔记02

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为负值,就截尾在小数点左边相应的位上

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值