java jdbc 修改mysql数据库的引擎 InnoDB
2012-07-26 12:28
344 查看
要修改数据库的引擎 首先该数据库要支持修改的引擎
编写获取数据源的类(看自己的数据库连接属性对西面的连接做修改)
本列数据库连接用到单例模式
单列的必要条件 静态的属性 私有的构造方法 对外公共的获取连接的方法
package com;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class DBconn {
private static String driver = "com.mysql.jdbc.Driver";
private static String url = "jdbc:mysql://localhost:3306/nlticket2";
private static String uname = "root";
private static String pwd = "";
private static Connection conn = null; //静态的属性
private DBconn() {//私有的构造方法
super();
}
public static Connection getConn() {//对外提供公共的调用连接的方法
if (conn == null) {
try {
Class.forName(driver);
conn = DriverManager.getConnection(url, uname, pwd);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
}
return conn;
}
}
编写修改数据库引擎的方法
package com;
import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.ResultSet;
import java.sql.SQLException;
public class Tool {
/**
* 修改數據庫引擎
*
* @param conn
* 數據庫連接
* @param engines
* 修改后的數據庫引擎
*/
public static void setDatabaseEngines(Connection conn, String engines) {
try {
DatabaseMetaData dbmd = conn.getMetaData();
// 获得所有的表名
ResultSet rs = dbmd.getTables(null, null, null,
new String[] { "table" });
while (rs.next()) {
// 循环结果集 并執行修改數據庫引擎的sql
String tname = rs.getString("table_name");
String sql = "ALTER TABLE " + tname + " type=" + engines;
conn.createStatement().executeUpdate(sql);
System.out.println(tname + ": 已修改為 " + engines);
}
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
// 如果數據庫不支持 engines 在mysql里也執行不了sql 會報錯
System.out.println("數據庫不支持 " + engines + " 引擎");
}
}
public static void main(String[] args) {
// 調用上面的方法 將數據庫修改為 INNODB
setDatabaseEngines(DBconn.getConn(), "INNODB");
}
}
编写获取数据源的类(看自己的数据库连接属性对西面的连接做修改)
本列数据库连接用到单例模式
单列的必要条件 静态的属性 私有的构造方法 对外公共的获取连接的方法
package com;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class DBconn {
private static String driver = "com.mysql.jdbc.Driver";
private static String url = "jdbc:mysql://localhost:3306/nlticket2";
private static String uname = "root";
private static String pwd = "";
private static Connection conn = null; //静态的属性
private DBconn() {//私有的构造方法
super();
}
public static Connection getConn() {//对外提供公共的调用连接的方法
if (conn == null) {
try {
Class.forName(driver);
conn = DriverManager.getConnection(url, uname, pwd);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
}
return conn;
}
}
编写修改数据库引擎的方法
package com;
import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.ResultSet;
import java.sql.SQLException;
public class Tool {
/**
* 修改數據庫引擎
*
* @param conn
* 數據庫連接
* @param engines
* 修改后的數據庫引擎
*/
public static void setDatabaseEngines(Connection conn, String engines) {
try {
DatabaseMetaData dbmd = conn.getMetaData();
// 获得所有的表名
ResultSet rs = dbmd.getTables(null, null, null,
new String[] { "table" });
while (rs.next()) {
// 循环结果集 并執行修改數據庫引擎的sql
String tname = rs.getString("table_name");
String sql = "ALTER TABLE " + tname + " type=" + engines;
conn.createStatement().executeUpdate(sql);
System.out.println(tname + ": 已修改為 " + engines);
}
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
// 如果數據庫不支持 engines 在mysql里也執行不了sql 會報錯
System.out.println("數據庫不支持 " + engines + " 引擎");
}
}
public static void main(String[] args) {
// 調用上面的方法 將數據庫修改為 INNODB
setDatabaseEngines(DBconn.getConn(), "INNODB");
}
}
相关文章推荐
- 修改MySQL数据库引擎为InnoDB
- 如何修改MySQL数据库引擎为INNODB
- 修改MySQL数据库引擎为INNODB
- 如何修改MySQL数据库引擎为INNODB
- Centos6.8 查看、修改MySQL数据库引擎
- MySQL数据库MyISAM和InnoDB存储引擎的比较
- MySQL数据库InnoDB存储引擎 Buffer Pool Flush List详解
- mysql数据库引擎:MyISAM和InnoDB
- MySQL数据库性能优化之存储引擎选择(MyISAM、InnoDB、NDBCluster)
- mysql数据库MyISAM和InnoDB两个存储引擎的索引实现方式
- MySQL数据库InnoDB存储引擎的 UNDO空间调整步骤的专题报告
- 深入探讨:MySQL数据库MyISAM与InnoDB存储引擎的比较
- 复制MySQL数据库A到另外一个MySQL数据库B(仅仅针对innodb数据库引擎)
- MySQL将某个数据库下的所有表的存储引擎修改为InnoDB类型语句
- MySQL数据库InnoDB和MyISAM数据引擎的差别
- MySQL数据库InnoDB存储引擎Log漫游(1)
- MySQL数据库引擎MyISAM和InnoDB的区别介绍
- MYSQL数据库引擎 MYISAM和 INNODB区别
- 【转】MySQL数据库MyISAM和InnoDB存储引擎的比较
- MySQL数据库InnoDB存储引擎Log漫游(2)