본문 바로가기
728x90

MySQL17

[MySQL] 맥북 MySQL 설치(homebrew) 포스팅 목차 1. Homewbrew 설치 2. 터미널창 열기 3. Homebrew업데이트 4. mysql설치 5. mysql 보안 적용 명령어 입력 6. mysql 실행법 7. 평상시 mysql 실행/종료 법 8. 참고 블로그 1. Homebrew설치 Homebrew홈페이지 주소: https://brew.sh 1. Homebrew설치 명령어 복사 네모박스안에 있는 명령어를 복사하면 된다. 복사는 빨간색 동그라미안에 있는 버튼을 누르면 자동 복사 된다. 2. 복사한 명령어 터미널에 붙여넣기 터미널이 어디있는지 모르겠다면 바탕화면에서 command + spacebar => Spotlight검색 => "터미널" 검색 3. 설치 소요시간 및 다음 단계 설치하는데 약 5분~10분 걸려요!!! 한쪽에 실행시켜놓고 .. 2022. 4. 13.
[mysql][문제해결] You are using safe update mode 문제 발생 해결 방법 에러현상 Mysql에서 특정한 sql을 실행을 하는데, 아래와 같은 에러가 리턴됨. Error Code: 1175. You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column To disable safe mode, toggle the option in Preferences -> SQL Editor and reconnect. 에러원인 테이블에서 키값을 이용한 update나 delete만을 허용하도록 되어 있는데, 그렇지 않게 좀더 넓은 범위의 sql을 적용하려고 할때 workbench에서 경고를 주는것임. 즉 하나의 레코드만을 update, delete하도록 설정.. 2022. 2. 22.
MySQL null값을 유의하자 select * from board ${field} like '%${query}%' and categoryName = #{categoryName} categoryName like '%${categoryName}%' and nickName like '%%' nickName = #{nickName} and channelName like '%%' channelName = #{channelName} and pub = #{pub} order by ${order} ${desc} limit #{offset}, #{size} 지금은 해결 했으나 에러의 발단은 1. 쿼리 문 작성 중에 channelName 컬럼 기본 값은 null -> '' 로 변경 . 즉 공백값 2. 그 후 쿼리문에서는 channelName의 null.. 2022. 2. 19.
그룹별 상위 5개 가져오기 참고 1 : UNION ALL을 배움 답변 다음을 사용하여이를 수행하는 한 가지 방법이 있습니다 UNION ALL( Demo with SQL Fiddle 참조 ). 그룹이 두 개 이상인 경우 두 그룹으로 작업 할 수 있습니다. 그룹 group수 를 지정하고 각 그룹에 대해 쿼리를 추가해야합니다 group. ( select * from mytable where `group` = 1 order by age desc LIMIT 2 ) UNION ALL ( select * from mytable where `group` = 2 order by age desc LIMIT 2 ) http://daplus.net/mysql-%EA%B0%81-%EA%B7%B8%EB%A3%B9%ED%99%94-%EB%90%9C-%EA%.. 2022. 2. 18.
MySQL table과 view 차이 뷰(VIEW) 데이터베이스에 존재하는 일종의 가상 테이블로, 실제 행과 열을 가지고 있지만 데이터를 저장하고 있지는 않다. 즉 테이블처럼 물리적으로 저장되어 있는 것은 아니다. (자주 사용하는 뷰인 경우, 물리적으로 저장되도록 하는 기능도 있긴 있음) 뷰에서는 다른 테이블이나 다른 뷰에 저장되어 있는 데이터를 보여주는 역할만을 수행한다. 뷰의 장점 사용자에게 높은 편의성을 제공한다. (한번 저장해두면 계속 재활용할 수 있음) 데이터 수요에 알맞은 다양한 구조의 데이터 분석 기반을 구축할 수 있다. (기존의 테이블 구조를 건드리지 않음) 데이터 보안을 제공한다. (WHERE절로 특정 row들만 보여주는 뷰를 보여주는 등 특정 정보들만 보여준다. DBMS의 사용자별 권한 관리 기능을 통해 데이터 분석가가 테.. 2022. 2. 10.
식별관계(Identifying Relationship)과 비식별관계(Non Identifying Relationship)출처: https://linuxism.ustd.ip.or.kr/512 [linuxism] ER-Win을 쓰다보면.. Identifying Relationship과 Non-Identifying Relationship이 있는데.. A 테이블이 Parent 이고, B테이블이 Child 라고 할 때 B에서의 FK(즉 A와 B를 연결해 주는 컬럼, A의 PK) 가 B의 PK이냐 아니냐에 따라 Idendifying 이냐 아니냐 결정이 됩니다. 이것이 무슨 의미냐 하면, Identifying Relationship 이면 B테이블은 A테이블에 종속적이 되어서 A의 값이 없으면 B의 값은 무의미해지는 반면, 반대로 Non-Identifying Relationship 이면 A의 값이 없더라도 B의 값은 독자적으로 의미를 가지겠죠. 혹 이것이 Mandatory 냐 Optional 이냐 이것하고 혼돈을 하실수 있.. 2022. 1. 28.
MySQL 8.x Quick Start 04 - 테이블 관계 제약조건 걸기 다시 리버스 다음다음다음다음 ~ 누르고 이상태로 시작하는데 Notice가 첫글자 대문자였는데 강제로 소문자로 되어 있다. 테이블 추가 member는 1대 다의 관계이다 이럴때는 다에 해당하는 notice table을 먼저 클릭하고 1에 해당하는 member 테이블을 클릭해주자 좌측에 1:n 선긋는 기능 이용하여 그음 notice테이블의 member_id를 memberId로 변경 테이블 추가 1:n 두번 notice_id -> noticeId member_id -> memberId role추가 n:m으로 role클릭 후 member클릭 하면 이렇게 된다 방금 생긴 테이블 언더 바 부분 소대문자로 변경 그냥 써도 되는데 나중에 매핑할때 습관?틀?때문에 바꾸는듯? 이제 이 관계가 mydb에 있으니 newlec.. 2022. 1. 17.
728x90