mysql与Java连接 以及有关操作
来源:互联网 发布:airplay镜像 windows 编辑:程序博客网 时间:2024/04/30 07:26
课程名称
面向对象程序设计
实验日期
11月4日
实验项目名称
数据库操作
实验地点
1#608
实验类型
√验证型 □设计型
□综合型
学 时
4
一、实验目的及要求(本实验所涉及并要求掌握的知识点)
1、 通过实验,使学生了解数据库的相关知识
2、 学习Mysql的使用
3、 学习Navicat的使用,并在Navicat环境下调试数据库的操作
4、 掌握数据库表的增删改查等基本操作
二、 实验环境(本实验所使用的硬件设备和相关软件)
1、计算机
2、高速外网接入
三、实验内容及步骤
实验内容:
1、学习MySql的下载、安装、服务的启动、修改密码
2、学习Navicat的下载、安装、数据库的新建、表的建立、数据的导入和导出
3、学习SQL相关知识
show databases
create
use
select
insert
delete
update
4、自建数据库,做增删改查四种不少于20个操作。(每种 5个)
只需要把上面第4小题的操作结果记录下来
四、实验结果(本实验源程序清单及运行结果或实验结论、实验设计图)
一实验源程序 运行结果
1、
总结:(1)connection接口中的方法
Statement createStatement()
创建一个Statement对象将SQL语句发送到数据库。不带参数的SQL语句通常使用Statement对象执行。
(2)DriverManage接口:Public static Connection getConnection(String url,String user,String password) 试图建立到指定数据库URL的连接。DriverManager试图从已注册的JDBC驱动程序集中选择一个适当的驱动程序
Url-jdbc:subportocol:subname形式的数据库 url
User-数据库用户,连接是为该用户创建的
Password-用户的密码
(3) Statement接口:interface Statement
extends Wrapper
用于执行静态 SQL 语句并返回它所生成结果的对象。
在默认情况下,同一时间每个 Statement 对象在只能打开一个 ResultSet 对象。因此,如果读取一个 ResultSet 对象与读取另一个交叉,则这两个对象必须是由不同的 Statement 对象生成的。如果存在某个语句的打开的当前 ResultSet 对象,则 Statement 接口中的所有执行方法都会隐式关闭它。
executeUpdate
int executeUpdate(String sql)
throws SQLException
执行给定 SQL 语句,该语句可能为 INSERT、UPDATE 或 DELETE 语句,或者不返回任何内容的 SQL 语句(如 SQL DDL 语句)。
参数:
sql- SQL 数据操作语言(Data Manipulation Language,DML)语句,如 INSERT、UPDATE 或 DELETE;或者不返回任何内容的 SQL 语句,如 DDL 语句。
返回:
(1) 对于 SQL 数据操作语言 (DML) 语句,返回行计数 (2) 对于什么都不返回的 SQL 语句,返回 0
抛出:
SQLException 如果发生数据库访问错误,在已关闭的 Statement 上调用此方法,或者给定的 SQL 语句生成 ResultSet 对象
executeQuery
ResultSet executeQuery(String sql) throws SQLException
执行给定的SQL语句,该语句返回单个ResultSet对象
参数:sql-要发送给数据库的SQL语句,通常为静态的SQL SELECT语句
返回:包含给定查询所生成数据的ResultSet数据;永远不能为null
抛出:SQLException-如果发生数据库访问错误,在已关闭的Statement上调用此方法,或者是给定SQL语句生成单个ResultSet对象之外的任何其他内容
(4)ResultSet接口 :
Boolean next() throws SQLException
将光标从当前位置向前移一行。ResultSet光标最初位于第一行之前;第一次调用next方法使第一行成为当前行;第二次使用使第二行成为当前行,以此类推。当调用next方法返回false时,光标位于最后一行的后面;
返回:如果新的当前行有效,则返回true;如果不存在下一行,则返回false。
抛出:SQLException-如果发生数据库访问错误或在关闭的结果集上调用此方法。
int getInt(int columnIndex)
以java编程语言中int的形式获取ResultSet对象的当前行中指定列的值
参数:columnIndex-第一个列的值是1,第二个是2,、、、、
返回:列值;如果值为SQL NULL,则返回值为0;
int getInt(String columnLabel)
以 Java 编程语言中 int 的形式获取此 ResultSet 对象的当前行中指定列的值。
参数:
columnLabel- 使用 SQL AS 子句指定的列标签。如果未指定 SQL AS 子句,则标签是列名称
返回:
列值;如果值为 SQL NULL,则返回值为 0
抛出:
SQLException- 如果 columnLabel 无效;如果发生数据库访问错误或在已关闭的结果集上调用此方法
SQL语句中
选择语句为 Select * from 表名 where +条件语句
删除语句为 delete from 表名 where+条件语句
2、
所有方法上同,SQL语句插入操作为
Insert into +表名 +values (value1,value2,...)
3、
4、
5、
SQL语句:Update 表名 set 表名.列名=新值 where+条件语句=新值
第四题
package test;import java.sql.Connection;import java.sql.DriverManager;import java.sql.Statement;import java.sql.ResultSet;public class test {public static void main(String[] args){try{Class.forName("com.mysql.jdbc.Driver");Connection conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/student","root","123456");Statement stmt=conn.createStatement(); String s[]=new String[100]; s[1]="delete from studentinfo where studentinfo.stu_name='汪龙'";s[2]="delete from studentinfo where studentinfo.stu_name like '%鲁%'";s[3]="delete from studentinfo where studentinfo.stu_id='1234120125'";s[4]="delete from studentinfo where studentinfo.stu_age<6";s[5]="Update studentinfo set studentinfo.stu_age=100";s[6]="Update studentinfo set studentinfo.stu_age=studentinfo.stu_age+50 where studentinfo.stu_name like '%刘%'";s[7]="delete from studentinfo where studentinfo.stu_name like '%飞%'";s[8]="insert into studentinfo values ('1234120125','刘勋','25')";s[9]="select * from studentinfo where studentinfo.stu_name like '刘%'";s[10]="select * from studentinfo where studentinfo.stu_id='1234120125'";s[11]="select * from studentinfo where studentinfo.stu_age<10";for(int i=9;i<=11;i++){ResultSet rs=stmt.executeQuery(s[i]); System.out.println(s[i]);while(rs.next()){String id=rs.getString(1);String name=rs.getString(2);int age=rs.getInt(3);System.out.println(id+" "+name+" "+age);}rs.close();}int c=0,k; for(int i=1;i<=7;i++){ k=stmt.executeUpdate(s[i]); c+=k;}System.out.println("更新了"+c+"条记录"); conn.close();}catch(Exception e){System.out.println("数据库异常!");}} }
运行结果
五、实验总结(对本实验结果进行分析,实验心得体会及改进意见)
实践是检验真理的唯一标准
实验评语
实验成绩
指导教师签名: 年 月 日
- mysql与Java连接 以及有关操作
- JAVA连接MYSQL数据库以及操作
- java中与mysql连接详细操作
- java 数据库Mysql 简单连接与操作。
- java操作连接mysql
- Eclipse连接数据库MySQL以及一些有关数据库的知识
- 位操作以及与位操作有关的面试题
- java与MySQL连接
- java与mysql连接
- MySQL PDO连接与操作
- Python连接以及操作MySQL数据库详解
- Python连接以及操作MySQL数据库详解
- R连接mysql以及一些操作
- java连接mysql查询操作
- java连接mysql删除操作
- Java连接Mysql及操作
- JAVA连接MySQL数据库操作
- 【SQL】JDBC之与数据库MySQL的连接以及增删改查等操作
- 好多要学习的
- linux 可重入函数理解
- 【UML视频总结】——有了基础才可以实践
- 黑马程序员_Java基础篇(四)——内部类总结
- mfc中DC相关
- mysql与Java连接 以及有关操作
- ARM bluez协议栈移植
- Instagram工程师教你如何改善App的性能
- codeforces 271E 离散化+线段树,dp优化
- Java数据结构和算法(五)——队列
- 茄子快传使用测评
- 在android中创建bitmap避免内存不足的方法
- 存储圈装逼必上TOP 10网站
- java-正则表达式判断手机号