데이터베이스(DB) (45) 리스트형 [JDBC] 데이터 삭제 //데이터 삭제 - 자바를 통해 DBMS에 저장된 데이터를 삭제한다. - SQL에서 사용하는 쿼리를 그대로 간편하게 사용할 수 있다. ~ String sql = "DELETE NOTICE WHERE WRITER_ID = 'OKAY'"; - PreparedStatement 를 사용할 경우 st.executeQuery()가 아닌 st.executeUpdate를 사용한다. package ex1; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.SQLException; public class Program4 { public static void main(String.. [JDBC] 데이터 수정 //데이터 수정 - 자바를 통해 DBMS에 저장된 데이터를 수정한다. - UPDATE를 하는 쿼리를 준비할 때, INSERT와 비슷하게 원하는 값을 ? 로 넣어두고 추후에 값을 설정할 수 있다. ~ String sql ="UPDATE NOTICE SET TITLE = ?, CONTENT = ? WHERE WRITER_ID = 'sorrel012'"; ~ PreparedStatement st= con.prepareStatement(sql); ~ st.setString(?의 순서 - 1부터 시작, 넣을 데이터); ※st.set자료형 (setInt, setString...) - INSERT와 마찬가지로 PreparedStatement 를 사용할 경우 st.executeQuery()가 아닌 st.executeU.. [JDBC] 데이터 입력 //데이터 입력 - 자바를 통해 DBMS에 데이터를 저장한다. - INSERT를 하는 쿼리를 준비할 때, VALUES에 해당하는 부분을 ? 로 넣어두고 추후에 값을 설정할 수 있다. ~ String sql = "INSERT INTO NOTICE (TITLE, WRITER_ID) VALUES (?, ?, ?, ?)"; ~ PreparedStatement st= con.prepareStatement(sql); ~ st.setString(?의 순서 - 1부터 시작, 넣을 데이터); - PreparedStatement 를 사용할 경우 st.executeQuery()가 아닌 st.executeUpdate를 사용한다. package ex1; import java.sql.Connection; import java.s.. [JDBC] 트랜잭션 처리 // 트랜잭션 - 하나의 단위로 수행되길 바라는 쿼리의 묶음 - 업무 수행단위 - 논리적인 수행단위 // 트랜잭션 처리 - ACID를 유지하는 것 ~ Atomicity : 원자성 ~ Consistency : 일관성 ~ Isolation : 고립성 ~ Durability : 지속성 [JDBC] 데이터 조회 // DBMS를 이용하는 자바 코드 - 드라이버 로드 : 드라이버를 객체화한다. Class.forName("oracle.jdbc.driver.OracleDriver"); - 연결 : 객체 얻기 Connection con = DriverManager.getConnection(...); - 실행 도구 생성 Statement st = com.createStatement(); - 결과 패치 : 커서가 레코드를 가리키고 있음(순차적으로 접근해야 함.) ResultSet rs = st.executeQuery(sql); - 다음 결과 전달 rs.next(); - 전달받은 결과 반환 String title = rs.getString("title"); ※ BoF(Before of File) : 커서가 첫 번째 레코드를 .. [JDBC] 설치 및 환경설정 //JDBC Driver설치하기 - 홈페이지에서 jdbc를 검색하여 맞는 버전을 다운로드 한다. - 내가 쓰는 오라클은 11c라서 해당 버전이 공식 홈페이지에선 내려가고 다운받을 수 있는 링크가 걸려있었다. https://repo1.maven.org/maven2/com/oracle/database/ Central Repository: com/oracle/database repo1.maven.org //ojdbc6 설정하기 - 프로젝트 우클릭 -> Properties (또는 프로젝트 클릭 후 Alt+Enter) -> Java Build Path -> Add External JARs -> ojdbc6 파일 선택 [Oracle] 시퀀스(Sequence) //시퀀스, Sequence - 데이터베이스 객체 중 하나 - 오라클 전용 객체(다른 DBMS에는 없음) - 일련 번호를 생성하는 객체**** - (주로) 식별자를 만드는 용도로 많이 사용한다. > PK 컬럼에 일련 번호를 넣을 때 많이 사용한다. - 시퀀스 객체 생성하기 - create sequence 시퀀스명 [옵션]; - 시퀀스 객체 삭제하기 ~ drop sequence 시퀀스명; - 시퀀스 객체 사용하기 ~ 시퀀스명.nextVal - 시퀀스 객체가 숫자를 만드는 함수 - 호출할 때마다 숫자 증가 - 주로 사용 ~ 시퀀스명.currVal - 시퀀스 객체가 마지막에 만든 숫자를 확인하는 함수 - 호출할 때마다 숫자 증가X - 로그인을 한 뒤 (접속) 최소 1회 이상 nextVal를 호출하고 난 뒤에만.. [Oracle] 제약사항 //제약 조건(제약 사항), Constraint - 해당 컬럼에 들어갈 데이터(값)에 대한 조건 - 조건을 만족하면 > 대입 - 조건을 불만족하면 > 에러 발생 - 유효성 검사 도구 - 데이터베이스 > 데이터 관리 > 무결성을 보장하는 도구 1. NOT NULL ~ 컬럼명 자료형(길이) not null - 해당 컬럼이 반드시 값을 가져야 한다. - 해당 컬럼에 값이 없으면 에러 발생 - SQL은 빈문자('')도 null로 취급한다. 2. PRIMARY KEY, PK ~ 컬럼명 자료형(길이) primary key - 기본키 - 테이블에서 행과 행을 구분하기 위한 수단 > 제약 - 행을 식별하는 대표 컬럼을 지정하는 역할 - 모든 테이블은 반드시 1개의 기본키가 존재해야 한다.★★★★★★ - 중복값을 가질 .. < 1 2 3 4 5 6 >