一、sql语言分类
1.数据查询语言(DQL):select
2.数据操纵语言(DML):insert 、update、delete
3.事务控制语言(TCL):commit:用于提交对数据库的更改;
rollback:用于取消对数据库的更改
savepoint:设置保存点
4.数据定义语言(DDL):CREATE、alter、drop
5.数据控制语言(DCL):用于执行权限授予或权限收回。grant、revoke
二、sql编写规则:
1.关键字不区分大小写
2.对象名和列名不区分大小写
3. 字符值区分大小写
三、select用法:
1.select 要查询的列1,要查询的列2…
into 表名 –将源表的结构和数据插入新表中
from 表 | 视图 | 其他查询结果集
where 条件
group by 分组条件
having condition
order by 排序列
2.简单查询
略
3.带有表达式的select子句
对于数字数据和日期数据可以进行使用算数表达式。
4.为列指定别名
select 列 as 别名 from 表;–as是可选项,也可以省略
5.显示不重复记录
在列前加distinct
6、比较筛选
a.使用特殊关键字筛选:
like、in、between、isnull
like:字符串匹配或模糊查询
_代表任意一个字符
%代表任意数量的字符
in:用于指定列表 搜索条件 in(val1,val2,。。。valn)
between、isnul略
7.分组查询,略
8.排序查询
order by默认升序,desc为降序。升序为asc
9.多表关联查询
1.表别名:当多个表之间存在同名列,必须使用表名来限制列的引用。
2.内连接:inner join。inner关键字可以省略。只匹配满足查询条件和链接条件的行
select 列名
from 表1 inner join 表2
on 条件;—不用where
3.外连接:不仅返回符合查询条件和链接条件的行,还会返回左表或者右表中符合查询条件的值。
left outer join左外连接
right outer join右外连接
full outer join 完全外连接 –以上三个的outer 可以省略
四、oracle常用系统函数
1.字符类函数
a)ASCII(c):返回一个字符的asc码
b)CHR(i):返回一个ascii值对应的字符串;
c) concat(s1,s2):将字符串s1连接到字符串s2后面,其中一个字符串为空,则返回另一个。
d) initcap(s):将字符串s的米格单词的第一个字母大写,其他字母小写;
e)instr(s1,s2[,i][,j]):返回字符串s2在字符串s1中第j次出现的位置,搜索从字符串s1的第i个字符开始。当没有发现要查找的字符串时,返回0;如果i为负数,搜索将从右至左计算。默认值1.
f)length(s):返回字符串s的长度
g)lower(s)、upper(s):大小写转换函数
h)ltrim(s1,s2)、rtrim(s1,s2)、trim(s1,s2):删除字符串s1左、右、两边的s2
i)replace(s1,s2[,s3]):用s3替换所有出现在s1中的s2字符串。
j)substr(s,i,[j]):从字符串s的i位置开始截取长度为j的子字符串,如果j省略,则直接截取到结尾。
五、插入数据(insert语句)
insert into 表名(列名1,列名2…) values(值1,值2…)
1.批量插入:一次向表中插入一组数据:insert into 表 (select …)将select到的结果插入到表中
六、更新数据(update)
update 表 set 列=值 where 条件;
七、删除数据
delete:
delete from 表
where 条件
truncate:删除表中所有的数据。速度快,无法撤销
truncate 表
八、事务处理
commit,事务提交
rollback,事务回滚
savepoint ,事务保存点,rollback可以回滚到指定的保存点
rollback to savepoint 名;