数据库 Databases

优质
小牛编辑
130浏览
2023-12-01

Rexx能够使用下面列出的各种数据库。

  • HSQLDB
  • Oracle
  • SQL Server
  • MySQL
  • MongoDB

单击以下链接后,可以找到Rexx数据库的所有信息 - https://rexxsql.sourceforge.net/

数据库

在我们的示例中,我们将使用MySQL DB作为示例。 因此,第一步是确保从Rexx SQL站点下载所需的驱动程序,以便Rexx程序可以相应地使用SQL。 因此,请遵循后续步骤以确保Rexx程序可以与MySQL数据库一起使用。

Step 1 - 从Rexx站点转到以下驱动程序下载页面 - https://sourceforge.net/projects/rexxsql/files/rexxsql/2.6/

Step 2 - 下载MYSQL驱动程序 - rxsql26B3_my_w32_ooRexx

Step 3 - 将内容解压缩到本地计算机。

Step 4 - 将解压缩文件夹的路径添加到计算机上的路径变量中。

对于所有后续示例,请确保以下指针到位 -

  • 您已经创建了一个数据库TESTDB。

  • 您已在TESTDB中创建了一个表EMPLOYEE。

  • 此表包含FIRST_NAME,LAST_NAME,AGE,SEX和INCOME字段。

  • 用户ID“testuser”和密码“test123”设置为访问TESTDB。

  • 确保已下载mysql jar文件并将该文件添加到类路径中。

  • 你已经完成了MySQL教程

数据库连接 (Database Connection)

要建立数据库连接,首先需要Rexxsql DLL,然后使用SQLConnect函数建立与数据库的连接。 下面给出了如何实现这一目的的语法和示例。

语法 (Syntax)

SQLConnect(cname,username,password,dbname) 

参数 (Parameters)

  • cname - 这是给连接的名称。

  • username - 要连接到数据库的用户名。

  • password - 连接数据库的密码。

  • dbname - 要连接的数据库模式。

返回值 (Return Value)

值等于0表示数据库连接成功。

例子 (Example)

/* Main program */ 
Call RxFuncAdd 'SQLLoadFuncs', 'rexxsql', 'SQLLoadFuncs' 
Call SQLLoadFuncs 
say SQLConnect(c1,' testuser ',' test123','testdb')

上述程序的输出如下所示。

0

创建数据库表

连接到数据库后的下一步是在数据库中创建表。 以下示例说明如何使用Rexx在数据库中创建表。 Rexx SQL中的所有命令都是使用SQLCommand函数执行的。

语法 (Syntax)

SQLConnect(sname,statement)

参数 (Parameters)

  • sname - 这是要赋予要执行的语句的名称。

  • statement - 这是需要对数据库执行的语句。

返回值 (Return Value)

值等于0表示命令成功。

例子 (Example)

/* Main program */ 
Call RxFuncAdd 'SQLLoadFuncs', 'rexxsql', 'SQLLoadFuncs' 
Call SQLLoadFuncs 
if SQLConnect(c1,'testuser','test123','testdb') == 0 then say 'Connect Succedded' 
if SQLCommand(u1,"use testdb") == 0 then say 'Changed database to testdb' 
   sqlstr = 'create table employee (first_name char(20) not null, last_name 
   char(20),age int, sex   
   char(1), income float)' 
if SQLCommand(c2,sqlstr) == 0 then say 'Employee table created'

上述程序的输出如下所示。

Connect Succedded 
Changed database to testdb 
Employee table created 

数据库表上的操作

以下类型的操作通常在数据库表上执行。

Sr.No.操作和说明
1插入操作

当您想要将记录创建到数据库表中时,它是必需的。

2读操作

对任何数据库的READ操作意味着从数据库中获取一些有用的信息。

3更新操作

任何数据库上的UPDATE操作都意味着更新一个或多个已在数据库中可用的记录。

4删除操作

如果要从数据库中删除某些记录,则需要DELETE操作。

5Closing a Connection

以下命令可用于关闭与数据库的连接。

执行交易

事务是一种确保数据一致性的机制。 交易具有以下四个属性 -

  • Atomicity - 事务完成或根本没有任何事情发生。

  • Consistency - 事务必须以一致状态启动,并使系统保持一致状态。

  • Isolation - 在当前事务之外不可见事务的中间结果。

  • Durability - 提交事务后,即使系统出现故障,影响也会持续存在。

这是一个如何实现事务的简单示例。

例子 (Example)

/* Main program */ 
Call RxFuncAdd 'SQLLoadFuncs', 'rexxsql', 'SQLLoadFuncs' 
Call SQLLoadFuncs 
if SQLConnect(c1,'testuser','test123','testdb') == 0 then say 'Connect Succedded' 
if SQLCommand(u1,"use testdb") == 0 then say 'Changed database to testdb' 
   sqlstr = "DELETE FROM EMPLOYEE WHERE AGE > 20" 
if SQLCommand(c2,sqlstr) == 0 then 
if sqlcommit() == 0 then say committed

上述程序的输出如下所示。

Connect Succedded 
Changed database to testdb 
COMMITTED

提交操作 (Commit Operation)

提交操作告诉数据库继续执行操作并最终完成对数据库的所有更改。 在上面的示例中,这是通过以下命令实现的。

Sqlcommit() 

回滚操作 (Rollback Operation)

如果您对一个或多个更改不满意并且想要完全还原这些更改,请使用回滚方法。 在上面的示例中,这是通过以下命令实现的。

SqlRollback()