Java对mysql数据库的增删改查创表5个操作

发现非常水啊,全是一个套路,就是根据sql语句通过字符串实现这个操作。然后注意插入时主码要不一样,否则会报错。
给出我的代码。
我的mysql表名称为test下的,然后表的名字为tablename,tablename1之类的。
这几个操作,全都实现了一遍?发现好简单啊。?
所以玩了一个晚上发现,可以搞搞大作业了啊?
package mywork.com;

import java.sql.*;
import java.text.DecimalFormat; // DecimalFormat df = new DecimalFormat("#0.000");
import java.util.Scanner;
import java.math.*;
import java.io.*;
import java.text.*;
import java.util.Arrays; // Arrays.sort(s);
import java.math.BigInteger;
import java.util.Queue;
import java.util.LinkedList;
import java.util.Random;

public class code1 {
	public final static Scanner cin = new Scanner(System.in);

	public static void main(String[] args) {
		int a = 6;
		// // System.out.println(a);
		// try {
		// Class.forName("com.mysql.jdbc.Driver"); // 线加载驱动
		// // System.out.println(888);
		// } catch (ClassNotFoundException e) {
		// System.out.println("找不到驱动程序类 ,加载驱动失败!");
		// e.printStackTrace();
		// }
		try {
			Class.forName("com.mysql.jdbc.Driver"); // 先加载驱动
			// System.out.println(888);
			String url = "jdbc:mysql://localhost:3306/test"; // 数据库名称
			String username = "root"; // 账号
			String password = "root"; // 密码
			Connection con = DriverManager.getConnection(url, username,
					password); // 通过这个接口连接数据库。
			// String sql =
			// "CREATE TABLE tableName5(id int not null, name varchar(20) not null, age int null, primary key (id));";
			// // 创建一个表,名字为tablename (id为int,name为字符串,age为int,这个好像是主码?主码为id)
			// PreparedStatement pstmt = con.prepareStatement(sql);
			// pstmt.executeUpdate();
			String[] createtable = new String[100];
			for (int i = 0; i < 0; i++) {
				cin.useDelimiter("\n"); // 输入带有空格的字符串
				createtable[i] = cin.nextLine();
				// String sql =
				// "CREATE TABLE tableName5(id int not null, name varchar(20) not null, age int null, primary key (id));";
				// // 创建一个表,名字为tablename (id为int,name为字符串,age为int,这个好像是主码?主码为id)
				// 这样就可以直接通过输入创建多个表了,很简单,,只要改改名字就可以拉?
				PreparedStatement pstmt = con.prepareStatement(createtable[i]);
				pstmt.executeUpdate();
			}
			String[] insert = new String[100];
			for (int i = 0; i < 0; i++) {
				// String sqlq=cin.next();
				cin.useDelimiter("\n"); // 输入带有空格的字符串
				insert[i] = cin.nextLine();
				// String sqlq
				// ="insert into tableName(id,name,age) values(524323,'123456',22)";
				// 这个直接改成输入,,然后就可以插入N条数据啦= =
				// 插入时注意每个主码必须是不同的。
				Statement stmt = con.createStatement();
				stmt.executeUpdate(insert[i]);
			}
			String[] delete = new String[100];
			for (int i = 0; i < 0; i++) {
				cin.useDelimiter("\n"); // 输入带有空格的字符串
				delete[i] = cin.nextLine();
				// String qq="delete from tablename5 where id>=2;";
				// 直接输入要删除的表的特征,然后就可以删除N条数据啦。
				Statement stmt1 = con.createStatement();
				stmt1.executeUpdate(delete[i]);
			}
			String[] update = new String[100];
			for (int i = 0; i < 0; i++) {
				cin.useDelimiter("\n"); // 输入带有空格的字符串
				update[i] = cin.nextLine();
				// String
				// sql11="update tablename set age=20,set name='lalal' where id=52323 ";//生成一条mysql语句
				// 直接输入要更新的表的特征,然后就可以更新N条数据啦。
				Statement lalala = con.createStatement();
				lalala.executeUpdate(update[i]);
			}
			String[] query = new String[100];
			for (int i = 0; i < 0; i++) {
				// String sql123 =
				// "SELECT 	`id`, `name`,`age` FROM `test`.`tablename` LIMIT 0, 1000;";
				// 要执行的SQL
				cin.useDelimiter("\n"); // 输入带有空格的字符串
				query[i] = cin.nextLine();
				// 还是一个套路啊,将上面的sql语句改成输入,,然后tablename换一下名字,0,1000为1000条表中的数据
				Statement stmt11 = con.createStatement();
				ResultSet rs = stmt11.executeQuery(query[i]);// 创建数据对象,通过rs来调用表中的数据
				System.out.println("编号" + "\t" + "姓名" + "\t" + "年龄");
				while (rs.next()) {
					System.out.print(rs.getInt(1) + "\t"); // 第一个数据
					System.out.print(rs.getString(2) + "\t"); // 第二个为字符串类型的
					System.out.print(rs.getInt(3) + "\t"); // 第三个
					System.out.println();
				}
				rs.close();
				stmt11.close();
				con.close();
			}
			System.out.println("success");
			con.close();
		} catch (ClassNotFoundException e) {
			System.out.println("找不到驱动程序类 ,加载驱动失败!");
			e.printStackTrace();
		} catch (SQLException se) {
			System.out.println("失败");
			se.printStackTrace();
		}
	}
}

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值