jdbc(eclipse+mySQL)

学生数据库增删改查

准备:
1.mysql
安装步骤
jar包也在官网
2. 打开命令行cmd
输入mysql -u root -p出现password:输入自己设置的密码即可开始使用。
如果有使用sql server的经验就知道这部是相当于连接服务器。
在这里插入图片描述
3. 熟悉mySQL基本操作
创建数据库:CREATE DATABASE 数据库名;
删除数据库:drop database 数据库名;
创建表:
use 数据库名;
CREATE TABLE 表名 (列名 数据类型,…);
在这里插入图片描述
向表中插入值:
在这里插入图片描述
查询表:
在这里插入图片描述

4.代码实现连接
ps:注释的函数调用还需要注释其他一些地方才能正常在控制台显示!!

package jdbcDemo;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;


public class Demo {

    public static void main(String[] args) {
    	
        //声明Connection对象
        Connection con;
        //驱动程序名
        String driver = "com.mysql.jdbc.Driver";
        //URL指向要访问的数据库名students(你所创建的数据库)
        String url = "jdbc:mysql://localhost:3306/students";
        //MySQL配置时的用户名
        String user = "root";
        //MySQL配置时的密码
        String password = "你设置的密码";
        //遍历查询结果集
        try {
            //加载驱动程序
            Class.forName(driver);
            //1.getConnection()方法,连接MySQL数据库!!
            con = DriverManager.getConnection(url,user,password);
            if(!con.isClosed())
                System.out.println("Succeeded connecting to the Database!");
            //2.创建statement类对象,用来执行SQL语句!!
            Statement statement = con.createStatement();

//            add(con);
//            delete(con);
//            update(con);       
//            avegrade(con);
            allDesc(con);
            //要执行的SQL语句
//            String sql = "select * from Stu";
//            //3.ResultSet类,用来存放获取的结果集!!
//            ResultSet rs = statement.executeQuery(sql);
//            
//            System.out.println("---------------------");
//            System.out.println("执行结果如下所示:");  
//            System.out.println("---------------------");  
//            System.out.println("学号" + "\t" + "姓名" + "\t" + "年龄");  
//            System.out.println("---------------------");  
//             
//            String no = null;
//            String name = null;
//            int age = 0;
//            while(rs.next()){
//                no = rs.getString("Sno");     
//                name = rs.getString("Sname");
//                age = (int) rs.getLong("Sage");
//                
//                System.out.println(no + "\t" + name + "\t" + age);
//            }
//            rs.close();
//            con.close();
        } catch(ClassNotFoundException e) {   
            //数据库驱动类异常处理
            System.out.println("Sorry,can`t find the Driver!");   
            e.printStackTrace();   
            } catch(SQLException e) {
            //数据库连接失败异常处理
            e.printStackTrace();  
            }catch (Exception e) {
            // TODO: handle exception
            e.printStackTrace();
        }finally{
            System.out.println("数据库数据成功获取!!");
        }
    }
    
    public static void add(Connection con) throws SQLException {
		PreparedStatement psql;
		//预处理添加数据,其中有两个参数--“?”
		psql = con.prepareStatement("insert into Stu (Sno,Sname,Sage) "
		        + "values(?,?,?)");
		psql.setString(1, "12");              //设置参数1,创建id为3212的数据
		psql.setString(2, "lily");      //设置参数2,name 为王刚
		psql.setInt(3, 20);
		
		psql.executeUpdate();           //执行更新
	}

    public static void delete(Connection con) throws SQLException {
    	PreparedStatement psql;
    	//预处理删除数据
    	psql = con.prepareStatement("delete from Stu where Sage = 20");
    	psql.executeUpdate();
    	psql.close();
    }
    
    public static void update(Connection con) throws SQLException {
    	PreparedStatement psql;
    	psql = con.prepareStatement("update Stu set Sname = ?  where Sno = 1");     
    	psql.setString(1,"小小");              
    	psql.executeUpdate();
    }
    
    public static void avegrade(Connection con) throws SQLException {
    	String sql = "select avg(grade) from sc where sno=1";
		PreparedStatement psql = con.prepareStatement(sql);
		ResultSet rs =  psql.executeQuery();
		while(rs.next()) {
			double a = rs.getDouble("avg(grade)");
			System.out.println("学号为1" + " 平均成绩:"+a);
		}
    }
    
    public static void allDesc(Connection con) throws SQLException {
    	String sql = "select Sname,Cname,Grade from Stu,Cour,SC where Stu.Sno = SC.Sno and Cour.Cname = '数据结构'  and Cour.Cno = SC.Cno  order by SC.grade desc";
    	System.out.println("---------------------");
        System.out.println("执行结果如下所示:");  
        System.out.println("---------------------");  
        System.out.println("课程名" + "\t" + "成绩" +  "\t" +"姓名" );  
        System.out.println("---------------------");  
		PreparedStatement psql = con.prepareStatement(sql);
		ResultSet rs =  psql.executeQuery();
		while(rs.next()){
			System.out.println(rs.getString("Cname") +"\t" + rs.getInt("Grade")+  "\t" + rs.getString("Sname"));
		}
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值