Oracle-SQL基础
SQL语句分类
DCL
数据控制语句,跟用户权限相关
grant
--权限赋予
grant 权限 to 用户;
--权限:
connection:连接和登录数据库
resource:代码编写
dba:管理员权限
- revoke
DDL
数据定义语句,基本格式
关键字 table 表名 操作
create
创建用户
create user 用户名 identified by 密码;
drop
删除表格
drop table 表名;
alter
alter table 表名 对应操作
修改表结构
新增一列
alter table 表名 add 列名 数据类型 约束条件;
删除一列
alter table 表名 drop column 列名;
修改列属性
alter table 表名 modify 列名 数据类型 约束条件;
重命名列
alter table 表名 rename column 原列名 to 新列名;
修改表名
alter table 表名 rename 新表名;
修改约束条件
新增约束
alter table 表名 add constraint 约束名 约束类型(字段);
--检查约束
alter table 表名 add constraint 约束名 check(条件);
--外键约束
alter table 表名 add constraint 约束名 foreign key(字段) references 另一个表名(主键列名);
删除约束
alter table 表名 drop constraint 约束名;
- rename
truncate
清空表数据
truncate table 表名
DML
数据操纵语句,对数据库进行增删改
insert
--插入
insert into 表 values(字段);
update
--更新
update 表 set 字段=新值;
delete
--删除
delete from 表 where 筛选条件;
DQL
数据查询语句,查询数据
select
select 聚合函数(字段) from 表名 where 筛选 group by 分组字段 order by 排序字段;
TCL
事务控制语句
- savepoint
- commit
- rollback
SQL数据类型
数字类型
Integer
只能表示整数
number
可以表示整数和小数
字符串类型
char
定长字符串,最大长度2000
varchar2
不定长字符串,最大长度4000
时间日期
date
大文件格式
最大可以存储4GB大小的文件
CLOB
存储文本信息
BLOB
存储二进制信息
约束
主键约束
primary key
唯一存在的而且不能为空,一个表格只能有一个主键
唯一约束
unique
可以为空不能重复
非空约束
not null
不能为空可以重复
检查约束
check
限制了输入的范围
外键约束
foreign key
A表的某一列的数据,必须来自于B表中主键的数据
批量处理
create表复制
复制表结构和表数据
create table 表名 a as select * from 另一个表b;
只复制表结构
create table course_4 as select * from course where 1=2;
--where 后面接一个值为false的式子
insert表复制
insert into 表名a select * from 另一个表b;
delete和truncate的区别
1.delete是DML语句,可以提交和回滚操作
truncate是DDL语句,不能回滚数据
2.delete在删除时可以筛选数据,truncate只能针 对整个表删除数据
3.truncate在删除大表很多数据的时候,效率比 delete要快
4.delete是以行为单位进行删除,一行一行的删,
truncate是针对表结构层次的数据删除