热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

PostGreSQL数据库常用操作方法

1.pg_close(关闭数据库链接)语法:booleanpg_close(intconnection)说明:本函数冠以与PostGresql服务器的连接2.pg_cmdtuples(获取SQL命令所影响的函数)语法:intpd_cmdtuples(intresult_id)说明:本函数用于获取postgresdeSQ

1.pg_close(关闭数据库链接)
语法:boolean pg_close(int connection)
说明:本函数冠以与PostGresql服务器的连接

2.pg_cmdtuples(获取SQL命令所影响的函数)
语法:int pd_cmdtuples(int result_id)
说明:本函数用于获取postgresde SQL命令所影响的数据行数,这些命令包括INSERT,Update,Delete。如果没有数据,则返回0.
例子
$result=pg_exec($conn,"INSERT INTO book VALUES('author')");
$cmdtuples=pg_cmdtuples($result);

3.pg_connect(连接数据库)
语法:int pg_connect(string [host],string [port],string [options],string [tty],string [database])
说明:本函数打开与Postgresql服务器的连接。参数host为服务器名称、port为连接端口号、options为可选项,tty为终端名称、database为数据库名称,如果连接成功,函数返回连接代码,否则返回false

4.pg_dbname(获取当前数据库名称)
语法:string pg_dbname(int connection)

5.pg_errormessage(返回错误信息)
语法:string pg_errormessage(int connection)
说明:用于获取postgresql数据库的错误信息

6.pg_exec(执行查询命令)
语法:int pg_exec(int connection,string query)
说明:本函数用于执行由query指定的查询命令,参数connection为连接代码,参数query为要执行的命令。

7.pg_fetch_array(返回数组数据)
语法:array pg_fetch_array(int result,int row)
说明:本函数用来将查询结果拆分到数组变量中。如果没有数据,则返回false。参数result为使用pg_exec所返回的代码值,参数row为行数
例子:
$cOnn=pg_connect("","","","","publisher");
if(!$conn){
echo "错误,无法连接";
exit;}
$result=pg_Exec($conn,"SELECT * FROM book");
if(!$result){
echo "错误,无法查询";
exit;}
$arr=pg_fetch_array($result,0);
echo $arr[0]." $arr=pg_fetch_array($result,1);
echo $arr["author"]."

8.pg_fetch_object(返回对象结果)
语法:object pg_fetch_object(int result,int row)
说明:本函数用来将查询结果拆分到对象变量中,如果result没有数据,则返回false,参数$result为pg_Exec
返回的代码值,参数row为行数
例子:
$database="book";
$db_cOnn=pg_connect("localhost","5432","","",$database);
if(!$db_conn): ?>
无法连接
exit;
endif;
$query=pg_exec($db_conn,"SELECT * FROM book BY author");
$row=0;
while($data=pg_fetch_object($query,$row));
echo $data>author.echo $data.title;
$$row++;
endwhile;?>

Postgres 数据库是由柏克莱大学电脑科学系所开发的数据库系统,为类关联式数据库的先驱。它提供 SQL92/SQL3 语法。PostgreSQL 是公开使用的免费系统。    在 phpWizard.net 网站上也有用 Browser 管理 PostgreSQL 的套装程序 PostgresAdmin 。可以用它来轻松管理 PostgreSQL 数据库。
    在公元 1998 年的 PostgreSQL 6.3 版之后,可以使用 UNIX 上的 domain sockets。postmaster 加上参数 -i 就可以使用,PostgreSQL 系统会用到 /tmp/.s.PGSQL.5432 的文件。
    下面为使用 LOB (Large Object) 的例子
$database = pg_Connect ( "" , "" , "" , "" , "jacarta" );
pg_exec ( $database , "begin" );
$oid = pg_locreate ( $database );
echo ( "$oid n " );
$handle = pg_loopen ( $database , $oid , "w" );
echo ( "$handle n " );
pg_lowrite ( $handle , "gaga" );
pg_loclose ( $handle );
pg_exec ( $database , "commit" )
pg_exec ( $database , "end" )
?> pg_Close: 关闭 PostgreSQL 服务器连接。
pg_cmdTuples: 取得被 SQL 指令影响的资料笔数。
pg_Connect: 打开 PostgreSQL 服务器连接。
pg_DBname: 取得目前的数据库名称。
pg_ErrorMessage: 返回错误信息。
pg_Exec: 执行 query 指令。
pg_Fetch_Array: 返回数组资料。
pg_Fetch_Object: 返回类资料。
pg_Fetch_Row: 返回单列的各字段。
pg_FieldIsNull: 检查字段是否有资料。
pg_FieldName: 返回指定字段的名称。
pg_FieldNum: 取得指定字段的行数。
pg_FieldPrtLen: 计算可列示的长度。
pg_FieldSize: 计算指定字段的长度。
pg_FieldType: 获得目前字段的类型。
pg_FreeResult: 释放返回占用内存。
pg_GetLastOid: 取得最后的类代码。
pg_Host: 取得连接机器名称。
pg_loclose: 关闭大型类。
pg_locreate: 建立大型类。
pg_loopen: 打开大型类。
pg_loread: 读取大型类。
pg_loreadall: 读取大型类并输出。
pg_lounlink: 删除大型类。
pg_lowrite: 读取大型类。
pg_NumFields: 取得返回字段的数目。
pg_NumRows: 取得返回列的数目。
pg_Options: 取得连接机器选项。
pg_pConnect: 打开 PostgreSQL 服务器持续连接。
pg_Port: 取得连接机器埠号。
pg_Result: 取得查询 (query) 的结果。
pg_tty: 取得连接机器终端机。
pg_Close
关闭 PostgreSQL 服务器连接。
语法: boolean pg_close(int connection);
返回值: 布尔值
函数种类: 数据库功能
内容说明: 本函数关闭与 PostgreSQL 服务器的连接。参数 connection 为连接代码。成功返回 true、失败返回 false 值。
pg_cmdTuples
取得被 SQL 指令影响的资料笔数。
语法: int pg_cmdtuples(int result_id);
返回值: 整数
函数种类: 数据库功能
内容说明: 本函数用来取得 PostgreSQL 的 SQL 指令所影响的资料笔数,这些 query 指令包括 INSERT、UPDATE 与 DELETE 等。返回值为影响的笔数,若没有资料受影响则返回 0。
使用范例
本例为部份的程序
$result = pg_exec($conn, "INSERT INTO verlag VALUES ('Autor')");
$cmdtuples = pg_cmdtuples($result);
echo $cmdtuples." 笔资料受影响n";
?>
pg_Connect
打开 PostgreSQL 服务器连接。
语法: int pg_connect(string [host], string [port], string [options], string [tty], string database);
返回值: 整数
函数种类: 数据库功能
内容说明
本函数打开与 PostgreSQL 服务器的连接。参数 host 表服务器名称。参数 port 为连接埠。参数 options 为选项。参数 tty 为终端机。参数 database 为数据库名。成功返回连接代号、失败返回 false 值。
使用范例
pg_connect("dbname=testdb user=wilson password=haha port=5433");
// 以下略
?>
参考: pg_pConnect()
pg_DBname
取得目前的数据库名称。
语法: string pg_dbname(int connection);
返回值: 字符串
函数种类: 数据库功能
内容说明: 本函数用来取得 PostgreSQL 目前使用的数据库 (database) 名称。参数 connection 为连接代码。
pg_ErrorMessage
返回错误信息。
语法: string pg_errormessage(int connection);
返回值: 字符串
函数种类: 数据库功能
内容说明: 本函数可以取得 PostgreSQL 服务器的错误信息。参数 connection 为连接代码。
pg_Exec
执行 query 指令。
语法: int pg_exec(int connection, string query);
返回值: 整数
函数种类: 数据库功能
内容说明: 本函数用来执行指定的 query 指令。参数 connection 为连接代码。参数 query 为欲执行的指令。
pg_Fetch_Array
返回数组资料。
语法: array pg_fetch_array(int result, int row);
返回值: 数组
函数种类: 数据库功能
内容说明: 本函数用来将查询结果 result 拆到数组变量中。若 result 没有资料,则返回 false 值。参数 result 为使用 pg_Exec() 所返回的代码值。参数 row 为列数。
使用范例
$cOnn= pg_pconnect("","","","","publisher");
if (!$conn) {
echo "错误, 无法连接n";
exit;
}
$result = pg_Exec($conn, "SELECT * FROM authors");
if (!$result) {
echo "错误, 无法查询n";
exit;
}
$arr = pg_fetch_array($result, 0);
echo $arr[0]."
$arr = pg_fetch_array ($result, 1);
echo $arr["author"] . "
?>
pg_Fetch_Object
返回类资料。
语法: object pg_fetch_object(int result, int row);
返回值: 类
函数种类: 数据库功能
内容说明: 本函数用来将查询结果 result 拆到类变量中。若 result 没有资料,则返回 false 值。参数 result 为使用 pg_Exec() 所返回的代码值。参数 row 为列数。
使用范例
$database = "verlag";
$db_cOnn= pg_connect("localhost", "5432", "", "", $database);
if (!$db_conn): ?>
无法连上 echo $database ?> 数据库
exit;
endif;$qu = pg_exec ($db_conn, "SELECT * FROM verlag ORDER BY autor");
$row = 0;
while ($data = pg_fetch_object ($qu, $row)):
echo $data->autor." (";
echo $data->jahr ."): ";
echo $data->titel."";
$row++;
endwhile; ?>
$fields[] = Array("autor", "Author");
$fields[] = Array("jahr", " Year");
$fields[] = Array("titel", " Title");
$row = 0;
while ($data = pg_fetch_object($qu, $row)):
echo "n";
reset ($fields);
while (list (,$item) = each($fields)):
echo $item[1].": ".$data->$item[0]."n";
endwhile;
$row++;
endwhile;
echo ""; ?>
pg_freeResult($qu);
pg_close($db_conn);
?>
pg_Fetch_Row
返回单列的各字段。
语法: array pg_fetch_row(int result, int row);
返回值: 数组
函数种类: 数据库功能
内容说明: 本函数用来将查询结果 result 之单列拆到数组变量中。数组的索引是数字索引,第一个的索引值是 0。若 result 没有资料,则返回 false 值。参数 row 表列数。
使用范例
$cOnn= pg_pconnect("","","","","publisher");
if (!$conn) {
echo "连接失败n";
exit;
}
$result = pg_Exec($conn, "SELECT * FROM authors");
if (!$result) {
echo "查询失败n";
exit;
}
$row = pg_fetch_row($result, 0);
echo $row[0] . "
$row = pg_fetch_row($result, 1);
echo $row[0] . "
echo $row[1] . "
?>
参考: pg_Fetch_Array() pg_Fetch_Object() pg_Result()
pg_FieldIsNull
检查字段是否有资料。
语法: int pg_fieldisnull(int result, int row, mixed field);
返回值: 整数
函数种类: 数据库功能
内容说明: 本函数可检查指定的字段是否有资料。参数 result 为查询结果代码。参数 row 为指定列数,第一个的索引值是 0。参数 field 为指定的字段。返回 0 表示有资料,返回 1 表示无资料 (Null)。
pg_FieldName
返回指定字段的名称。
语法: string pg_fieldname(int result, int field);
返回值: 字符串
函数种类: 数据库功能
内容说明: 本函数用来取得指定字段的名称。参数 result 为查询结果代码。参数 field 为指定的字段,第一栏为 0。
pg_FieldNum
取得指定字段的行数。
语法: int pg_fieldnum(int result, mixed field);
返回值: 整数
函数种类: 数据库功能
内容说明: 本函数用来取得指定字段的行数。参数 result 为查询结果代码。参数 field 为指定的字段,第一栏为 0。若有错误则返回 -1 值。
pg_FieldPrtLen
计算可列示的长度。
语法: int pg_fieldprtlen(int result, int row, mixed field);
返回值: 整数
函数种类: 数据库功能
内容说明: 本函数用来取得指定字段的可列示字符长度。参数 result 为查询结果代码。参数 row 表指定的列。参数 field 为指定的字段,第一栏为 0。若有错误则返回 -1 值。
pg_FieldSize
计算指定字段的长度。
语法: int pg_fieldsize(int result, mixed field);
返回值: 整数
函数种类: 数据库功能
内容说明: 本函数用来取得指定字段的长度 (位组)。参数 result 为查询结果代码。参数 field 为指定的字段,第一栏为 0。若有错误则返回 -1 值。
pg_FieldType
获得目前字段的类型。
语法: string pg_fieldtype(int result, mixed field);
返回值: 字符串
函数种类: 数据库功能
内容说明: 本函数可以得到目前所在字段的类型格式。返回的字符串为字段的类型,包括了 int、real、string....等等。参数 result 为查询结果代码。参数 field 为指定的字段,第一栏为 0。若有错误则返回 -1 值。
pg_FreeResult
释放返回占用内存。
语法: boolean pg_freeresult(int result);
返回值: 布尔值
函数种类: 数据库功能
内容说明: 本函数可以释放目前 PostgreSQL 数据库 query 返回所占用的内存。一般只有在非常担心在内存的使用上可能会不足的情形下才会用本函数。PHP 程序会在结束时自动释放。参数 result 为查询结果代码。
pg_GetLastOid
取得最后的类代码。
语法: int pg_getlastoid(int result);
返回值: 整数
函数种类: 数据库功能
内容说明: 本函数获取最后的类代码,类是由 pg_Exec() 所执行的 INSERT SQL 指令产生的。参数 result 为查询结果代码。若不是由 pg_Exec() 的 INSERT 产生类,则会产生错误,返回 -1 值。
pg_Host
取得连接机器名称。
语法: string pg_host(int connection);
返回值: 字符串
函数种类: 数据库功能
内容说明: 本函数用来取得目前连接中的 PostgreSQL 服务器名称。参数 connection 为连接代码。
pg_loclose
关闭大型类。
语法: void pg_loclose(int fd);
返回值: 无
函数种类: 数据库功能
内容说明: 本函数用来关闭大型类 (Inversion Large Object)。参数 fd 是由 pg_loopen() 所打开的文件代码。
pg_locreate
建立大型类。
语法: int pg_locreate(int connection);
返回值: 整数
函数种类: 数据库功能
内容说明: 本函数用来建立大型类 (Inversion Large Object)。参数 connection 为连接代码。PostgreSQL 数据库的存取模式只有 INV_READ、INV_WRITE 二种,INV_ARCHIVE 已经从 PostgreSQL 6.3 之后的版本移除。返回值为类代码。
pg_loopen
打开大型类。
语法: int pg_loopen(int connection, int objoid, string mode);
返回值: 整数
函数种类: 数据库功能
内容说明: 本函数用来打开大型类 (Inversion Large Object)。参数 connection 为连接代码。参数 objoid 为类代码。参数 mode 的值有只读 (r)、只写 (w) 及可读写 (rw) 等三种。返回值为文件代码。
pg_loread
读取大型类。
语法: string pg_loread(int fd, int len);
返回值: 字符串
函数种类: 数据库功能
内容说明: 本函数用来读取大型类 (Inversion Large Object)。参数 fd 为类的文件代码。参数 len 为欲读取的最大长度。
pg_loreadall
读取大型类并输出。
语法: void pg_loreadall(int fd);
返回值: 无
函数种类: 数据库功能
内容说明: 本函数用来读取大型类 (Inversion Large Object),并将结果输出到标准输出设备中。参数 fd 为类的文件代码。
pg_lounlink
删除大型类。
语法: void pg_lounlink(int connection, int lobjid);
返回值: 无
函数种类: 数据库功能
内容说明: 本函数用来删除大型类 (Inversion Large Object)。参数 connection 为连接代码。参数 objoid 为类代码。
pg_lowrite
读取大型类。
语法: int pg_lowrite(int fd, string buf);
返回值: 整数
函数种类: 数据库功能
内容说明: 本函数用来写入大型类 (Inversion Large Object)。参数 fd 为类的文件代码。参数 buf 为欲写入类的字符串。若有错误则返回 false 值,正确则返回写入字符串的位组 (byte) 数。
pg_NumFields
取得返回字段的数目。
语法: int pg_numfields(int result);
返回值: 整数
函数种类: 数据库功能
内容说明: 本函数可以得到返回字段的数目。参数 result 为 PostgreSQL 服务器执行 query 的返回代码。若有错误则返回 -1。
pg_NumRows
取得返回列的数目。
语法: int pg_numrows(int result);
返回值: 整数
函数种类: 数据库功能
内容说明: 本函数可以得到返回列的数目。参数 result 为 PostgreSQL 服务器执行 query 的返回代码。若有错误则返回 -1。
pg_Options
取得连接机器选项。
语法: string pg_options(int connection);
返回值: 字符串
函数种类: 数据库功能
内容说明: 本函数用来取得目前连接中 PostgreSQL 服务器的选项。参数 connection 为连接代码。
pg_pConnect
打开 PostgreSQL 服务器持续连接。
语法: int pg_pconnect(string [host], string [port], string [options], string [tty], string database);
返回值: 整数
函数种类: 数据库功能
内容说明: 本函数打开与 PostgreSQL 服务器的持续连接。参数 host 表服务器名称。参数 port 为连接埠。参数 options 为选项。参数 tty 为终端机。参数 database 为数据库名。成功返回连接代号、失败返回 false 值。本函数和 pg_Connect() 不同的地方在于使用本函数打开数据库时,程序会先寻找是否曾经执行过本函数,若执行过则返回先前执行的 ID。此外程序结束后并不会关闭连接,而是等下次程序使用。
参考: pg_Connect()
pg_Port
取得连接机器埠号。
语法: int pg_port(int connection);
返回值: 整数
函数种类: 数据库功能
内容说明: 本函数用来取得目前连接中 PostgreSQL 服务器的埠号。参数 connection 为连接代码。
pg_Result
取得查询 (query) 的结果。
语法: mixed pg_result(int result, int row, mixed field);
返回值: 混合类型资料
函数种类: 数据库功能
内容说明: 本函数取得一格 query 的结果。参数 field 可以是字段名称、顺序或者是 FieldName.TableName 的格式。
pg_tty
取得连接机器终端机。
语法: string pg_tty(int connection);
返回值: 字符串
函数种类: 数据库功能
内容说明: 本函数用来取得目前连接中 PostgreSQL 服务器的终端机名称,供调试等使用。参数 connection 为连接代码。
推荐阅读
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • 本文详细介绍了SQL日志收缩的方法,包括截断日志和删除不需要的旧日志记录。通过备份日志和使用DBCC SHRINKFILE命令可以实现日志的收缩。同时,还介绍了截断日志的原理和注意事项,包括不能截断事务日志的活动部分和MinLSN的确定方法。通过本文的方法,可以有效减小逻辑日志的大小,提高数据库的性能。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • 基于PgpoolII的PostgreSQL集群安装与配置教程
    本文介绍了基于PgpoolII的PostgreSQL集群的安装与配置教程。Pgpool-II是一个位于PostgreSQL服务器和PostgreSQL数据库客户端之间的中间件,提供了连接池、复制、负载均衡、缓存、看门狗、限制链接等功能,可以用于搭建高可用的PostgreSQL集群。文章详细介绍了通过yum安装Pgpool-II的步骤,并提供了相关的官方参考地址。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • GetWindowLong函数
    今天在看一个代码里头写了GetWindowLong(hwnd,0),我当时就有点费解,靠,上网搜索函数原型说明,死活找不到第 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • PHP设置MySQL字符集的方法及使用mysqli_set_charset函数
    本文介绍了PHP设置MySQL字符集的方法,详细介绍了使用mysqli_set_charset函数来规定与数据库服务器进行数据传送时要使用的字符集。通过示例代码演示了如何设置默认客户端字符集。 ... [详细]
  • 本文介绍了使用PHP实现断点续传乱序合并文件的方法和源码。由于网络原因,文件需要分割成多个部分发送,因此无法按顺序接收。文章中提供了merge2.php的源码,通过使用shuffle函数打乱文件读取顺序,实现了乱序合并文件的功能。同时,还介绍了filesize、glob、unlink、fopen等相关函数的使用。阅读本文可以了解如何使用PHP实现断点续传乱序合并文件的具体步骤。 ... [详细]
  • Oracle分析函数first_value()和last_value()的用法及原理
    本文介绍了Oracle分析函数first_value()和last_value()的用法和原理,以及在查询销售记录日期和部门中的应用。通过示例和解释,详细说明了first_value()和last_value()的功能和不同之处。同时,对于last_value()的结果出现不一样的情况进行了解释,并提供了理解last_value()默认统计范围的方法。该文对于使用Oracle分析函数的开发人员和数据库管理员具有参考价值。 ... [详细]
  • 高质量SQL书写的30条建议
    本文提供了30条关于优化SQL的建议,包括避免使用select *,使用具体字段,以及使用limit 1等。这些建议是基于实际开发经验总结出来的,旨在帮助读者优化SQL查询。 ... [详细]
  • ubuntu用sqoop将数据从hive导入mysql时,命令: ... [详细]
  • 如何在php中将mysql查询结果赋值给变量
    本文介绍了在php中将mysql查询结果赋值给变量的方法,包括从mysql表中查询count(学号)并赋值给一个变量,以及如何将sql中查询单条结果赋值给php页面的一个变量。同时还讨论了php调用mysql查询结果到变量的方法,并提供了示例代码。 ... [详细]
  • 本文介绍了在Linux下安装和配置Kafka的方法,包括安装JDK、下载和解压Kafka、配置Kafka的参数,以及配置Kafka的日志目录、服务器IP和日志存放路径等。同时还提供了单机配置部署的方法和zookeeper地址和端口的配置。通过实操成功的案例,帮助读者快速完成Kafka的安装和配置。 ... [详细]
author-avatar
胜利者416
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有