mysql初步学习
1 package zuoye1; 2 3 import java.sql.DriverManager; 4 import java.sql.SQLException; 5 6 import com.mysql.jdbc.Connection; 7 import com.mysql.jdbc.ResultSet; 8 import com.mysql.jdbc.ResultSetMetaData; 9 import com.mysql.jdbc.Statement; 10 11 public class jdbc_connect { 12 13 /** 14 * @param args 15 */ 16 17 // 18 // CREATE DATABASE `mydb` /*!40100 DEFAULT CHARACTER SET utf8 */; 19 // CREATE TABLE `stuinfo` ( 20 // `ID` varchar(10) NOT NULL auto_increment, 21 // `NAME` varchar(30) DEFAULT NULL, 22 // `AGE` int(11) DEFAULT NULL, 23 // PRIMARY KEY (`ID`) 24 // ) ENGINE=InnoDB DEFAULT CHARSET=utf8; 25 26 public static void main(String[] args) { 27 // TODO Auto-generated method stub 28 String user = "root"; 29 String password = "a123456"; 30 String url = "jdbc:mysql://localhost:3306/mydb"; 31 String driver = "com.mysql.jdbc.Driver"; 32 // String driver = "org.gjt.mm.mysql.Driver"; 33 String tableName = "stuinfo"; 34 String sqlstr; 35 Connection con = null; 36 Statement stmt = null; 37 ResultSet rs = null; 38 try { 39 Class.forName(driver);// 加载JDBC驱动。 40 con = (Connection) DriverManager.getConnection(url, user, password);// 连接数据库 41 stmt = (Statement) con.createStatement(); 42 sqlstr = "insert into " + tableName 43 + " values ('20010838','honey',21)";// 添加一条记录。 44 stmt.executeUpdate(sqlstr);// 执行语句。 45 sqlstr = "select * from " + tableName; 46 rs = (ResultSet) stmt.executeQuery(sqlstr); 47 48 // 使用JDBC连接数据库需要四步, 49 //第一步加载驱动程序; 50 // 第二步,连接数据库; 51 // 第三步,访问数据库; 52 // 第四步,执行查询; 53 // 其中在第四步执行查询时,要用statement类的executeQuery()方法来下达select指令以查询数据库, 54 // executeQuery()方法会把数据库响应的查询结果存放在ResultSet类对象中供我们使用。 55 // 即语句:String sql="select * from"+tableName; 56 // ResultSet rs=s.executeQuery(sql); 57 58 ResultSetMetaData rsmd = (ResultSetMetaData) rs.getMetaData(); 59 int j = 0; 60 j = rsmd.getColumnCount(); 61 for (int k = 0; k < j; k++) { 62 System.out.print(rsmd.getCatalogName(k + 1));// 获得所在的Catalog名字 63 System.out.print("\t"); 64 } 65 System.out.println(); 66 while (rs.next()) { 67 for (int i = 0; i < j; i++) { 68 // 结果集ResultSet存有一个表,该表的当前行可以访问。当前行的初始位置是null。 69 // 可以使用next方法移动到下一行,可以使用各种get方法从当前行获取值。如getString(1)获取第1列的数据。 70 System.out.print(rs.getString(i + 1)); 71 System.out.print("\t"); 72 } 73 System.out.println(); 74 } 75 } catch (ClassNotFoundException e1) { 76 System.out.println("数据库驱动不存在!"); 77 System.out.println(e1.toString()); 78 } catch (SQLException e2) { 79 System.out.println("数据库存在异常!"); 80 System.out.println(e2.toString()); 81 } finally { 82 try { 83 if (rs != null) 84 rs.close(); 85 if (stmt != null) 86 stmt.close(); 87 if (con != null) 88 con.close(); 89 } catch (SQLException e) { 90 System.out.println(e.toString()); 91 } 92 } 93 } 94 95 }