orcal数据库

2019-01-09  本文已影响0人  一个燃烧的熊猫

orcal必背的知识点

/*

多表查询的思路:

1.分析题目涉及哪些表

2.如果数据来自多张表,就要使用多表查询:找到表与表之间相同的字段用 = 连接(并放到where字句后面);

3.如果需要对单条记录做过滤,就把过滤条件追加到where字句后面,用and连接

4.如果需要对多组数据做统计,就要使用group by

5.如果需要对分组之后的数据做过滤,就要使用having

6.如果需要对数据进行排序,就要用到order by

*/

---- delete  truncate    drop的区别

delete from 表名

where 过滤条件;(可以撤销)(删除单行或多行,不加where条件删除表的所数据)

truncate table 表名(不能撤销)(删除表里的所有数据)

drop table 表名(删除整个表,不能撤销)

模糊查询:

---模糊查询关键字:like

匹配符:

%:表示匹配任意长度的字符

_:下划线,表示匹配一个长度的任意字符

*/

/*

右连接:

select 字段

from 表1 表1别名,表2 表2别名

where 表1别名.字段(+) = 表2别名.字段

左连接:select 字段 from 表1 表1别名,表2 表2别名 where 表1别名.字段 = 表2别名.字段(+)

*/

去重:

/* 去重:distinct 字段 */

增,删,改,查的语法:

/*添加数据

insert into 表(字段1,字段2...字段n)

values(值1,值2,...值n)

commit;永久保存在数据库

rollback;撤销输入的数据

*/

/*---删除数据库表中的数据

delete from 表名

where 过滤条件;(可以撤销)

truncate table 表名(不能撤销)

drop table 表名(删除整个表,不能撤销)

*/

/*修改数据

update 表名

set 列1 = 值1,列2 = 值2...列N = 值N

[where过滤条件];

*/

/*查询数据

select 字段/表达式

from 表

where 过滤条件

group by 字段

having 分组条件

order by 字段/表达式asc/desc;

*/

orcal数据库知识点

--创建表格--

/*

create table 表名(

      字段1 数据类型,

      字段2 数据类型,

      字段3 数据类型,

      ....

      字段n 数据类型

); */

/* 数据类型

唯一约束(unique)

非空约束(not null)

主键(primary key)

检查约束(check)

外键(references)

默认值(default)

*/

--------修改表:增加列 --------

/*

alter table 表名add(增加)(

      字段名1 数据类型,字段名2 数据类型...字段名n 数据类型

);

alter table 表名modify(修改)(

      字段名1 数据类型,字段名2 数据类型...字段名n 数据类型

);

alter table 表名 drop(删除) column字段名;

*/

/* 去重:distinct 字段*/

/*----精确查询 模糊查询

---模糊查询关键字:like

匹配符:

%:表示匹配任意长度的字符

_:下划线,表示匹配一个长度的任意字符

*/

-----查询空值  is null非空is not null

---排序  order by asc(升序)/desc(降序)

/*添加数据

insert into 表(字段1,字段2...字段n)

values(值1,值2,...值n)

commit;永久保存在数据库

rollback;撤销输入的数据

*/

---插入指定的时间  to_date('字符串','格式')

to_date('1997-11-25','yyyy-mm-dd')

------修改数据库的数据

/*修改数据

update 表名

set 字段 = 修改后的值

where 过滤条件;

*/

/*---删除数据库表中的数据

1.delete from 表名

where 过滤条件;(可以撤销)

delete from 表名(不加wehere条件,删除表所有数据)

2.truncate table 表名(不能撤销)

3.drop table 表名(删除整个表,不能撤销)

*/

/*

---count(*)统计整个表的所有行数

---count(字段)统计整个表的非空行数

---avg(字段)--统计平均数据

---min(字段)--统计最小值

---max(字段)--统计最大值

---sum(字段)--统计总和

*/

---group by 分组查询

/*

select 字段/表达式

from 表

where 过滤条件

group by 字段

having 分组条件;

*/

---多表查询

/*

思路:

1.分析题目涉及哪些表

2.如果数据来自多张表,就要使用多表查询:找到表与表之间相同的字段用 = 连接(并放到where字句后面);

3.如果需要对单条记录做过滤,就把过滤条件追加到where字句后面,用and连接

4.如果需要对多组数据做统计,就要使用group by

5.如果需要对分组之后的数据做过滤,就要使用having

6.如果需要对数据进行排序,就要用到order by

*/

---外连接:左连接/右连接

/*

右连接:

select 字段

from 表1 表1别名,表2 表2别名

where 表1别名.字段(+) = 表2别名.字段

左连接:select 字段 from 表1 表1别名,表2 表2别名 where 表1别名.字段 = 表2别名.字段(+)    where A.a = B.b(+)

*/

----子查询

/*

select 字段

from 表

where 字段= (select 字段 from 表 where 条件)

*/

----子查询,必须要用()括起来。

多行值子查询

    多行子查询,是指子查询会返回多个值,此时,需要用到多值比较运算符:[not]in

  in运算符表示属于的关系,即是否在所选数据的集合之中。"not in"表示不属于集合或不是集合的成员。

上一篇下一篇

猜你喜欢

热点阅读