数据库的操作任务通常包括以下几个方面:
1.查询数据。
2.在表中插入,修改和删除记录。
3.建立,修改和删除数据对象。
4.控制对数据和数据对象的读写。
5.保证数据库一致性和完整性。
SQL语言学习
数据查询语言(DQL)
用于检索数据库中的数据,主要是select
数据操作语言(DML)
用于改变数据库中的数据,主要包括 insert,update 和 delete
事务控制语言(TCL)
用于维护数据的一致性,包括COMMIT, ROLLBACK和SAVEPOINT
COMMIT语句用于提交对数据库的更改,
ROLLBACK语句用于取消对数据库的更改,
SAVEPOINT语句则用于设置保存点,
数据定义语言(DDL)
用于建立,修改和删除数据库对象。例如,可以使用CREATE TABLE语句创建表;
数据控制语言(DCL)
用于执行权限授予和权限回收操作,主要包括GRANT和REVOKE两条命令。
其中GRANT命令用于给用户或角色授予权限,而REVOKE命令用于回收用户或角色所具有的权限。
用户模式
模式与模式对象之间的关系就是拥有与被拥有的关系,即模式拥有模式对象;而模式对象被模式拥有。
一个不属于某个用户所拥有的数据库对象就不能称之为模式对象,如角色,表空间及目录等数据库对象。
检索数据
语法:
select {[ distinct | all ] columns | * } //用于选择数据表,视图中的列
[into table_name] //用于将原表的结构和数据插入新表中
form {tables | views | other select} //用于指定数据来源,包括表,视图和其他select语句。
[where conditions] //用于对检索数据进行筛选
[group by columns] //用于对检索结果进行分组显示
[having conditions] //用于从使用group by子句分组后的查询结果中筛选数据行
[order by columns]; //用户排序
利用select指定列的好处就是可以改变列在查询结果中的默认显示顺序。
带有表达式的select语句:
select sal*(1+0.1),sal from emp;
为列指定别名:
select empno as "员工编号", ename as "员工名称"
from emp;
//或者 as是可选项
select empno "员工编号", ename "员工名称"
from emp;
显示不重复记录:默认是显示所有,如果使用distinct则不显示重复的数据
select distinct job from emp;
筛选查询:
LIKE关键字:在emp表中,使用like关键字匹配以字母S开头的任意长度的员工名称
select empno,ename,job from emp where ename like 'S%';
IN关键字:在emp表中,使用IN关键字查询职务为"PRESIDENT","MANAGER"和"ANALYST"中任意一种的员工信息
select empno,ename,job from emp where job in('PRESIDENT','MANAGER','ANALYST');
BETWEEN关键字:在emp表中,使用BETWEEN关键字查询(sal)在2000到3000之间的员工信息
select empno,ename,job from emp where sal between 2000 and 3000;
IS NULL关键字:查询emp表中comm列为空的员工信息。
select empno,ename,comm from scott.emp where comm is null;
学习未完