目录
1.介绍SQL
2.SQL分类
3.数据类型
4.伪劣
5.DDL语句
6.DML语句
7.DCL语句
8.TCL
一、介绍SQL
SQL(sturcted query language)中文名结构化查询语言可以操作用户存储、检索数据用户数据库对象。
其中用户数据库对象包括:表 用户 索引 序列 存储过程 触发器等
二、SQL分类
关键字:
select insert update delete
alter create drop truncate
ps:
drop:删除表结构和数据
truncate:删除数据,表结构保留
1、DDL( data define language) 数据定义语言
操作表结构 创建表 修改表 清空表 删除表
create alter truncate drop
2、DML(data manipulate language ) 数据操作语言
CRUD:
插入 insert
修改 update
删除 delete
查询 select
3、TCL 事务控制语言(transaction control language)
commit;提交事务
rollback *****; 回滚
4、 DCL 数据控制语言 (data control language)
grant ...... 授予权限
revoke 。。。。 回收权限
三、数据类型
常用的数据类型:字符 数值 日期 二进制 大对象类型
1、字符类型
char varchar2 long
char:固定长度的字符串,最长2000字节
varchar2:可变长度字符串 1-4000字节
long:可变长度字符串,最多存储2g数据,
不能用在主键、索引、唯一约束.....,不常使用。
2、数值类型
NUMBER[(p[,S])] 最多表示38位?
p表示有效位,s表示小数点后面的位数
NUMBER 整数
NUMBER(5) 最大5位整数
NUMBER(5,2) 表示小数 最多2位小数,总共5位数
eg:
123.22
123.298 -->123.30
3、日期
DATE:精确到秒 日期、时间
TIMESTAMP 精确到秒后面的6位小数,日期、时间、时区
ps:
oracle中字符串转换成日期类型
to_date(字符串,格式)
oracle中日期类型转换成字符串类型
to_char(时间,格式)
获取当前时间关键字 sysdate
4、二进制类型
RAW:用来存储二进制数据,最多2000字节
LONG RAW:存储可变长度的二进制数据,最多存储2g数据
5、大对象数据LOB
CLOB:character LOB 字符大对象
存储大量字符数据
BLOB:Binary LOB(二进制LOB),存储较多的二进制对象
图片、视频、声音文件等。
BFILE:Binary File(二进制文件),只存储文件的指针,
文件内容实际存储到操作系统的文件系统中。
四、伪劣
ROWID:表示行的存储地址,该地址可以唯一的表示数据库中的一行
ROWNUM:查询返回结果集行的序号,使用它限制返回的行数,比较 mysql limit top关键字,经常用作数据分页。
五、DDL(数据库定义语言)
改变数据库结构
创建、更改、删除。。。。
命令:
create table 创建表
alter table 修改表结构
drop table 删除表
truncate table 删除表(表结构还保留)
六、DML
CRUD
INSERT 插入
SELECT 查询
UPDATE 更新
DELETE 删除
1)拷贝表结构和数据
方式一:新表不存在
create table 新表名 as select 列名 from 旧表;
方式二:新表结构已存在且表结构与旧表一致,但是无数据
insert into 新表(列名)select 列名 from 旧表。
2)对myemp表插入数据
insert into 表名 values (所有对应字段的值)
insert into 表名(字段列表)values(对应字段列表的值)
3)查询myemp
查询所有数据
4)更新
update 表名 set 列名=值 where 条件
5)删除
delete 表名 where 条件
七、TCL
事务是最小工作单元,保证事务的整体成功或失败
特性:ACID
一致性 隔离性 原子性 持久性
语句:
COMMIT:提交并结束事务处理
ROLLBACK:撤销事务中完成的工作项(回滚事务)
SAVEPOINT:标记事务中可以回滚的点
八、DCL
grant 权限列表 on 数据库对象 to 用户
revoke 权限列表 on 数据库对象 tfrom 用户
越级授权:A用户将一张表的操作权限授予给B用户,B用户将这张表的操作权限授予给C用户。
grant 权限列表 on 数据库对象 to 用户 with admin option;