人人都能查询数据库数据

上传人:第*** 文档编号:32743068 上传时间:2018-02-12 格式:DOCX 页数:25 大小:1.29MB
返回 下载 相关 举报
人人都能查询数据库数据_第1页
第1页 / 共25页
人人都能查询数据库数据_第2页
第2页 / 共25页
人人都能查询数据库数据_第3页
第3页 / 共25页
人人都能查询数据库数据_第4页
第4页 / 共25页
人人都能查询数据库数据_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《人人都能查询数据库数据》由会员分享,可在线阅读,更多相关《人人都能查询数据库数据(25页珍藏版)》请在金锄头文库上搜索。

1、人人都能查询数据库数据一、数据库连接方式:1. Oracle 客户端:只能用于连接 oracle 数据库(cmd)用户登录方式如下:管理员登录方式如下:在 DOS 界面同样可以做查询操作,但是显示不直观,故略。2. PL/SQL:只能用于连接 Oracle 数据库用户登录方式如下:管理员登录方式如下:3. DBvis:可连接多种常用的数据库(重点介绍)a) 工具共享路径:172.16.82.43b) 拷贝完工具后,直接选中应用程序 运行即可c) 创建一个数据库连接此处注意一个问题,当 JDBC 下拉框中,驱动前没有绿色小勾证明此驱动不可用,DBVIS 自带驱动文件,只要手工导入即可,导入方式如

2、下:配置完后,录入数据库连接信息,连接成功后的界面如下(连接用户为default):二、 数据库语言的分类:1. 数据库定义语言(DDL):Create、Alter 、Drop 、Declarea) 如开发新增一张表、数据库管理员创建用户等;(创建和修改数据库对象)2. 数据库操纵语言(DML ): Select、Delete 、Update、Inserta) 如测试查询一张表、插入数据到表中等;(查询修改数据库中表内的数据)3. 数据库控制语言(DCL):Grant、Revoke、Commit、Rollbacka) 如数据库管理员对用户进行授权等;(配置执行数据库任务和控制数据库对象的安全性

3、)由上描述可看出,在进行数据库查询数据时,主要使用的是 DML,下面着重介绍DML 中 Select 的使用。三、 常用 SQL 语句的介绍(以 DBVIS 为例):1. 创建数据库用户:a) create user cp1 identified by 1 default tablespace nnc_data01 temporary tablespace temp-创建一个数据库用户 cp1b) grant connect,dba to cp1-为 cp1 这个用户授权2. 创建数据库表:a) create table xstable(code varchar(5) primary key,

4、name varchar(20),age varchar(10)-创建数据库表 xstable,其中包含 code、name、age 三个字段,code 为主键3. 对已有数据库表进行修改:a) alter table xstable add school varchar(20)-为表上新增列,为 xstable表新增 school 一列4. 删除数据库用户:a) drop user cp1 cascade-删除用户的所有数据5. declare:申明变量,多运用于存储过程/ 游标中6. 查询数据库表所有列:a) select * from xstable-查询 xstable 表中的所有列7

5、. 向数据库表中插入数据:a) insert into xstable (code,name,age,school) values (41867,陈鹏,22,财经)-向 xstable 表中插入一条记录8. 修改数据库表中的某条数据:a) update xstable set name=陈大鹏 where code=41866-修改xstable 表中的数据9. 删除数据库表中的某条数据:a) delete xstable where code=4186710. commit:提交,大部分 SQL 语句在执行后都需要提交11. rollback:回滚,事务执行错误时,进行回滚12. revok

6、e connect,dba from cp1-收回用户的权限四、 DML-Select 详细介绍(一):select * from md_table-万能的元数据表(NC 产品中)在里面能找到大部分的单据表名和基础档案表名,寻找方式如下:如想找到凭证相关的表:select id,displayname from md_table where displayname like %凭证%id,displayname 为列名,like%凭证%的意思是查询出 displayname 字段中包含凭证的所有记录,如下:下面以 NC 系统中的总账凭证的数据在数据库中的查询为例:1. Select * fro

7、m gl_voucher-查询出的是凭证查询结果共 16 条记录,意味着在 NC 总账系统中有 16 条对应的记录可查询出来只有 15 条,通过数据库数据可看到,其中最后一条数据是来自期初,所以总数是对的。2. 如果想查询现有的凭证都录在哪个期间内的话,可以这样:select distinct period from gl_voucher-其中distinct字段是将重复记录过滤掉下面我们将加 distinct 和不加的两种结果进行比较:不加:加上:结果显而易见,这是 distinct 的用法。3. 用 Select 进行查询的时候,如何按一定要求查询出数据,我们常常用 where+查询条件来

8、实现,如我想查询其中某一个账簿中的数据,如下:select * from gl_voucher where pk_accountingbook=1001CC1000000000016F-查询时查询条件where 的用法那么查询的结果就是只会把财务核算账簿主键为1001CC1000000000016F 这个的凭证查询出来,结果如下:对应 11 条,包含期初。4. And or 的用法:在查询出某账簿之后,还想根据凭证的发生额进行过滤,那么可以进行如下操作:select * from gl_voucher where pk_accountingbook=1001CC1000000000016F a

9、nd totalcredit5000 or (totalcredit100 and totalcredit0而后面的 period00这个意思是期间条件不等于 0,也就是过滤了期初,查询结果如下:4. Group by 的用法:如果想按期间分别查询某科目的借方合计数,可以进行如下操作:Select periodv,sum(debitamount) from gl_detail where accountcode=1001 and pk_accountingbook=1001CC1000000000016F group by period对上述语句进行解析,可以看出,最后展示的是两个字段,而借方

10、合计数是根据期间显示的,查询结果如下:意思是 00 期间 200,01 期间 1596,02 期间 78987,03 期间 32。5. Having 函数的用法:在 Group by 的基础上,再对数据进行筛选,如我想删选出借方合计大于 1500 的数据,可以进行如下操作:Select periodv,sum(debitamount) from gl_detail where accountcode=1001 and pk_accountingbook=1001CC1000000000016F group by periodv having sum(debitamount)1500是对上结果的

11、再次筛选,查询结果如下:6. 联合两张表同时查询:之前说的都是一张表内的数据进行查询,那么如果想同时查询两张表的数据,该如何处理,下面我们以 gl_voucher 和 gl_detail 这两张表为例,分别是凭证和凭证明细表不难找出,凭证表的主键 pk_voucher,在凭证明细表里也有这一字段,那么我们就可以通过这一字段将两张表进行关联比如,现在我想查凭证表头的主键、流水号和表体的科目编码、借贷方发生的话,可以进行如下操作:select gl_voucher.pk_voucher,gl_voucher.num,gl_detail.accountcode,gl_detail.creditamount,gl_detail.debitamount from gl_voucher,gl_detail where gl_voucher.pk_voucher=gl_detail.pk_voucher其中 select 和 from 中间的为要查询的字段,但是如果字段不唯一,那么字段前需要加上表名,而 from 后面需要加上两张表,where 后加的是关联条件,当然之后仍然可以再加查询条件。以上查询结果如下:红框内的为表头字段,而后三个为表体字段。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 工程造价

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号