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();
		}
	}
}

發佈了368 篇原創文章 · 獲贊 51 · 訪問量 29萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章