待补充
scott解锁语句
解锁用户:alter user scottaccount unlock
重新给这个用户修改密码:alter user scott identified by system123456
DML语言(数据操作语言)
1、增
在数据库表中插入或者增加数据
insert into 表名 values(值1,值2,值3.........)(值的顺序和列的顺序必须对应)
2、删
delete from 表名 where 字段名 = 值
3、改
修改数据库表内的值
update 表名 set 字段名 = 值 where 字段名 = 值
where后面的是条件 set后面的是修改的具体内容
4、查
多条件查询
select * from 表名 where 条件1 and/or 条件2
系统时间获取(sysdate)
DDL语言(数据定义语言)
1、增
创建一张表
create table 表名(列名1 数据类型 约束,列名2 数据类型 约束.............)
建立外键
alter table 主表 add constraint 任意名字 foreign key 主表字段名 references 从表名(从表字段名)
2、删
删除表
drop table 表名
3、改
a、增加一列
alter table 表名 add (列名 数据类型 约束)
b、修改列的属性
alter table 表名 modify(列名 数据类型 约束,列名 数据类型 约束)
c、修改字段名
alter table 表名 rename column 旧名字 to 新名字
d、删除多列
alter table 表名 drop (列名1,列名2)
e、 删除单列
alter table 表名 drop column 列名/列名
SQL复杂查询
1、排序 select * from 表名 【条件】 order by 列名 【asc/ desc】
2、可以表示范围的关键字 between and / in (很多时候跟在where后面)
3、多条件判断 case .......when ........
比如:select ename,
case
when sal<1000 then '低收入人群'
when sal <2800 then ‘中等收入人群’
else '高收入人群'
end
from emp
4、给表取别名:直接在表后面跟名字
5、给列取别名:用AS关键字 后面跟名字
6、对数据分组
group by +分组函数 + having (过滤)
7、伪劣
rowid 伪劣能在整个数据库中唯一标识一条记录,是一个唯一标识
rownum 是我们数据库查询的时候数据库自动分配的一个行号,实际上的那个我们执行SQL的时候得到的是一张临时表
8、子查询
比如:select * from (select * from emp)
子查询查询出来的结果分为
a、一行一列:可以直接当作结果,放到where后面使用
b、多行一列:可以直接当作结果,放到where后面使用,也可以当作临时表使用
c、多行多列:这种只能当作临时表使用,这时候就需要我们能连接两张表(两张表中应该有同一个字段,值类型相同)
分页查询
对我们的数据进行分段的提取
伪劣组合子查询进行查找
比如:select tt.* from
(select t.*,rownum as t_rownum from (select * from emp e order by hiredate ) t ) tt where tt.t_rownum>=11 and tt.t_rownum<=15
内连查询
select t1.*,t2.* from table1 t1 inner join table t2 on 连接条件
左连查询 左表 left join 右表 on
数据以左表为主
右连查询 左表 right join 右表 on
数据以右表为主
合并查询
关键字:union
将两个查询语句的结果合并到一个SQL里面
函数
sum()
max()
min()
avg()
count()
subsstr (str,begin,length)函数:截取字符串length的长度
instr(str1,str2,begin)从str1的begin下标开始查找str2
lower(str) 小写
upper(str)大写
where 的速度比较慢