jdbc를 이용한 DDL

jinkyung·2021년 1월 15일
0

DBMS

목록 보기
18/21

create

package ex00.jdbcp.stmt;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;

public class JdbcCreate {
	// 1. oracle에 접속하기 위한 클래스를 메모리에 로딩하는 작업
		static {
			try {
				Class.forName("oracle.jdbc.driver.OracleDriver");
			} catch (ClassNotFoundException e) {
				e.printStackTrace();
			}
		}

		public static void main(String[] args) {
			// 2. 오라클 서버 접속 주소, 계정
			String url = "jdbc:oracle:thin:@localhost:1521:xe";
			String id = "bitTest";
			String pass = "bitTest";

			// 3. 오라클 서버 접속 객체 계정
			try {
				Connection con = DriverManager.getConnection(url, id, pass);
				// 4. sql 쿼리문을 실행하기 위한 객체를 생성
				Statement statemt = con.createStatement();
				// 5. sql문 작성
				String strCreate = "CREATE TABLE dept (" + "\r\n" + 
									"  dno varchar2(2),\r\n" + 
									"  dname varchar2(14),\r\n" + 
									"  loc varchar2(8) ,\r\n" + 
									"  director  varchar2(4)\r\n" + 
									")";
				// 6. 실행
				// cnt는 몇개 행에 적용되었느냐?
				int cnt = statemt.executeUpdate(strCreate);		
				System.out.println("리턴값 : " + cnt);
				
				String strInsert = "INSERT INTO dept(dno, dname)" + "\r\n" 
							+ "Values ('01', '개발')";
				cnt = statemt.executeUpdate(strInsert);		
				System.out.println(cnt + "행 적용");
		
				// 7. 종료
				statemt.close();
				con.close();

			} catch (SQLException e) {
				e.printStackTrace();
			}
		}
}
package ex00.jdbcp.stmt;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;

public class JdbcCreate {
	// 1. oracle에 접속하기 위한 클래스를 메모리에 로딩하는 작업
		static {
			try {
				Class.forName("oracle.jdbc.driver.OracleDriver");
			} catch (ClassNotFoundException e) {
				e.printStackTrace();
			}
		}

		public static void main(String[] args) {
			// 2. 오라클 서버 접속 주소, 계정
			String url = "jdbc:oracle:thin:@localhost:1521:xe";
			String id = "bitTest";
			String pass = "bitTest";

			// 3. 오라클 서버 접속 객체 계정
			try {
				Connection con = DriverManager.getConnection(url, id, pass);
				// 4. sql 쿼리문을 실행하기 위한 객체를 생성
				Statement statemt = con.createStatement();
				// 5. sql문 작성
				String strCreate = "CREATE TABLE dept (" + "\r\n" + 
									"  dno varchar2(2),\r\n" + 
									"  dname varchar2(14),\r\n" + 
									"  loc varchar2(8) ,\r\n" + 
									"  director  varchar2(4)\r\n" + 
									")";
				// 6. 실행
				// cnt는 몇개 행에 적용되었느냐?
				int cnt = statemt.executeUpdate(strCreate);		
				System.out.println(cnt + "리턴값 : " + cnt);
				
				String strInsert = "INSERT INTO dept (dno, dname) " + "\r\n" +
						"VALUES ('01','개발')";
				 cnt = statemt.executeUpdate(strInsert);
					System.out.println(cnt + "행에 적용됨");
					
				String strAlter= "ALTER TABLE dept" + "\r\n" + "ADD CONSTRAINT dept_dno_pk PRIMARY KEY (dno)";
				cnt = statemt.executeUpdate(strAlter);		
				System.out.println("리턴값 : " + cnt);
		
				// 7. 종료
				statemt.close();
				con.close();

			} catch (SQLException e) {
				e.printStackTrace();
			}
		}
}


//출력값
리턴값 : 0
1행에 적용됨
리턴값 : 0



에러가 난다면 디벨로퍼에서 dept 테이블을 삭제 후 시도해볼 것.

0개의 댓글