Oracle课堂笔记常用命令,简单易懂
根据提供的文件信息,以下是从标题、描述以及部分内容中提取并扩展出的相关Oracle知识点: ### Oracle 常用命令与操作 #### 一、环境配置与基础命令 **标题**: Oracle课堂笔记常用命令,简单易懂 **描述**: oracle课堂笔记常用命令,适合初学者。 在学习Oracle时,掌握一些基本的操作命令对于日常的数据库管理和维护非常重要。以下是一些常用的环境配置与基础命令: 1. **连接到Oracle实例**: - 连接至Oracle数据库通常需要指定服务名和服务的IP地址。例如,可以通过如下命令连接: ``` SQL> conn scott/test@orcl ``` - 其中`scott/test`是用户名/密码组合,`orcl`是服务名。 2. **编辑SQL脚本**: - 可以使用`ed`命令来编辑当前会话中的SQL语句。例如: ``` SQL> ed ``` - 也可以设置默认的编辑器,比如Notepad或UE等。例如: ``` SQL> define_editor=notepad SQL> define_editor=uedit32 ``` - 需要注意的是,这里提到的路径应该指向已安装的编辑器路径,并且确保路径正确无误。 #### 二、SQL函数与操作符 3. **模运算(取余)**: - 使用`MOD`函数来进行取余操作,例如:`MOD(num1, num2)`。 4. **字符串拼接**: - 在Oracle中,可以使用双竖线 `||` 来进行字符串拼接,例如: ``` SELECT 'Hello' || 'World' AS Result FROM dual; ``` 5. **去除重复值**: - 使用`DISTINCT`关键字来去除查询结果中的重复值,例如: ``` SELECT DISTINCT column_name FROM table_name; ``` - 或者使用`UNIQUE`关键字,但请注意,`UNIQUE`在Oracle中主要用于约束,而不是用于查询去重。 6. **模糊匹配**: - 使用`LIKE`操作符进行模糊匹配时,需要注意转义特殊字符,例如`%`或`_`,可以使用`ESCAPE`关键字来指定转义字符,例如: ``` SELECT * FROM table_name WHERE column_name LIKE '%test%' ESCAPE '\'; ``` #### 三、数据查询与处理 7. **使用SQL*Plus工具**: - 在命令行下可以使用SQL*Plus工具连接到Oracle数据库,例如: ``` SQL*Plus: scott/tiger ``` 8. **函数与过程**: - `FUNCTION`和`PROCEDURE`是Oracle PL/SQL中的重要组成部分,分别用于返回一个值和执行一系列操作。 9. **字符串大小写转换**: - 使用`INITCAP`函数将字符串首字母大写,其他字母小写;`LOWER`函数转换为全小写,`UPPER`函数转换为全大写。 10. **字符串截取**: - 使用`SUBSTR`函数来截取字符串,参数依次为原始字符串、起始位置和长度。Oracle中的位置从1开始计数。 10. **条件查询**: - 使用`WHERE`子句来进行条件筛选,而`HAVING`子句则用于对聚合函数的结果进行过滤。 11. **多表联查**: - 使用`JOIN`语句实现多表之间的关联查询,如左连接(LEFT JOIN)、右连接(RIGHT JOIN)等。 12. **子查询**: - 子查询可以在一个查询内部嵌套另一个查询,例如: ``` SELECT e1.ename, e1.empno FROM emp e1 WHERE EXISTS (SELECT 1 FROM dept d WHERE e1.deptno = d.deptno); ``` 13. **权限管理**: - 使用`GRANT`语句授予用户特定的权限,例如: ``` GRANT CONNECT, RESOURCE TO zhong; ``` #### 四、高级查询与数据操纵 14. **NULL值处理**: - 在涉及NULL值的计算中,如`SUM`函数,如果某个列值为NULL,则不会被计入总和中。 15. **分组查询**: - 使用`GROUP BY`子句对查询结果进行分组,并且通常与聚合函数一起使用。 16. **WITH CHECK OPTION约束**: - 在定义视图时使用`WITH CHECK OPTION`来限制通过视图插入或更新的数据必须满足视图定义中的条件。 17. **MERGE语句**: - `MERGE`语句是一种高效的数据合并方式,可以根据匹配情况执行更新或插入操作。 18. **表结构复制**: - 使用`CREATE TABLE ... AS SELECT ...`语句来复制现有表的结构和数据。 19. **表结构修改**: - 使用`ALTER TABLE`命令来添加、删除或修改表的字段。例如: ``` ALTER TABLE emp ADD (birthday DATE, age NUMBER); ``` 20. **表结构删除**: - 使用`ALTER TABLE ... DROP COLUMN`命令来删除表中的某一列,例如: ``` ALTER TABLE emp DROP COLUMN empno; ``` 21. **列重命名**: - 使用`ALTER TABLE ... RENAME COLUMN`来更改列的名称,例如: ``` ALTER TABLE class2 RENAME COLUMN class_name TO a; ``` 22. **列标记为未使用**: - 使用`ALTER TABLE ... SET UNUSED`命令来标记列未使用,例如: ``` ALTER TABLE emp SET UNUSED (empno); ``` 以上就是从标题、描述以及部分内容中整理出来的Oracle知识点。这些内容不仅适用于初学者,也对有一定经验的DBA具有参考价值。通过理解并熟练掌握这些命令,可以更有效地管理和操作Oracle数据库。
选择“本地网络服务名配置”
服务名:orcl
主机名:对方的IP地址
更改口令:如对方的用户名和密码为(scott/test)
网络服务名:可以为默认orcl,也可以修改成"orcl_X"形式,X为对方IP的最后数字
2: 将当前命令行中的sql写入文本的命令:ed、edit
关掉文本后,在命令行中输入“/”、“run”都可重新运行之前的sql语句.
define_editor=notepad(以文本形式打开)
define_editor=uedit32(以UE形式打开)
注意:设置打开方式,必须配置path路径,将相应的安装路径拷贝到path变量里面即可,注意一定要在路径后加上‘\’ !
但此时若打开另一个命令行窗口,用“ed”命令时,却仍然是用“记事本”打开的,即其作用只为当前命令行窗口,
解决在其他任意命令窗口的方法为:在“D:\oracle\product\10.2.0\db_1\sqlplus\admin”路径的glogin.sql中添加一句:“define_editor=uedit32”即可!
3: 求模函数为:mod(num1,num2)
4: 拼接字符串用||
5: 去掉重复行: distinct(column) 或者 distinct column
unique(column) 或者 unique column
6: 查询某列中包含‘%、_’等特殊字符时,在like ‘*****’ 中用转义序列‘\’ , 后接‘escape '\' ’。
7: sqlplus scott/tiger(此时在path环境变量中,故不需要加host)
或者 SQL:/ host[$] sqlplus scott/tiger
8: 函数function,过程proc
function一般有返回值,proc可有可不有
9: 函数initcap()是将英文的首字母变大写,其他小写;相关函数有lower(),upper()。
10: 函数substr('',start,length)用于截取字符串,第三个参数表示截取的长度;oracle下标从1开始。
11: where子句后不可接组函数,可以用having来弥补此功能。
12:查询员工的经理名称:select e1.ename,e1.empno,e1.mgr,e2.ename from emp e1,emp e2 where e1.mgr = e2.empno;
13: Oracle中 左外连接,右外连接 用(+),标准的SQL为left outer join on,right outer join on.
Oracle中没有全外连接,因此用标准的SQL的全外连接full outer join on...
14: null与数字相加减为null,那么sum(sal)时,如果有sal为null时则值应为null,
但sum()作为组函数,会忽略null,而得出数字相加的值!所有组函数是忽略null的。
15:在查询语句中,如果存在组函数和其他列(或多列),那么此列(或多列)必须在group by后出现!但group by后的列不必在select之后!
16: select e.deptno,e.empno,e.ename
from
emp e
where
exists(select 1 from dept d where e.deptno = d.deptno)
17:创建用户(如“zhong”)后,授予权限的命令:grant connect,resource to zhong
18:在emp,dept两张表中,emp中的deptno引用dept表中的主键deptno,此时存在外键约束,在emp中插入数据时,deptno列只能为dept中的deptno的值或null,不能为其它情况.
19:以下两种拷贝表结构(或和)并不能拷贝主键之类。
拷贝emp表的数据结构及其数据:create table emp2 as select empno,ename,sal from emp;
剩余8页未读,继续阅读
- 粉丝: 452
- 资源: 21
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助