### Oracle学习笔记知识点详解 #### 一、SPPOOL命令 - **定义**: SPPOOL命令用于将屏幕输出重定向到一个文件中。这对于保存查询结果、脚本执行过程等非常有用。 - **语法**: - `spool 文件路径`: 开始将后续的输出重定向到指定的文件中。 - `spool off`: 结束输出重定向。 **示例**: - `spool e:\aa.sql`: 将输出重定向到E盘根目录下的`aa.sql`文件中。 #### 二、用户管理 - **创建用户**: 使用CREATE USER语句创建新用户,并指定密码。 - `CREATE USER xiaoming IDENTIFIED BY M123`: 创建名为xiaoming的新用户,密码为M123(密码需以字母开头)。 - **修改密码**: - `ALTER USER xiaoming IDENTIFIED BY m123`: 修改xiaoming用户的密码为m123。 - **连接用户**: - `conn system/root password xiaoming`: 连接到system用户,密码为root,然后切换到xiaoming用户。 #### 三、权限管理 - **授予权限**: - `GRANT CONNECT TO xiao`: 授予xiao用户连接权限。 - `GRANT SELECT ON empto xiaoming`: 授予xiaoming用户对empt表的查询权限。 - `GRANT UPDATE ON empt(sal) to monkey`: 授予monkey用户对empt表sal列的更新权限。 - `GRANT ALL ON empto xiaoming`: 授予xiaoming用户对empt表的所有权限。 - **收回权限**: - `REVOKE SELECT ON emp FROM xiaoming`: 收回xiaoming用户对emp表的查询权限。 - **权限传递**: - `GRANT SELECT ON empto xiaoming WITH GRANT OPTION`: 允许xiaoming用户可以将empt表的查询权限授予其他用户。 - **特殊权限**: - `WITH ADMIN OPTION`: 可以将系统权限继续授予其他用户。 - `WITH GRANT OPTION`: 可以将对象权限继续授予其他用户。 #### 四、系统用户角色 - **sys用户**: 拥有最高权限,可以创建数据库。 - **system用户**: 系统管理员,拥有很高的权限,但无法创建数据库。 - **scott用户**: 普通用户。 #### 五、用户操作 - **删除用户**: - `DROP USER 用户名 CASCADE`: 删除用户及其所有对象,包括表、视图等。 - **锁定/解锁账户**: - `ALTER USER 用户名 ACCOUNT LOCK`: 锁定用户账户。 - `ALTER USER 用户名 ACCOUNT UNLOCK`: 解锁用户账户。 #### 六、数据类型 - **CHAR**: 定长字符串类型,查询速度快。 - **VARCHAR2**: 变长字符串类型,节省空间。 - **修改字段类型**: - `ALTER TABLE student MODIFY (xm VARCHAR2(20))`: 修改student表中的xm字段为VARCHAR2类型,长度为20。 - **删除字段**: - `ALTER TABLE student DROP COLUMN sal`: 删除student表中的sal字段。 #### 七、SQL命令 - **LIKE语句**: - `%`: 匹配任意数量的字符。 - `_`: 匹配单个字符。 - **查询去重**: - `SELECT DISTINCT dname FROM scott.dept`: 查询部门表中不重复的部门名称。 - **NULL值操作**: - `SELECT * FROM emp WHERE comm IS NULL`: 查询emp表中comm为空的记录。 - `SELECT * FROM emp WHERE comm IS NOT NULL`: 查询emp表中comm不为空的记录。 - **INSERT INTO**: - `INSERT INTO kkk (myid, myname, mydept) SELECT empno, ename, deptno FROM emp WHERE deptno = 10`: 插入emp表中deptno为10的所有记录到kkk表中。 - **UPDATE语句**: - `UPDATE emp SET (job, sal, comm) = (SELECT job, sal, comm FROM emp WHERE ename = 'SMITH') WHERE ename = 'SCOTT'`: 更新emp表中ename为SCOTT的记录的job、sal和comm字段,设置为ename为SMITH的记录对应的值。 - **修改日期格式**: - `ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY-MM-DD'`: 设置会话的日期显示格式为YYYY-MM-DD。 #### 八、表操作 - **删除表**: - `DROP TABLE 表名`: 删除指定的表。 - **清空表**: - `TRUNCATE TABLE 表名`: 清空表中的所有数据,保留表结构,不记录日志,无法恢复数据。 #### 九、排序 - **ORDER BY**: 对查询结果进行排序,可按升序(ASC,默认)或降序(DESC)排列。 以上知识点覆盖了Oracle数据库中的一些基本操作,包括用户管理、权限管理、数据操作和表管理等方面,对于初学者来说是非常实用的学习资料。
剩余10页未读,继续阅读
- 粉丝: 46
- 资源: 14
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助