JDBC查数据库数据量问题

JDBC查数据库数据量问题,第1张

String

sql

=

"select

count(*)

from

news_detail"

----count(*)是数据内置函数,就是表news_detail总共有几行

Result

rs

=

this.executeSQL(sql,params)执行上面这句sql语句,返回查询结果类ResultSet

totalCount

=

rs.getInt(1)查询结果集里获取第一列的数据,就是count(*)函数查询结果,也就是这张表的数据量

纯手打,应该差不多就这样吧

加载(注册)数据库驱动(到JVM)。建立(获取)数据库连接。创建(获取)数据库 *** 作对象。定义 *** 作的SQL语句。执行数据库 *** 作。获取并 *** 作结果集。

在数据库的发展历史上,数据库先后经历了层次数据库、网状数据库和关系数据库等各个阶段的发展,数据库技术在各个方面的快速的发展。特别是关系型数据库已经成为目前数据库产品中最重要的一员。

80年代以来, 几乎所有的数据库厂商新出的数据库产品都支持关系型数据库,即使一些非关系数据库产品也几乎都有支持关系数据库的接口。这主要是传统的关系型数据库可以比较好的解决管理和存储关系型数据的问题。

数据库管理系统是为管理数据库而设计的电脑软件系统,一般具有存储、截取、安全保障、备份等基础功能。数据库管理系统可以依据它所支持的数据库模型来作分类,例如关系式、XML;或依据所支持的计算机类型来作分类,例如服务器群集、移动电话。

或依据所用查询语言来作分类,例如SQL、XQuery;或依据性能冲量重点来作分类,例如最大规模、最高运行速度;亦或其他的分类方式。不论使用哪种分类方式,一些DBMS能够跨类别,例如,同时支持多种查询语言。

JDBC连接MYSQL数据库:

package cn.outofmemory.test

import java.sql.Connection

import java.sql.DriverManager

public class Mysql {

public static void main(String arg[]) {

try {

Connection con = null//定义一个MYSQL链接对象

Class.forName("com.mysql.jdbc.Driver").newInstance()//MYSQL驱动

con = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/test", "root", "root")//链接本地MYSQL

System.out.print("yes")

} catch (Exception e) {

System.out.print("MYSQL ERROR:" + e.getMessage())

}

}

}

Class.forName("com.mysql.jdbc.Driver").newInstance() 我们链接的是MYSQL数据库,所以需要一个MYSQL的数据库驱动,如果你的环境中没有安装,

可以下载:mysql-connector-java-5.1.17-bin.jar JAR包,然后放进jdk1.6.0_37\jre\lib\ext 重启eclispe 就可以在JRE系统库中看到。

con = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/test", "root", "root") 是链接数据库的语句,

返回Connection con对象。参数格式:("jdbc:mysql://ip:端口/数据库名称", 用户名,密码)

写入一条数据

package main

import java.sql.Connection

import java.sql.DriverManager

import java.sql.ResultSet

import java.sql.Statement

public class Mysql {

/**

* 入口函数

* @param arg

*/

public static void main(String arg[]) {

try {

Connection con = null//定义一个MYSQL链接对象

Class.forName("com.mysql.jdbc.Driver").newInstance()//MYSQL驱动

con = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/test", "root", "root")//链接本地MYSQL

Statement stmt//创建声明

stmt = con.createStatement()

//新增一条数据

stmt.executeUpdate("INSERT INTO user (username, password) VALUES ('init', '123456')")

ResultSet res = stmt.executeQuery("select LAST_INSERT_ID()")

int ret_id

if (res.next()) {

ret_id = res.getInt(1)

System.out.print(ret_id)

}

} catch (Exception e) {

System.out.print("MYSQL ERROR:" + e.getMessage())

}

}

}

stmt.executeUpdate INSERTDELETEUPDATE语句都用executeUpdate函数来 *** 作

stmt.executeQuery SELECT语句都用stmt.executeQuery函数来 *** 作

ResultSet res = stmt.executeQuery("select LAST_INSERT_ID()")

查询最后插入数据的ID号,返回ResultSet res对象

删除和更新数据

package main

import java.sql.Connection

import java.sql.DriverManager

import java.sql.ResultSet

import java.sql.Statement

public class Mysql {

/**

* 入口函数

* @param arg

*/

public static void main(String arg[]) {

try {

Connection con = null//定义一个MYSQL链接对象

Class.forName("com.mysql.jdbc.Driver").newInstance()//MYSQL驱动

con = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/test", "root", "root")//链接本地MYSQL

Statement stmt//创建声明

stmt = con.createStatement()

//新增一条数据

stmt.executeUpdate("INSERT INTO user (username, password) VALUES ('init', '123456')")

ResultSet res = stmt.executeQuery("select LAST_INSERT_ID()")

int ret_id

if (res.next()) {

ret_id = res.getInt(1)

System.out.print(ret_id)

}

//删除一条数据

String sql = "DELETE FROM user WHERE id = 1"

long deleteRes = stmt.executeUpdate(sql)//如果为0则没有进行删除 *** 作,如果大于0,则记录删除的条数

System.out.print("DELETE:" + deleteRes)

//更新一条数据

String updateSql = "UPDATE user SET username = 'xxxx' WHERE id = 2"

long updateRes = stmt.executeUpdate(updateSql)

System.out.print("UPDATE:" + updateRes)

} catch (Exception e) {

System.out.print("MYSQL ERROR:" + e.getMessage())

}

}

}

删除和更新数据都使用stmt.executeUpdate函数。

删除和更新数据都会返回一个Long的结果,如果为0,则删除或者更新失败,如果大于0则是 *** 作删除的记录数

查询语句

package main

import java.sql.Connection

import java.sql.DriverManager

import java.sql.ResultSet

import java.sql.ResultSetMetaData

import java.sql.Statement

public class Mysql {

/**

* 入口函数

* @param arg

*/

public static void main(String arg[]) {

try {

Connection con = null//定义一个MYSQL链接对象

Class.forName("com.mysql.jdbc.Driver").newInstance()//MYSQL驱动

con = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/test", "root", "root")//链接本地MYSQL

Statement stmt//创建声明

stmt = con.createStatement()

//新增一条数据

stmt.executeUpdate("INSERT INTO user (username, password) VALUES ('init', '123456')")

ResultSet res = stmt.executeQuery("select LAST_INSERT_ID()")

int ret_id

if (res.next()) {

ret_id = res.getInt(1)

System.out.print(ret_id)

}

//删除一条数据

String sql = "DELETE FROM user WHERE id = 1"

long deleteRes = stmt.executeUpdate(sql)//如果为0则没有进行删除 *** 作,如果大于0,则记录删除的条数

System.out.print("DELETE:" + deleteRes)

//更新一条数据

String updateSql = "UPDATE user SET username = 'xxxx' WHERE id = 2"

long updateRes = stmt.executeUpdate(updateSql)

System.out.print("UPDATE:" + updateRes)

//查询数据并输出

String selectSql = "SELECT * FROM user"

ResultSet selectRes = stmt.executeQuery(selectSql)

while (selectRes.next()) { //循环输出结果集

String username = selectRes.getString("username")

String password = selectRes.getString("password")

System.out.print("\r\n\r\n")

System.out.print("username:" + username + "password:" + password)

}

} catch (Exception e) {

System.out.print("MYSQL ERROR:" + e.getMessage())

}

}

}

查询语句使用stmt.executeQuery函数

rs.absolute() //绝对位置,负数表示从后面数

rs.first()第一条

rs.last()最后一条

rs.previoust()前一条

rs.next()后一条

rs.beforeFirst()第一条之前

rs.afterLast()最后之后

rs.isFirst(),rs.isLast(),rs.isBeforeFirst(),rs.isAfterLast


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

原文地址:https://54852.com/sjk/9697679.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存