十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
//定义驱动名
成都创新互联公司自成立以来,一直致力于为企业提供从网站策划、网站设计、成都做网站、成都网站制作、电子商务、网站推广、网站优化到为企业提供个性化软件开发等基于互联网的全面整合营销服务。公司拥有丰富的网站建设和互联网应用系统开发管理经验、成熟的应用系统解决方案、优秀的网站开发工程师团队及专业的网站设计师团队。
String url =
"jdbc:oracle:thin:@**.**.**.**:1521:";//定义数据库的链接语句,**表示你要链接的数据库的ip地址。当然如果你的本机上有oracle也可以写成127.0.0.1或者localhost,""表示你的数据库名称。Stringusername ="scott";
//你登陆数据库的用户名
String password ="*******";
//你登陆数据库的密码Stringsql= "insert into users(username,password)
values(?,?)";
//插入数据的命令语句try{
Class.forName(driver);Connectionconn = DriverManager. getConnection_r(url,
username,password);
PreparedStatement
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,
"god");
//当然为了方便我这是随便插入的数据
pstmt.setString(2,
"god");//同上
pstmt.executeUpdate();
pstmt.close();
conn.close();
//完成后关闭链接
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLExceptione) {
e.printStackTrace();}}}程序运行完成后你就会在你的数据库里看到多了一条记录username:god
password:god,另外我们觉得这篇博文的读者应该是那些对oracle数据库有一定的了解的程序开发爱好者源码天空
,如果你还不了解oracle,那你就需要对数据库有一定的了解这后再来看这篇博文。
对于一个热衷于程序设计的人来说,我们认为最主要的是你的程序一定要有一定的标准,我们认为这个例子是链接数据库最标准的方法。当然仁者见仁嘛
1.如果你是平台初期用户,第一次安装时在数据库的选择界面,选择ORACLE(默认是MSQL),即可
2.如果你是通过DTS安装数据库选择ORACLE安装,即可
3.如果你是通过平台打包工具打包,把您的数据库导出成ES2007.dmp,放到Database目录,打包即可,安装时选择Oracle就可以了
--第一种方法:
查询dba_tab_columns
复制代码
代码如下:
select
COLUMN_NAME,DATA_TYPE,DATA_LENGTH
from
dba_tab_columns
where
table_name
=upper('表名')
order
by
COLUMN_NAME
--这种方法需要有DBA权限
--第二种方法:
查询user_tab_cols
select
COLUMN_NAME,DATA_TYPE,DATA_LENGTH
from
user_tab_cols
where
table_name=upper('表名')
order
by
COLUMN_NAME
--这种方法只能查找当前用户下的表
--第三种方法:
查询ALL_TAB_COLUMNS
select
distinct
COLUMN_NAME,DATA_TYPE,DATA_LENGTH
from
ALL_TAB_COLUMNS
WHERE
TABLE_NAME=
upper('表名')
--这种方法可以查询所有用户下的表
---------------------------补充-------------------------------------------------------------
复制代码
代码如下:
--增加字段
alter
table
cw_srcbpb
add
(SRCBPB_RJBPBL
varchar2(100)
);
alter
table
cw_srcbpb
modify
(SRCBPB_RJBPBL
number(30,3)
);
--Oracle查看所有表和字段
--获取表:
select
table_name
from
user_tables;
--当前用户的表
select
table_name
from
all_tables;
--所有用户的表
select
table_name
from
dba_tables;
--包括系统表
select
table_name
from
dba_tables
where
owner='LBSP';
--获取用户***所拥有的表这里的用户名要记得是用大写的。
--
获取表字段:其实这里是根据用户的权限来获取字段的属性(表名要大写)
select
*
from
user_tab_columns
where
Table_Name='用户表';--获取用户表的所有字段还有字段的属性。
select
*
from
all_tab_columns
where
Table_Name='用户表';--获取用户表的所有字段还有字段的属性。所属用户是***
select
*
from
dba_tab_columns
where
Table_Name='用户表';--获取用户表的所有字段还有字段的属性。所属用户是***
--获取表注释:
select
*
from
user_tab_comments
--user_tab_comments:table_name,table_type,comments
--相应的还有dba_tab_comments,all_tab_comments,这两个比user_tab_comments多了ower列。
--获取字段注释:
select
*
from
user_col_comments
--user_col_comments:table_name,column_name,comments
--相应的还有dba_col_comments,all_col_comments,这两个比user_col_comments多了ower列。
--查询出用户所有表的索引
select
*
from
user_indexes
--查询用户表的索引(非聚集索引):
select
*
from
user_indexes
where
uniqueness='NONUNIQUE'
--查询用户表的主键(聚集索引):
select
*
from
user_indexes
where
uniqueness='UNIQUE'
--查询表的索引
select
t.*,i.index_type
from
user_ind_columns
t,user_indexes
i
where
t.index_name
=
i.index_name
and
t.table_name='NODE'
--查询表的主键
select
cu.*
from
user_cons_columns
cu,
user_constraints
au
where
cu.constraint_name
=
au.constraint_name
and
au.constraint_type
=
'P'
AND
cu.table_name
=
'NODE'
--查找表的唯一性约束(包括名称,构成列):
select
column_name
from
user_cons_columns
cu,
user_constraints
au
where
cu.constraint_name=au.constraint_name
and
cu.table_name='NODE'
--查找表的外键
select
*
from
user_constraints
c
where
c.constraint_type
=
'R'
and
c.table_name='STAFFPOSITION'
--查询外键约束的列名:
select
*
from
user_cons_columns
cl
where
cl.constraint_name
=
外键名称
--查询引用表的键的列名:
select
*
from
user_cons_columns
cl
where
cl.constraint_name
=
外键引用表的键名
select * from (select row_number() over(partition by id order by create_tiem desc) rn, id, create_time, ... , ... from table )t1 where rn = 1;
在这里...代表的是字段名称,将需要的字段名称放在这里,需要哪些放那些。
SELECT t.*FROM (select * from `table` order by `create_time` desc limit 10000000000) t GROUP BY t.id;
在这里就是先将数据进行排序然后再分组,然后取出的是最大的一个值,这里有点要注意,limit 10000000000这个根据不同的版本看是否要加这个,5.5之前的不用加,之后的要加,反正加上肯定没有错。
group by后取的一条数据默认是按主键id排序后的第一条
可以通过dbms_lob来辅助查询:
--创建测试表
create
table
tt1
(XXName
varchar2(20),ProductIDs
blob);
--向测试表中插入数据
insert
into
tt1
select
'a',to_blob('a001b002')
from
dual;
--查询blob字段中含有'a001'的记录select
XXName
from
tt1
where
mod(dbms_lob.instr(ProductIDs,'a001'),2)=1
--删除测试表
drop
table
tt1;
下载cx_Oracle,下载之后就可以使用了。
简单的使用流程如下:
1.引用模块cx_Oracle2.连接数据库3.获取cursor4.使用cursor进行各种操作5.关闭cursor6.关闭连接
参考代码:
import cx_Oracle #引用模块cx_Oracleconn=cx_Oracle.connect('load/123456@localhost/ora11g') #连接数据库c=conn.cursor() #获取cursorx=c.execute('select sysdate from dual') #使用cursor进行各种操作x.fetchone()c.close() #关闭cursorconn.close() #关闭连接