温馨提示×

Debian上SQLPlus命令大全

小樊
44
2025-10-17 09:12:30
栏目: 云计算

Debian系统上SQLPlus命令大全及使用指南

一、安装与配置SQLPlus

在Debian上使用SQLPlus前,需先安装Oracle Instant Client并配置环境变量:

  1. 下载Instant Client:从Oracle官网下载basiclite(基础包)和sqlplus(命令行工具包)压缩包(如instantclient-basiclite-linux.x64-21.5.0.0.0dbru.zipinstantclient-sqlplus-linux.x64-21.5.0.0.0dbru.zip)。
  2. 解压与符号链接:将压缩包解压至/usr/local目录,合并文件夹并创建sqlplus符号链接:
    wget https://download.oracle.com/otn_software/linux/instantclient/215000/instantclient-basiclite-linux.x64-21.5.0.0.0dbru.zip
    unzip instantclient-basiclite-linux.x64-21.5.0.0.0dbru.zip -d /usr/local
    unzip instantclient-sqlplus-linux.x64-21.5.0.0.0dbru.zip -d /usr/local
    mv /usr/local/instantclient_21_5 /usr/local/sqlplus
    ln -s /usr/local/sqlplus/sqlplus /usr/local/bin/sqlplus
    
  3. 设置环境变量:编辑~/.bash_profile,添加以下内容并使生效:
    export ORACLE_HOME=/usr/local/sqlplus
    export LD_LIBRARY_PATH=$ORACLE_HOME
    export PATH=$ORACLE_HOME:$PATH
    source ~/.bash_profile
    

二、基本连接命令

SQLPlus的核心功能是与Oracle数据库建立连接,常见方式如下:

  • 本地数据库(SYSDBA权限)
    sqlplus / as sysdba
    
  • 远程数据库
    sqlplus username/password@//hostname:port/service_name
    # 示例:sqlplus scott/tiger@//remotehost:1521/orcl
    
  • 指定服务名
    sqlplus username/password@service_name
    # 示例:sqlplus scott/tiger@orcl
    

三、常用SQL操作命令

连接后,可通过以下命令完成基础数据库操作:

  • 查看数据库版本
    SELECT * FROM v$version;
    
  • 查看当前用户
    SELECT user FROM dual;
    
  • 表管理
    -- 创建表
    CREATE TABLE employees (employee_id NUMBER PRIMARY KEY, first_name VARCHAR2(50), last_name VARCHAR2(50), email VARCHAR2(100));
    -- 插入数据
    INSERT INTO employees (employee_id, first_name, last_name, email) VALUES (1, 'John', 'Doe', 'john.doe@example.com');
    -- 查询数据
    SELECT * FROM employees;
    -- 更新数据
    UPDATE employees SET email = 'john.newemail@example.com' WHERE employee_id = 1;
    -- 删除数据
    DELETE FROM employees WHERE employee_id = 1;
    -- 删除表
    DROP TABLE employees;
    
  • 视图与索引
    -- 创建视图
    CREATE VIEW employee_names AS SELECT first_name, last_name FROM employees;
    -- 创建索引
    CREATE INDEX idx_employee_last_name ON employees(last_name);
    

四、常用PL/SQL操作命令

SQLPlus支持执行PL/SQL块和存储过程:

  • 创建存储过程
    CREATE OR REPLACE PROCEDURE add_employee(p_first_name IN VARCHAR2, p_last_name IN VARCHAR2) AS
    BEGIN
      INSERT INTO employees (employee_id, first_name, last_name) VALUES (employee_seq.NEXTVAL, p_first_name, p_last_name);
    END;
    /
    
  • 调用存储过程
    BEGIN
      add_employee('Jane', 'Smith');
    END;
    /
    

五、其他实用命令

提升使用效率的辅助命令:

  • 查看帮助
    HELP
    # 查看特定命令帮助(如SELECT)
    HELP SELECT
    
  • 设置环境变量
    -- 设置每页显示行数(0表示不换页)
    SET PAGESIZE 0
    -- 设置每行字符数
    SET LINESIZE 100
    -- 显示当前设置
    SHOW PAGESIZE
    SHOW LINESIZE
    
  • 查看SQL历史
    SELECT * FROM v$sql;
    
  • 退出SQLPlus
    EXIT
    # 或
    QUIT
    

六、使用技巧

  • 命令历史:安装rlwrap工具,实现命令历史记录和上下文切换:
    sudo apt-get install rlwrap
    echo "alias sqlplus='rlwrap sqlplus'" >> ~/.bash_profile
    source ~/.bash_profile
    
  • 美化输出:编辑$ORACLE_HOME/sqlplus/admin/glogin.sql文件,自定义默认输出格式(如设置标题、列宽)。
  • 执行脚本:使用@命令执行SQL脚本文件(如@script.sql)。
  • 缓冲区操作
    -- 列出缓冲区内容
    LIST
    -- 清除缓冲区
    CLEAR BUFFER
    

以上命令覆盖了Debian系统上SQLPlus的基础与进阶使用场景,可根据实际需求灵活组合使用。

0