php 连接oracle数据库语句怎么写

php 连接oracle数据库语句怎么写,第1张

以系统为windowns为例,

1、先PHPINI中的oracle扩展也开启了

PHP下phpini(注意,有时是在windows目录)修改下下

其中的

extension=php_oci8dll 去掉前面的“;”号

extension=php_oracledll 去掉前面的“;”号

把php_oci8dll 、和php_oracledll 文件复制到windwos的system32下

2、系统中应当有安装ORCALE的系统,然后配制远程ORACLE的的监听。就是你能用你配好的ORACLE系统访问远程的数据库。

{例:

在ORACLE安装目录下找到tnsnamesora,然后按下面的例子配置一下

BASETEST 命名=

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = XXXXXXXX服务器IP地址)(PORT = 1521端口))

)

(CONNECT_DATA = (SERVICE_NAME = masprod 实例ID))

)

}

3在你的PHP网页目录下写个测试连接的程序试试

<php

$dbconn=OCILogon("username","pwd","(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = [远程服务器IP])(PORT = 1515))

)

(CONNECT_DATA =

(SERVICE_NAME = [数据库名字])

))");

if($dbconn!=false)

{

echo "连接成功";

if(OCILogOff($dbconn)==true)

{

echo "关闭连接成功!";//=这里有问题

}

}

else

{

echo "连接失败";

}

>

DML *** 作(insert

,

delete

,

update)之后,一定要使用commit或rollback命令来结束该事务,否则直接关闭SQL

Plus,数据库默认rollback之前未提交的事务,所以今天你在select的时候

会显示未选定行。

而手动输入commit,rollback

这类的命令,是显示的提交事务(完成事务)。

如果在DML *** 作之后未及时显示的提交,而是又进行了DDL *** 作(create

alter),则数据库会隐式的提交之前未完成的事务。

所以

下次一定要注意哦~~

不同的用户权限可以通过不同的命令进入系统。

sql>conn / as syddba;即可登录oracle超级管理员用户(不需要用户和密码)。

sql>conn zhangsan/password;通过输入用户名和密码的形式可以登录到普通用户。

sql>conn zhangsan/password@19216811:1521/orcl;通过本命令可以访问安装在”19216811“上面的oracle用户。

oracle利用伪列rowid删除重复记录:

delete from TableA a

where rowid !=(select max(rowid) from TableA b

where aid=bid and aca=bca and acb=bcb)

查询重复记录:

select from TableA a

where rowid !=(select max(rowid) from TableA b

where aid=bid and aca=bca and acb=bcb)

oracle数据库的分组查询语句,主要是根据一个字段,使用关键字group

by来分组,如下代码:

select to_char(date_column, 'yyyy-Q'),count()

from xxx

where date_column between '01-Jan-2007' and '31-Dec-2009'

group by to_char(date_column, 'yyyy-Q')//分组查询

当表中的数据不需要时 则应该删除该数据并释放所占用的空间 删除表中的数据可以使用Delete语句或者Truncate语句 下面分别介绍 一 delete语句 ( )有条件删除 语法格式 delete [from] table_name [where condition]; 如 删除users表中的userid为 的数据 delete from users where userid= ; ( )无条件删除整个表数据 语法格式 delete table_name; 如 删除user表中的所有数据 delete users ; 二 Truncate语句 使用Truncate语句是删除表中的所有记录 语法格式 Truncate [table] table_name; ( )删除所有记录不保留记录占用空间 Truncate [table] table_name [drop storage]; 如 删除users表中的所有数据并不保存占用空间 Truncate table users drop storage; 由于默认使用drop storage关键字 所以可以省略 drop storage; ( )删除所有记录保留记录占用空间 Truncate [table] table_name [reuse storage]; 如 删除users表中的所有数据并保存占用空间 Truncate table users reuse storage; 三 两种删除语句的对比 由于delete语句删除记录时候 记录是逐条删除的 而Truncate 语句删除数据时不产生回退信息 所以如果需要删除大量数据的时候使用delete则占用较多的系统资源 而如果使用Truncate 则会快的多 下面通过实例说明一下 首先建立user表 create table users ( userid varchar ( ) username varchar ( ) userpass varchar ( ) );复制代码 接着插入一条数据 insert into users values( GavinDream ); 使用复制插入方法插入几万条数据 insert into users(userid username userpass) select from users;我插入了 条数据 使用delete删除花费时间为 seconds 然后又插入了二倍的数据 但使用truncate花费时间仅仅为 seconds 如下图所示 lishixinzhi/Article/program/Oracle/201405/30860

select s

  from (select sum(bal) bal, cifno 

          from (select bal, cifno

                  from a

                union all

                select bal, cifno from b) t

         group by cifno) s

 order by bal desc

以上就是关于php 连接oracle数据库语句怎么写全部的内容,包括:php 连接oracle数据库语句怎么写、Oracle数据库sql语句、进入Oracle数据库语句等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9864174.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存