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();
}
}
}
Java對mysql數據庫的增刪改查創表5個操作
發現非常水啊,全是一個套路,就是根據sql語句通過字符串實現這個操作。然後注意插入時主碼要不一樣,否則會報錯。
給出我的代碼。
我的mysql表名稱爲test下的,然後表的名字爲tablename,tablename1之類的。
這幾個操作,全都實現了一遍?發現好簡單啊。?
所以玩了一個晚上發現,可以搞搞大作業了啊?
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.