如何用Java实现数据库查询

如何用Java实现数据库查询,第1张

import javasql;

public class MSSQLText

{

public static void main(String args[])

{

String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=Northwind";

String user="sa";//这里替换成你自已的数据库用户名

String password="sa";//这里替换成你自已的数据库用户密码

String sqlStr="select CustomerID, CompanyName, ContactName from Customers";

try

{ //这里的异常处理语句是必需的否则不能通过编译!

ClassforName("commicrosoftjdbcsqlserverSQLServerDriver");

Systemoutprintln("类实例化成功!");

Connection con = DriverManagergetConnection(url,user,password);

Systemoutprintln("创建连接对像成功!");

Statement st = concreateStatement();

Systemoutprintln("创建Statement成功!");

ResultSet rs = stexecuteQuery(sqlStr);

Systemoutprintln(" *** 作数据表成功!");

Systemoutprintln("----------------!");

while(rsnext())

{

Systemoutprint(rsgetString("CustomerID") + " ");

Systemoutprint(rsgetString("CompanyName") + " ");

Systemoutprintln(rsgetString("ContactName"));

}

rsclose();

stclose();

conclose();

}

catch(Exception err){

errprintStackTrace(Systemout);

}

}

}

sql 递归查询的方法:

方法一:T-SQL递归查询

with Dep as

(

select Id,DeptCode,DeptName from Department where Id=1

union all

select dId,dDeptCode,dDeptName from Dep

inner join Department d on depId = dParentDeptId

)

select from Dep

方法二:PL/SQL递归查询

select Id,DeptCode,DeptName

from Department

start with Id = 1

connect by prior Id = ParentDeptId;

从表里查询一条数据mysql可以用limit函数。

比如:select from tb_users limit 0,1 意思是从tb_users表里查询从0开始第一条数据。也可加上一些条件,比如select from tb_users where name = '张三' limit 0,1

1: $sql = show databases like 'gunsoul%' ; //查出所有的库名

2 循环库名拼接SQL语句

$sql2 ='';

foreach($databases as $db){

$sql2 ="select from $dbtable union";

}

3 执行sql2打印结果

联合查询效率较高以下例子来说明联合查询的好处

t1表结构(用户名,密码) userid int username varchar(20) password varchar(20)

1 jack jackpwd

2 owen owenpwd

t3表结构(用户积分,等级) userid int jf int dj int

1 20 3

3 50 6

第一:内联(inner join)

如果想把用户信息,积分,等级都列出来那么一般会这样写

select from t1 ,t3 where t1userid = t3userid 其实这样的结果等同于select from t1 inner join t3 on t1userid=t3userid

就是把两个表中都存在userid的行拼成一行这是内联但后者的效率会比前者高很多建议用后者的写法

运行结果:userid username password userid jf dj

1 jack jacjpwd 1 20 3

第二:左联(left outer join)显示左表中的所有行

select from t1 left outer join t3 on t1userid=t3userid

运行结果:userid username password userid jf dj

1 jack jackpwd 1 20 3

2 owen owenpwd NULL NULL NULL

第三:右联(right outer join)显示右表中的所有行

select from t1 right outer join t3 on t1userid=t3userid

运行结果:userid username password userid jf dj

1 jack jackpwd 1 20 3

Null Null Null 3 50 6

第四:全联(full outer join)显示两边表中所有行

select from t1 full outer join t3 on t1userid=t3userid

运行结果:userid username password userid jf dj

1 jack jackpwd 1 20 3

2 owen owenpwd NULL NULL NULL

Null Null Null 3 50 6

以上就是关于如何用Java实现数据库查询全部的内容,包括:如何用Java实现数据库查询、如何实现数据库SQL递归查询在不同数据库中例子源代码、数据库查询怎么实现数据查询只查几条数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存