JDBC_表中插入数据

本文首先介绍了如何在Navicate中创建`sudent`表,然后详细讲解了利用Java编程实现向这个表中插入数据的过程,并探讨了可能的改进方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

先在Navicate中创建一个表

SQL语句创建 sudent 表
创建一个school的数据库再建表。。。


CREATE TABLE student(
id INT PRIMARY KEY auto_increment,
name VARCHAR(20) NOT NULL,
age INT NOT NULL
);

Java编程

实现在刚才创建的表中插入数据

package cn.sdut.k11_24;

import java.sql.*;

public class Main {
	public static void main(String[] args) throws ClassNotFoundException, SQLException {
		//加载驱动
		Class.forName("com.mysql.jdbc.Driver");
		
		//获得数据库链接
		Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3307/school?useUnicode=true&characterEncoding=utf-8","root","usbw");
		//?useUnicode=true&characterEncoding=utf-8不加输入会乱码
		
		//准备sql语句执行对象
		Statement pst = con.createStatement();
		
		//准备sql语句
		String sql = "INSERT INTO student VALUES(NULL,'梨花',19)";
		
		//执行sql语句
		int result = pst.executeUpdate(sql);
		System.out.println(result > 0 ? "成功":"失败");
		
		//关闭sql语句执行对象
		pst.close();
		
		//关闭数据库链接
		con.close();
	}
}

改进

package cn.sdut.k11_24;

import java.sql.*;
import java.util.*;

public class Main {
	public static void main(String[] args) throws ClassNotFoundException, SQLException {
		Scanner input = new Scanner(System.in);

		//加载驱动
		Class.forName("com.mysql.jdbc.Driver");
		
		//获得数据库链接
		Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3307/school?useUnicode=true&characterEncoding=utf-8","root","usbw");
		//?useUnicode=true&characterEncoding=utf-8不加输入会乱码
				
		//输入信息
		System.out.println("请输入学生姓名");
		String name = input.next();
		System.out.println("请输入学生年龄");
		int age = input.nextInt(); 
		
		//准备执行对象及SQL语句
		String sqladd = "INSERT INTO student VALUES(NULL,?,?)";
		PreparedStatement pst = con.prepareStatement(sqladd);
		pst.setString(1, name);
		pst.setInt(2, age);
		
		//执行SQL语句
		int result = pst.executeUpdate();
		System.out.println(result > 0 ? "数据插入成功":"数据插入失败");
		
		//关闭SQL语句执行对象
		pst.close();
		
		//关闭数据库链接
		con.close();
		
		//键盘输入关闭
		input.close();
	}
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值