db 7

[Oracle] ORA-02437: cannot validate (~~) - primary key violated

문제 사항 원인 분석 기존에 있던 PK를 변경해야되서 삭제 후 다시 설정하려고했는데, 이런 에러가 났다. 검색해보니까 중복된 값이 존재해서라고 한다. 해결 방법 1. 직접..지우기 이거는 뭐.. 어쩔수가없다. 어떤 내용을 지워야되고 어떤걸 남겨야되는지는 사람이 판단해야 하기때문에.. PK속성을 가지고있던 컬럼들이 어떤게 중복되는지 봐야한다. 필요하다면 SELECT 문으로 뽑아내서 구별 한 뒤에 삭제하던지. 그렇게해야지. 다음은 중복되는 row를 삭제하는 쿼리다. 참고참고~ 만약 기본키가 여러개라면 PARTITION BY 컬럼명 1 -- num의 값이 1초과인 데이터들만 삭제 ) ); 참고 m.blog.naver.com/PostView.nhn?blogId=yka21&logNo=70019484646&prox..

Backend/DB 2020.10.06

[AWS] AWS EC2 인스턴스에서 MySQL DB생성 및 DBeaver 연결 (RDS 사용 X)

이 글은 Notion에서 작성 후 재편집한 포스트입니다. 개요 AWS에서 인스턴스를 생성한 후에, RDS를 사용하지 않고 DB를 구축 및 연결하는 법에 대해서 알아보도록 한다. AWS에서 인스턴스를 새로 생성하는 것은 인터넷에 널리고 널려서 따로 포스팅 하지는 않겠다. 이 포스팅은 AWS에서 인스턴스를 생성한 상태라는걸 가정하에 설명한다. RDS를 사용하는 방법은 많은데, 지금 진행중인 프로젝트에서 RDS신청하려면 또 귀찮기도 하고, 규모가 크지 않아서 서버 자체에 MYSQL을 설치하고, DB관리하는 방법을 포스팅하도록 한다. DBeaver는 인기가없나... 정보가 참 없는것같다. 영어로 검색하니까 좀 나오더라. 세상 모든 정보를 10으로 가정했을때, 한국어로 얻을수 있는 정보가 2이라면 영어로 얻을수있..

DevOps/AWS 2020.08.12

[Oracle] date 타입 컬럼 String으로 가져오기

이 글은 Notion에서 작성 후 재편집한 포스트입니다. 개요 date형식으로 db에 저장되어있는 값을 String으로 입맛대로 변환시켜 불러보자! 참고 https://enzycut.tistory.com/entry/%EC%98%A4%EB%9D%BC%ED%81%B4-DATE-%EB%82%A0%EC%A7%9C-%ED%83%80%EC%9E%85 [오라클] DATE 날짜 타입 [오라클] 날짜 타입 String으로 변환하기 오라클에서 날짜를 가지고 오는 방법 예제 SELECT SYSDATE FROM DUAL; 2017-12-10 00:00:00 위와 같이 년월일 시분초순으로 나타난다. 다음을 String형식으로 변환하면... enzycut.tistory.com 진행 과정 1. date타입에 대하여 기본적으로 YY..

Backend/DB 2020.07.30

[Python, MySQL] txt파일 csv파일 변환 및 데이터 가공 (feat. db 연동)

이 글은 Notion에서 작성 후 재편집한 포스트입니다. 개요 한국어 감성사전에 등재되있는 txt파일을 csv 형태로 가공하고, 이를 파이썬을 통해 DB로 연결 후, 삽입해보는 과정을 진행하고자 한다. 진행 과정 1. 번잡한 txt파일을 csv형태로 넣기 쉽게 데이터 가공하기 먼저 기존의 txt파일의 형태를 봐보자, 다음과 같다. 뭐.. 엄청 많지만 윗부분만 따로 떼온것이다. 그런데 우리는 csv파일을 만들어서 db에 넣을것이다. 그게 더 사후관리도 편할것이고, 한눈에 보기도 좋기 때문일것. 문제를 살펴보면 제약 조건은 다음과 같다. 단어, 어근, 감성이라는 단어는 지워져야 한다. 중간중간 단어 한 세트간의 공백도 지워져야 한다. 감성: ~~ 라인엔 마지막에 ,(콤마) 가 붙지 않고, 개행처리를 해줘야한..

[DBeaver] 설치하기 및 DB연결

개요 프로젝트 관련해서 회사 놋북에 DB 툴을 깔려고 했는데, 기존에 쓰던 HeidiSQL을 쓰려고 했지만, 더 좋은게 없나 찾아보던 도중, DBeaver라는 무료 툴이 있다는 것을 알게됐다. 그래서 한번 알아봤는데.. 평도 압도적이었다. 도대체 얼마나 좋길래? 직접 깔아보았다. DBeaver의 장점 1. 무료다. 2. 여러 DB를 지원한다. 기존에 쓰던 HeidiSQL은 Mysql만 지원한다. 그래서 오라클Oracle, MS-SQL, MySQL, PostgreSQL, MariaDB, 몽고 DB 등의 다른 db는 따로 설정을 해줘야 하는데, DBeaver는 기본으로 지원해준다. 진행 과정 1. 다운로드 및 설치 https://dbeaver.io/download/ Download | DBeaver Comm..

Backend/DB 2020.07.21

[Mysql] 문자열 붙이기, 문자열 자르기, 문자열 추가하기

개요 db를 사용하다보면 기존에 등록되어 있던 데이터의 문자열에 추가하거나, 잘라야 하는 경우가 가끔 생긴다. 한두개면 손으로 하겠는데, 수십 수백개가 있으니 쿼리문을 알아두도록 하자 오늘의 주제 문자열 합치기, CONCAT 함수 문자열 자르기, SUBSTRING 함수 진행 과정 1. 문자열 합치기, concat 생각보다 간단하다. Item 이라는 테이블 구조는 다음과 같다고 하자 index target 0 안녕하세요 1 이이잉 만약 내가 target의 컬럼 값과 원하는 문자열값을 이어서 표시하고싶다면? UPDATE Item SET target = CONCAT(target, '

Backend/DB 2020.02.13

[DB] 여러개의 테이블 값 참조하기

개요 크롤링 모니터링 페이지를 만들다가 결국 완성해서 이렇게 적어본다. php랑 db랑 카테고리를 어디로 할까 하다가 ㅇㅅㅇ.. db가 좀더 핵심적인 부분같아서 db카테고리에 넣었따 오늘의 주제 핵심 과정이었던 여러개의 테이블에서 값 참조하는 것. 사실 알고나면 별로 안어렵다. 내가 몰랐던 거라 어려웠음 참고 https://lightblog.tistory.com/84 [MySQL] 다른 테이블에서 데이터 참조하기 JOIN (vlookup) 다음과 같은 데이터가 있다고 하자. 어떤 유저가 언제 어떤 물건을 샀는지 기록해 놓은 자료다. 짐작하다시피, product는 이전에 등장했던 product_data 테이블의 product_id 열과 대응된다. 저 유저가 산 품목.. lightblog.tistory.co..

Backend/DB 2020.01.13