Java对MySQL数据库进行增删改查的操作(二)

  • 第一步建表:
CREATE TABLE `tb_student` (
  `student_id` int(8) NOT NULL AUTO_INCREMENT,
  `student_name` varchar(12) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  `student_sex` char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  `student_age` int(4) NOT NULL,
  `student_birthday` date NOT NULL,
  `student_tel` bigint(12) NOT NULL,
  `student_remark` varchar(80) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  PRIMARY KEY (`student_id`)
) ENGINE=InnoDB CHARSET=utf8;
  • 插入数据:
INSERT INTO `tb_student` VALUES ('1', '张三', '男', '18', '2000-01-01', '13999999999', '学酥');
INSERT INTO `tb_student` VALUES ('2', '李明', '男', '18', '1999-12-31', '13988888888', '英语课本小王子');
INSERT INTO `tb_student` VALUES ('3', '丹尼', '男', '18', '2000-01-01', '13799999999', '恐龙');
  • java代码 这个测试类中只进行了插入操作
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.text.SimpleDateFormat;
import java.util.Scanner;

/** 

* @author 作者 Knight: 

* @version 创建时间:2019年4月17日 下午4:01:41 

* 类说明 测试

*/
public class TestClass {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		input();
	}
	
	public static void input(){
		Scanner scan = new Scanner(System.in);
		System.out.println("请输入学生的名字:");
		String name = scan.nextLine();
		System.out.println("请输入学生的性别:");
		String sex = scan.nextLine();
		if(!(sex.equals("男")||sex.equals("女"))){
			System.out.println("您输入的性别不合规范!");
			scan.close();
			return;
		}
		System.out.println("请输入学生的年龄:");
		Integer age = scan.nextInt();
		System.out.println("请输入学生的生日:");
		String str = scan.next();
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
		java.util.Date d = null;  
        try {  
            d = sdf.parse(str);  
        } catch (Exception e) {  
            e.printStackTrace();  
        }  
        java.sql.Date birthday = new java.sql.Date(d.getTime());
		System.out.println("请输入学生的电话:");
		Long tel = scan.nextLong();
		System.out.println("请输入备注:");
		String remark = scan.next();
		scan.close();
		try {
			Class.forName("com.mysql.cj.jdbc.Driver");
			Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/user?serverTimezone=Asia/Shanghai","root","951226");
			//输出下面这条语句说明连接数据库成功
			System.out.println("数据库连接成功!");
			String sql = "insert into tb_student values(null,?,?,?,?,?,?)";
			PreparedStatement statement = con.prepareStatement(sql);
            //1代表第一个问号,2代表第二个问号,以此类推
            //set方法限制了传入的参数的类型,这样删除时如果输入or 1=1,就不会删除所有数据了
			statement.setString(1, name);
			statement.setString(2, sex);
			statement.setInt(3, age);
			statement.setDate(4, birthday);
			statement.setLong(5,tel);
			statement.setString(6, remark);
			statement.execute();
			
			statement.close();
			con.close();
			System.out.println("数据库插入成功!");
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	
	}

}

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java连接MySQL数据库可以通过JDBCJava Database Connectivity)实现。下面是一个简单的示例代码来进行增删改查操作: 1. 导入必要的包: import java.sql.*; 2. 创建数据库连接: String url = "jdbc:mysql://localhost:3306/mydatabase"; // 修改为你的数据库信息 String username = "root"; // 修改为你的数据库用户名 String password = "password"; // 修改为你的数据库密码 try { Connection connection = DriverManager.getConnection(url, username, password); } catch (SQLException e) { e.printStackTrace(); } 3. 插入数据: String insertQuery = "INSERT INTO table_name (column1, column2, column3) VALUES (?, ?, ?)"; // 修改为你的表名和字段名 try { PreparedStatement statement = connection.prepareStatement(insertQuery); statement.setString(1, "value1"); // 修改为要插入的值 statement.setString(2, "value2"); statement.setString(3, "value3"); statement.executeUpdate(); } catch (SQLException e) { e.printStackTrace(); } 4. 删除数据: String deleteQuery = "DELETE FROM table_name WHERE column1 = ?"; // 修改为你的表名和字段名 try { PreparedStatement statement = connection.prepareStatement(deleteQuery); statement.setString(1, "value1"); // 修改为要删除的值 statement.executeUpdate(); } catch (SQLException e) { e.printStackTrace(); } 5. 更新数据: String updateQuery = "UPDATE table_name SET column1 = ? WHERE column2 = ?"; // 修改为你的表名和字段名 try { PreparedStatement statement = connection.prepareStatement(updateQuery); statement.setString(1, "new value"); // 修改为要更新的值 statement.setString(2, "value2"); statement.executeUpdate(); } catch (SQLException e) { e.printStackTrace(); } 6. 查询数据: String selectQuery = "SELECT * FROM table_name"; // 修改为你的表名 try { Statement statement = connection.createStatement(); ResultSet resultSet = statement.executeQuery(selectQuery); while (resultSet.next()) { String column1 = resultSet.getString("column1"); // 修改为你的表的字段名 String column2 = resultSet.getString("column2"); String column3 = resultSet.getString("column3"); System.out.println(column1 + " " + column2 + " " + column3); } } catch (SQLException e) { e.printStackTrace(); } 这是一个简单的示例代码,你可以根据你的实际需求进行适当的修改和优化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值