SQL基础:
-
概念:SQL是数据库语言,表是数据库的主要对象。
-
SQL支持下列类别的命令
-
数据定义语言(DDL): CREATE 创建,ALTER 修改 ,DROP删除。 成功操作后会自动提交事务无法回滚;
-
数据操作语言(DML):INSERT 增加 ,SELECT 查询 ,DELETE 删除 ,UPDATE 修改。
-
事务控制语言(TCL):COMMIT 提交事务,ROLLBACK 回滚/回退,SAVEPOINT关键字用于在数据库事务中设置一 个存储点回滚可以选择次存储点进行回滚。
-
数据控制语言(DCL):GRANT 授权 ,REVOKE 撤销权限。
-
增删改查语法:
1.增加.
-
增加单条数据:insert into 表名(列1,列2,...,列N) values(值1,值2,...,值N)
-
批量增加:
语法1:
insert into 表名(列1,列2,...,列N)
values(值1,值2,...,值N),
(值1,值2,...,值N),
......
(值1,值2,...,值N);
语法2:
insert into 表名(列1,列2,...,列N)
select 值1,值2,...,值N union,
select 值1,值2,...,值N union,
.....................
select 值1,值2,...,值N;
-
注意事项:
-
在插入数据的时候,如果插入的数据是所有列的数据,那么列名则可以省略不写(建议不省略)。
-
插入的数据个数必须和列名的个数及顺序形成一一对应的关系且数据类型要匹配,标识列不能维护。
-
对于允许为空的字段,可以使用null关键字进行插入。
-
2.查询.
2.1基础查询.
-
查询表内所有数据:select * from 表名;# * 代表表内所有字段;
-
查询表内部分字段:select 字段1,字段2,字段3,.....from 表名;
-
带条件查询:select....from 表名 where 条件表达式;# where后面的条件表达式一般会结合运算符使用;
2.2模糊查询/关键字查询.
-
模糊查询:模糊查询也属于条件查询,只不过在条件里面带有 like 关键字和通配符。
-
like/not llike;
-
left:取左边的指定字符;# where left(address,1)='陕';
-
right:取右边的指定字符;# where right(address,2)='陕西';
-
通配符(通用的匹配符号):
-
_:一个字符;
-
%:任意长度的字符串,也可以没有字符。
-
-
2.3关键字-distinct.
-
作用:去除重复项,相同的值只显示一个。
-
语法:select distinct 字段名 from student;
3.修改.
-
全表修改:update 表名 set 列名=更新值;
-
条件修改:update 表名 set 列名=更新值 where 条件;# where后面的条件表达式一般会结合运算符使用;
-
注意事项:
-
修改数据时如果不带where条件则是全表修改。
-
在修改表内数据的时候没有关键字from。
-
4.删除.
-
删除表内所有数据:delete from 表名;
-
通过条件删除数据:delete from表名 where 删除条件;# where后面的条件表达式一般会结合运算符使用;
数据类型:
1.字符数据类型:
储存字符和数值
-
CHAR 固定长度(列长度1-2000字节)
-
VARCHAR2 支持可变长度 (1-4000字节) 常用
-
LONG 可变长度 (最大存储2GB) 一般不使用
2.数值数据类型:
存储整数,浮点数和实数
-
声明格式:
NUMBER(P,S)————P代表数的个数,S代表小数位个数。
3.日期数据类型:
储存年、月、日、时、分、秒。
-
主要的日期类型有:
-
DATE -存储日期和时间部分,精确到整个的秒
-
TIMESTAMP -存储日期、时间和时区信息,秒值精确到小数点后6位
-
4.不常用的数据类型
RAW 数据类型
-
RAW数据类型用于存储二进制数据
-
RAW数据类型最多能存储2000字节
-
LONG RAW数据类型用于存储可变长度的二进制数据
-
LONG RAW数据类型最多能存储2 GB
LOB 数据类型:
LOB称为“大对象”数据类型,可以存储多达4GB的非结构化信息,例如声音剪辑和视频文件等
LOB数据类型允许对数据进行高效、随机、分段的访问
-
CLOB : CLOB即Character LOB(字符LOB),它能够存储大量字符数据。
-
BLOB :BLOB即Binary LOB(二进制LOB),可以存储较大的二进制对象,如图形、视频剪辑和声音文件 。
-
BFILE :BFILE即Binary File(二进制文件),它用于将二进制数据存储在数据库外部的操作系统文件中。
Orcale特有的伪列
-
Oracle中伪列就像一个表列,但是它并没有存储在表中
-
伪列可以从表中查询,但不能插入、更新和删除它们的值
-
常用的伪列有ROWID(通常不用)和ROWNUM
-
ROWID是表中行的存储地址,该地址可以唯一地标识数据库中的一行,可以使用ROWID伪列快速地定位表中的一行。
-
ROWNUM是查询返回的结果集中行的序号,可以使用它来限制查询返回的行数。(常用分页,也能作用于排序取值)
-
必须要给表取别名,通过别名再嵌套一层查询可以变为实列;(因为伪列只能从1开始拿数据)
-
-
示例代码---
-- rownum必须从1开始,拿到4-6的数据无法使用了。
select * from
(select t.*,rownum myr from
( select e.* from emp e order by sal desc )
t ) f where myr between 3 and 6; 将伪列变为实例就能拿到不从1开始的数据