【赵渝强老师】崖山数据库的命令行客户端工具

概念

yasql 是崖山数据库(YashanDB)官方自带的命令行SQL客户端工具,对标 Oracle 的 sqlplus,高度兼容Oracle‑SQL/PLSQL语法,用于登录数据库、执行SQL、PL块、运行脚本、数据库运维操作,支持Linux、Windows客户端部署,默认端口 1688。

特点:

  1. 语法、交互习惯高度模仿 Oracle SQL*Plus;
  2. 支持本地、远程、操作系统认证、连接别名、PDB可插拔数据库登录;
  3. 支持执行单条SQL、执行SQL脚本、PL/SQL匿名块;
  4. 提供 set 系列格式化输出命令、spool输出结果集等能力。
视频讲解如下
【赵渝强老师】崖山数据库的命令行客户端工具

基础语法

bash 复制代码
yasql [-S] username/password@host:port[/pdb]
yasql / as sysdba          # OS操作系统认证登录
yasql /nolog               # 只启动客户端,不连接数据库
  • -S:静默模式,不输出登录banner信息,必须放在第一个参数。

实操示例

1. 使用管理员用户登录崖山数据库

bash 复制代码
yasql yasql / as sysdba

登录成功后出现提示符:SQL>

2. 创建用户

sql 复制代码
# 进入yasql环境后创建scott用户,并授予角色
SQL> create user scott identified by tiger;
SQL> grant connect,to scott;
SQL> grant resource to scott;

3. 切换到scott用户

sql 复制代码
SQL> conn scott/tiger

4. 创建部门表和员工表

sql 复制代码
SQL> create table dept
     (deptno int primary key,
     dname varchar(10),
     loc varchar(10)
     );
     
SQL> create table emp 
      (empno int primary key,
      ename varchar(10),
      job varchar(10),
      mgr int,
      hiredate varchar(10),
      sal int,
      comm int,
      deptno int,
      foreign key(deptno) references dept(deptno));

5. 插入部门数据和员工数据

sql 复制代码
--插入部门表数据
SQL> insert into dept values(10,'ACCOUNTING','NEW YORK');
SQL> insert into dept values(20,'RESEARCH','DALLAS');
SQL> insert into dept values(30,'SALES','CHICAGO');
SQL> insert into dept values(40,'OPERATIONS','BOSTON');

--插入员工表数据
SQL> insert into emp values(7369,'SMITH','CLERK',7902,'1980/12/17',800,null,20);
SQL> insert into emp values(7499,'ALLEN','SALESMAN',7698,'1981/2/20',1600,300,30);
SQL> insert into emp values(7521,'WARD','SALESMAN',7698,'1981/2/22',1250,500,30);
SQL> insert into emp values(7566,'JONES','MANAGER',7839,'1981/4/2',2975,null,20);
SQL> insert into emp values(7654,'MARTIN','SALESMAN',7698,'1981/9/28',1250,1400,30);
SQL> insert into emp values(7698,'BLAKE','MANAGER',7839,'1981/5/1',2850,null,30);
SQL> insert into emp values(7782,'CLARK','MANAGER',7839,'1981/6/9',2450,null,10);
SQL> insert into emp values(7788,'SCOTT','ANALYST',7566,'1987/4/19',3000,null,20);
SQL> insert into emp values(7839,'KING','PRESIDENT',-1,'1981/11/17',5000,null,10);
SQL> insert into emp values(7844,'TURNER','SALESMAN',7698,'1981/9/8',1500,null,30);
SQL> insert into emp values(7876,'ADAMS','CLERK',7788,'1987/5/23',1100,null,20);
SQL> insert into emp values(7900,'JAMES','CLERK',7698,'1981/12/3',950,null,30);
SQL> insert into emp values(7902,'FORD','ANALYST',7566,'1981/12/3',3000,null,20);
SQL> insert into emp values(7934,'MILLER','CLERK',7782,'1982/1/23',1300,null,10);

commit;

6. 执行PL/SQL匿名块(末尾必须写/执行)

sql 复制代码
SQL> set serveroutput on;
SQL> declare
       --说明部分
     begin
        --程序体
        dbms_output.put_line('Hello World');
     end;
     /
     
# 输出的信息如下:
Hello World

 Succeed.

7. 创建并调用存储过程

sql 复制代码
-- 创建存储过程
SQL> create or replace procedure sayhelloworld
     as
         --说明部分
     begin
         dbms_output.put_line('Hello World');
     end;
     /

-- 调用存储过程(方式1)
SQL> begin
         sayhelloworld();
         sayhelloworld();
     end;
     /

# 输出的信息如下:
Hello World
Hello World

PL/SQL Succeed.

-- 调用存储过程(方式2)
SQL> exec sayhelloworld();

8. 查看yasql版本、帮助

bash 复制代码
yasql -V
yasql -H

9. 退出yasql客户端

sql 复制代码
SQL> exit;
-- 或者
SQL> quit;

和Oracle SQL*Plus简单对比

项目 Oracle SQL*Plus YashanDB yasql
用途 Oracle命令行客户端 崖山数据库命令行客户端
登录格式 sqlplus user/pass@tns yasql user/pass@ip:port
OS认证 sqlplus / as sysdba yasql / as sysdba
脚本执行 @xxx.sql @xxx.sql
输出打印 set serveroutput on set serveroutput on
退出 exit/quit exit/quit

yasql尽量复刻SQL*Plus的使用习惯,降低Oracle迁移到崖山数据库的学习成本。

相关推荐
忡黑梨1 小时前
PostgreSQL 小版本升级实战:14.23 升级到 14.24(源码编译方式)
数据库·postgresql
LMT流氓兔1 小时前
第五单元——第11课:自动测试“拒绝后绝不能写入”
数据库·人工智能·python·langchain
小朱爱编程1231 小时前
AI点了两次发布,我多了两篇事故
数据库·人工智能·大模型·软件工程
时间售卖铺2 小时前
MySQL DML 与 DQL 语句详解
运维·数据库·mysql·云原生
codeejun2 小时前
每日一Go·MySQL-9、索引存储结构|页分裂、页合并、索引高度与磁盘
数据库·mysql
Pniubi2 小时前
事务(Spring&MySQL)
数据库·sql·spring
DBA_G3 小时前
GBase 8a MPP集群个人电脑安装环境浅析
数据库
小林ixn3 小时前
别再 MySQL + Milvus 双写了:PostgreSQL + pgvector 一张表搞定 AI 长期记忆
数据库·postgresql·agent
深盾科技_Virbox3 小时前
换机或重装后软件许可怎么恢复:先核对哪四项
java·服务器·数据库