在CentOS系统中,SQLPlus是一个强大的命令行工具,用于管理和操作Oracle数据库。以下是一些常用的SQLPlus使用技巧:
连接数据库
sqlplus username/password@database
例如:
sqlplus scott/tiger@orcl
查看帮助
HELP
查看当前用户
SELECT USER FROM DUAL;
查看当前环境
SHOW PARAMETER
设置环境变量
SET PAGESIZE 24
SET LINESIZE 80
简单查询
SELECT * FROM employees;
带条件的查询
SELECT * FROM employees WHERE department_id = 10;
排序
SELECT * FROM employees ORDER BY last_name;
分组和聚合
SELECT department_id, COUNT(*) AS employee_count FROM employees GROUP BY department_id;
连接查询
SELECT e.employee_id, e.first_name, e.last_name, d.department_name
FROM employees e
JOIN departments d ON e.department_id = d.department_id;
插入数据
INSERT INTO employees (employee_id, first_name, last_name, department_id)
VALUES (1001, 'John', 'Doe', 10);
更新数据
UPDATE employees SET salary = salary * 1.1 WHERE department_id = 10;
删除数据
DELETE FROM employees WHERE employee_id = 1001;
提交事务
COMMIT;
回滚事务
ROLLBACK;
执行SQL脚本
sqlplus username/password@database @script.sql
将输出重定向到文件
sqlplus username/password@database @script.sql > output.txt
使用变量
VARIABLE emp_count NUMBER;
BEGIN
SELECT COUNT(*) INTO :emp_count FROM employees;
DBMS_OUTPUT.PUT_LINE('Number of employees: ' || :emp_count);
END;
/
使用PL/SQL块
DECLARE
v_department_id NUMBER := 10;
v_employee_count NUMBER;
BEGIN
SELECT COUNT(*) INTO v_employee_count FROM employees WHERE department_id = v_department_id;
DBMS_OUTPUT.PUT_LINE('Number of employees in department ' || v_department_id || ': ' || v_employee_count);
END;
/
使用DBMS_OUTPUT
SET SERVEROUTPUT ON;
BEGIN
DBMS_OUTPUT.PUT_LINE('Hello, World!');
END;
/
使用TO_CHAR函数格式化日期
SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD') FROM DUAL;
使用TRIM函数去除空格
SELECT TRIM(' Hello, World! ') FROM DUAL;
通过这些技巧,你可以更高效地使用SQL*Plus来管理和操作Oracle数据库。希望这些对你有所帮助!