개발환경 :
Windows 7 Ultimate K 64bit
MySQL Community Server 5.7.17 <GPL>
MySQL Workbench 6.3 CE
Eclipse Kepler Service Release 2
mysql-connector-java-5.1.40-bin //커넥터 버전
initializeSetting.jar 를 실행하면 `none` 데이터베이스가 생성 되도록.
(단 `none` 이라는 데이터베이스가 있어도 삭제하고 다시 생성할 수 있어야한다. 한마디로 초기화작업)
.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | package jdbc; import java.sql.*; public class initializeSetting { public static void main(String[] args) { String url = "jdbc:mysql://127.0.0.1/?useSSL=false&user=root&password=5071"; Connection conn = null; Statement stmt = null; ResultSet rs = null; try { Class.forName("com.mysql.jdbc.Driver"); System.out.println("드라이버 연결 성공!"); conn = DriverManager.getConnection(url); System.out.println("데이터베이스 접속 성공!"); stmt = conn.createStatement(); String existsSql = "DROP DATABASE IF EXISTS `none`;"; String createSql = "CREATE DATABASE `none`"; stmt.executeUpdate(existsSql); stmt.executeUpdate(createSql); String sql2 = "SHOW DATABASES;"; rs = stmt.executeQuery(sql2); while(rs.next()) { System.out.println(rs.getString(1)); } } catch (ClassNotFoundException cnfe) { cnfe.printStackTrace(); } catch (SQLException se) { se.printStackTrace(); } finally { if(conn!=null) try { conn.close(); } catch(SQLException se) {} if(stmt!=null) try { stmt.close(); } catch(SQLException se) {} if(rs!=null) try { rs.close(); } catch(SQLException se) {} } } } | cs |
보통 SQL에선 조건문을 WHERE로 작성하던데 String existsSql = "DROP DATABASE IF EXISTS `none`;";
이 구문에선 IF EXISTS라는 놈을 사용한다. 잘 기억해두면 쓸 데가 많을 듯
결과론 이클립스가 문법오류(이미 데이터베이스가 있다는 둥) 를 일으키지않고 none 데이터베이스 안에 있는
테이블이나 레코드도 모두 삭제하고 다시 같은 이름의 데이터베이스가 생성되는 걸 볼 수 있었음.
여담으로 jar파일을 Export해서 실행시켜본 결과
'옛날' 카테고리의 다른 글
File 클래스를 이용한 파일 연동 (0) | 2017.01.09 |
---|---|
[지방] 지방기능경기대회 문제 1 (0) | 2017.01.07 |
4.JTextField (0) | 2017.01.06 |
3. 데이터베이스에 쿼리문을 보내보자. (0) | 2017.01.06 |
MySQL Community Server ZIP Archive 설치방법 (3) | 2017.01.04 |