본문 바로가기

DB

(15)
[mysql] safe update mode 설정하기 (mac)
[mysql] workbench 예기치 않게 종료되었습니다 (version) mac에서 workbench에서 select 문만 사용해도 꺼져버려... 결론 버젼문제 mac 버젼과 workbench버젼이 맞지않았다 (workbench와 target mysql 버젼이 달라도 발생! mysql버젼을 맞춰주자) 해결 내 환경에 맞는 workbench 버젼을 다운받는다!!! 현재 mac의 버젼 확인 해당 버젼과 함께 workbench 검색 많은 사람들이 해결한문제라 맞는 버젼의 workbench 다운! https://downloads.mysql.com/archives/workbench/ 해결!!! apple에서 악성 소프트웨어가 있는지 확인할 수 없기 때문에 열 수 없었습니다. 이것의 해결책은 요기! https://seyul.tistory.com/78
[oracle] 코딩테스트 대비 코딩 테스트 대비해서 정리 🤩주의🤩 답이 아무리 생각해도 맞는거 같을때 혹시 type 형이 일치하지는 않는지 확인! (e.g.) date를 String으로 출력해서 틀리는 경우 select 문의 별칭 select name 'qwe' -- X 오류! select name "qwe" -- O select name as qwe -- O select name as "qwe" -- O -- 별칭을 줄때는 큰 따옴표! substr(문자열, 시작인덱스, 끝인덱스) (시작인덱스는 포함 ,끝 인덱스는 포함x) 음수는 뒤에서부터 SELECT substr('012345',1,3) -- 012 SELECT substr('012345',-3,2) -- 34 연결 연산자 - || null 검색 - is null, is not n..
[oracle] 부분범위처리 전체범위처리 부분범위처리 전체범위처리 개념 부분범위처리 = 코스요리 요리가 될때마다 하나씩 나옴 전체범위처리 = 한상차림 한번에 빠바박! 판단 select * from emp; 언뜻 보면 전체 범위 처리가 더 맞는것 같지만 row를 하나씩 지날때마다 바로 나타낼수 있기때문에 부분범위처리이다 (보내는 사이즈는 set arraysize로 크기조절이 가능하다) select * from emp order by sal; 하나씩 조건을 맞춘다고 해도 끝에서 sal을 기준으로 정렬을 해야하기 때문에 바로 보낼수 없다 한번에 모아서 보내야한다 따라서 전체범위처리이다 다음 쇼핑몰 홈페이지를 들어간다고 가정하자 db에는 200개의 데이터 한 페이지에는 표시할수있는 데이터는 10개 1페이지를 클릭할때 10개의 데이터만 보이면된다. db..
[oracle] trim, rtrim, ltrim 단일행 함수 LTRIM( 'xxyXXxyx' , ' x') -> yXXxyx RTRIM( 'xxyXXxyx' , ' x') -> xxyXXxy TRIM( 'x' from 'xxyXXxyx' ) -> yXXxy 전부가 아니라 양옆으로 시작해서 중간 x 가 남아있다 ************* trim에는 설정 문자가 하나밖에 안들어간다. ****************************** LTRIM( 'xxyyxXXxyx' , ' xy') -> XXxyx xy 세트가 아니라 x와 y 개별적으로 검사하면서 지워간다
[oracle] number타입 NUMBER(p, s) p : precision 최대 자릿수 s : scale 소수점 기준 자릿수 선언 모두 맞는 사용법이다. 컬럼명 NUMBER 컬럼명 NUMBER(5) 컬럼명 NUMBER(5,2) 컬럼명 NUMBER(5,-1) 소수점 왼쪽 자리 주의할점!!! n2는 사이즈를 정하였고 n1는 사이즈를 정하지않았다 이때 1/3의 값을 넣으면 반환되는 값이다 크기를 출력했을때 차이가 크다는 것을 확인할수있다 사용할때 크기를 지정해서 공간을 확보하자 출처:https://blog.naver.com/gseducation/20095938837
[oracle] index (Function-Based Index) index는 실행을 더욱 빠르게 찾게해준다 테이블(또는 파일등의 저장소)에는 데이터들이 순서없이 저장되어있다 인덱스(b*tree)는 트리구조로 정렬이 되어있어 접근이 더욱 빠르다 실행계획을 보면 index를 지나는지 알수있는데 인덱스컬럼에 변형이 생기는경우 인덱스를 사용하지 못한다 (e.g.) emp table의 empno의 인덱스를 만들고 진행해보자 create index idx_emp_empno on emp(empno); 이제 empno컬럼은 인덱스를 거치게된다 아래 실행계획을 보면 index range scan이 나온다 내 쿼리문이 index를 사용했다는것이다 하지만 인덱스 컬럼에 변화를 주면 full scan 하는것을 확인할수 있다. Q. table이 아니라 index가 나오는데 index를 사용..
제 1 정규화(first Normal Form, 1NF) 과정 다음 테이블이있을때 제 1정규화 과정 조건 컬럼에 하나의값만 존재 속성에 반복되는 그룹 없애기 고유하게 식별가능 행들이 고유하게 식별가능하게 하기위해 테이블을 나눈다 식별할수 있어야하기에 다음처럼 테이블을 나눈다 (오른쪽 테이블에 id컬럼을 넣고 구별가능하게 해줘야한다) 반복을 제거한다