以系统为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数据库语句等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)