实验五 ESQL

本文详细介绍如何在Ubuntu系统下安装并配置PostgreSQL数据库,并通过ESQL实现对数据库的操作,包括创建表、插入数据及更新记录等过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数据库课程实验,ESQL
在虚拟机下重新下载了一个数据库

1.下载postgresql
在ubantu系统下打开终端,输入sudo apt-get install postgresql,开始安装postgresql
这里写图片描述

2.下载ecpg
在终端输入ecpg检测是否安装
这里写图片描述
如果没有安装需要按照提示安装ecpg
提示的命令不全,需要加一个关键字get,与安装postgresql相同

3.使用sudo su postgres来切换到用户postgres
这里写图片描述

中间少了一步,修改密码
这里写图片描述

4.使用psql postgres指令登录数据库
这里写图片描述

5.接下来便可以使用sql语言来对数据库进行操作
首先创建表格,然后插入相关数据

6.使用select * from student;可以查看表中的数据
这里写图片描述

7.将已经编写好的c文件重命名,将后缀改为.pgc
这里写图片描述

8.另外打开一个终端,使用指令
ecpg first.pgc
对所写的程序进行预编译
可以得到一个同名的.c文件,
这里写图片描述
可以打开查看经过预编译所所得到的.c文件,预编译将其中的sql语句都标了出来,同时加入了对应的头文件。
这里写图片描述

9.使用gcc first.c -o first -lecpg -I /usr/include/postgresql来对预编译后的.c文件编译,生成可执行文件
这里写图片描述
这里写图片描述

10.使用./运行可执行文件
输入三个新的年龄
这里写图片描述

11.再次使用select * from student来查看表中的数据,sage的值已经改变

这里写图片描述




#include<stdio.h>
int main(){
EXEC SQL BEGIN DECLARE SECTION;
//主变量说明开始
    const char *target = "postgres@localhost";
    const char *user = "postgres";
    const char *password = "postgres";
    char Hsno[9];
    char Hsname[60];
    int Hsage;
    int NEWAGE;
EXEC SQL END DECLARE SECTION;
//主变量声明结束
EXEC SQL CONNECT TO :target USER :user USING :password;
//使用主变量声明时所定义的服务器,用户名,密码来连接数据库
    EXEC SQL DECLARE SX CURSOR FOR
       SELECT *
       from student;
    //将从student表中选出所有的表项将其放入游标区
EXEC SQL OPEN SX;
//打开游标,指向第一条查询结果
    for(int i=0;i<3;i++)
{
EXEC SQL FETCH SX INTO:Hsno;Hsname;Hsage;
//游标推进,将游标当前值放入对应的主变量
    printf("INPUT NEWAGE");
scanf("%d",&NEWAGE);
//提示输入新的年龄
    EXEC SQL UPDATE student
    SET sage=:NEWAGE
WHERE CURRENT of SX;
//更新游标当前的sage
}
EXEC SQL CLOSE SX;
//关闭游标
EXEC SQL COMMIT WORK;
//提交更新
EXEC SQL DISCONNECT;
//断开数据库连接
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值