5. DB

    MySQL DBMS - [ Xml 파일 MySQL에 삽입 ]

    부산 지역 관광정보 담고있는 XML 파일을 DB 테이블에 담으려 한다. 우선 XML 파일을 CSV 파일로 변환했다. 변환 사이트가 많던데 난 이게 제일 잘 되는 것 같다. https://data.page/xml/csv 그리고 이 사이트에서 csv 파일을 SQL 구문으로 변환했다. https://www.convertcsv.com/csv-to-sql.htm CSV To SQL Converter www.convertcsv.com 테이블 생성 여부는 따로 선택이 가능하다.

    MySQL DBMS - [ Xml 파일 MySQL에 삽입 ]

    MySQL - [ DB 데이터 Export/Import ]

    데이터 Export 1. 워크벤치에서 왼쪽 Administration 탭 -> Data Export 클릭 2. DB와 테이블 선택 3. Export Options에서 Export to Self-Contained File 클릭 4. Schema도 생성할 경우 Include Create Schema 클릭 5. Start Export 데이터 Import 1. Administaration 탭 -> Data Import 클릭 2. Import from Self-Contained File 선택 후 파일 선택 3. Start Import * 업로드했던 이미지 파일은 따로 가져와야함 (경로 : workspace -> metadata -> plugin -> ~....server.core -> tmp0 -> wtpweba..

    MySQL - [ DB 데이터 Export/Import ]

    MySQL -[ rownum 행번호 생성 ]

    게시판 글 목록을 나열할 때 글번호에 해당 글의 num(primary key)를 나타내면 중간에 글을 삭제하면 해당 글 번호가 비게 된다. num은 그냥 해당 레코드의 값으로 가지고 있고, 글 목록을 표시할 떄 num에 rownum 즉 행 번호를 계산해서 보여주면 해결된다. 아래 3가지 방법 중 아무거나 사용하면 된다. SELECT @ROWNUM:=@ROWNUM+1, A.* FROM 테이블명 A, (SELECT @ROWNUM:=0) R; SET @ROWNUM:=0; SELECT @ROWNUM:=@ROWNUM+1, A.* FROM 테이블명 A; SELECT @ROWNUM:=@ROWNUM+1, A.* FROM REQUEST_ACTION_HISTORY A WHERE (@ROWNUM:=0)=0; --------..

    MySQL - [ ON DELETE CASCADE ]

    회원 테이블과 게시판 테이블의 id에 foreign key를 걸어놓고 회원 탈퇴를 하려고 보니 foreign key constraint fails 오류가 발생했다. 회원탈퇴를 하고 연관된 데이터를 모두 삭제하기 위해서는 Foreign Key 에 ON DELETE CASCADE 속성을 추가해줘야 한다. 먼저 기존에 있었던 foreign key들을 제거 하고 다시 추가해야 한다. -- 제약 조건 조회 (외래키이름 조회 위해서) use information_schema; select * from table_constraints where table_name = '테이블명'; -- Foreign Key 삭제 ALTER TABLE 테이블명 DROP FOREIGN KEY 외래키이름; 다음으로 on delete ca..

    MySQL - [ View ]

    1. View - 하나이상의 테이블을 기반으로 생성은 되었으나 물리적으로 존재하지는 않고 DB에 정의만 되어 있는 가상의 논리적인 테이블 - 목적 : ① 보안에 도움이 된다. ② 복잡한 쿼리 구문을 단순화 시킬 수 있다. - DML을 사용하여 VIEW의 레코드를 수정하면 VIEW가 참조한 기본 테이블의 레코드도 수정된다. - VIEW를 통한 DML 작업 시 base table에 선언된 제약조건을 만족해야한다. - 사용방법 : 테이블과 동일하게 사용된다. -- 뷰 생성 create view 뷰이름 as select * from departments where department_id > 200; -- 뷰 조회 select * from 뷰이름; -- 뷰 데이터 삽입 insert into 뷰이름 values ..

    MySQL - [ 테이블에 선언된 제약조건 조회 ]

    show databases; 를 입력하면 생성한 적 없는 information_shcema가 있는 것을 확인할 수 있다. 이는 MySQL에 존재하는 DB의 메타 정보(테이블, 칼럼, 인덱스 등의 스키마 정보)를 모아둔 DB라고 보면 된다. 이 schema를 이용해 테이블에 선언된 제약조건을 조회할 수 있다. show databases; -- DB에 대한 정보를 담고있는 DB라고 생각하면 됨 use information_schema; ex) -- shopdb 데이터베이스(스키마)에 존재하는 테이블에 선언된 모든 제약조건 정보 조회 select * from table_constraints where constraint_schema = 'shopdb'; -- test5 테이블에 선언된 제약조건 정보 조회 se..

    MySQL - [ 테이블에 선언된 제약조건 조회 ]