引文:
结构化查询语言(Structured Query Language),是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。
一、DCL ---数据控制语句,通过GRANT或REVOKE获得许可,确定单个用户和用户组对数据库对象的访问。
二、DDL ---数据定义语言,在数据库中创建新表或删除表(CREAT TABLE 或 DROP TABLE);为表加入索引等。
三、DQL ---数据查询语言,用以从表中获得数据,确定数据怎样在应用程序给出。
四、DML ---数据操作语言,分别用于添加,修改和删除表中的行。
五、TPL ---事务处理语言,确保被DML语句影响的表的所有行及时得以更新。
六、CCL ---指针控制语言,用于对一个或多个表单独行的操作。
一、DCL
1、创建用户:
create user 用户名 identified by 密码;
2、解锁用户:
alter user 用户名 account unlock;
锁定用户:
alter user 用户名 account lock;
3、删除用户:
drop user 用户名
级联删除
drop user 用户名 cascade
4、分配权限或角色
grant privileges /roles to user
撤销权限或角色
revoke privileges /roles from user
5、创建表空间
create tablespace 名字
datafile:存储路径
size:空间大小
autoextend on next 32M maxsize unlimited //自动增长 每次32M 最大大小无限制
二、DDL
1、建表
create table 表名(
列名1 数据类型 约束
列名2 数据类型 约束
......
)
2、修改表
1)追加一列
alter table 表名
add(列名 数据类型 )
2)修改现有的列
alter table 表名
modify(列名 数据类型 )
3)删除一列
alter table 表名
drop column (列名)
3、删除表
drop table 表名
注:数据和表的结构都会被删除
三、DQL
基本结构:
select 字段列表 from 表名 where 查询条件
查询所有字段
select * from 表名 where 查询条件
sql中的运算符:
1、算数运算符
+ - * /
2、比较运算符
= 等于
>大于
>=大于等于
<小于
<=小于等于
<> 不等于
between...and 在。。之间,包含边界
in
like 模糊查询 两个通配符%%表示任意字符
is null 是否为空
3、逻辑运算符
and 与
or 或
not 非
4、空值
用nvl函数处理
nvl(a,b) 当a不为空时,结果为a,当a为空时,结果为b
nvl2(a,b,c) 当a不为空,返回b,否则,返回c
5、as 给列名和表名称指定别名
eg. 表的别名
select id from student as list1;
列的别名
select name as show from student;
6、连接符 ||
把列和列,列和字符连接在一起
select ename||job from emp
7、字符串
日期和字符用单引号 括起来
8、重复的行
默认情况下,查询会返回重复行
去除重复行
select distinct id from student;
9、分组
select * from student group by gender;
10、排序
select * from order by id;
11、having
对输出结果进行限制
eg、 select name ,sum(sales) from store group by name having sum(sales)>1500;
四、DML
1、增
insert into 表名(列名1,列名2.。。。)
values
(值1,值2.。。。)
2、改
update table
set 列名 =值
where 条件
3、删
delete [from] 表名
where 表达式