본문 바로가기

분류 전체보기208

[MySQL] SQL의 like 와 문자열 컬럼에 fulltext 설정 SQL의 like와 문자열 컬럼에 fulltext 설정 mysql 에서는 데이터를 검색하기 위해 like '% %'구문이 사용된다. 하지만 like 명령어의 경우 Full Scan 방식이기 때문에 많은 데이터를 검색할 때 비효율적이다. 이러한 단점을 극복하고자 검색 할 컬럼에 Fulltext 처리를 해준다 FULLTEXT많은 형태의 데이터가 있을 때 효율적으로 데이터를 찾는 방법중 하나이다.  컬럼에 설정하기- 해당 컬럼이 있는 테이블 설정 인덱스 탭에서 설정한다.- 인데스 이름을 정하고 타입은 FULLTEXT을 선택하고 원하는 컬럼을 선택하면 된다.- 두가지 컬럼에서 검색하고 싶다면, 한 개 더 체크해주면 된다.  !!  문자열 like로 찾는 것은 FullText를 이용하기 2024. 5. 20.
[MySQL] 화면 기획서보고 필요한 SQL문 만들기 _영화 리뷰 서비스 화면 기획서보고 필요한 SQL문 만들기 : 영화 리뷰 서비스 관련된 앱의 화면 기획서를 보고 SQL문 작성하기 [ SQL문 만들기 ]화면 기획서를 보고 테이블 생성 > 테스트 데이터 인서트 > 화면에 필요한 SQL문 작성 (클라이언트에게 전달할 데이터 가공)    1) 작성 순서 : 단일 테이블 처리 가능한 것부터 작성하고                           메인 화면처럼 여러 테이블 조인하는 것은 맨 나중에 작성한다.    2) 개발자들이 데이터 찾는 것에 문제가 없도록 해당데이터 ID는 항상 같이 넣어준다.    3) 데이터가 많을 경우 페이징 처리한다.         limit 키워드를 사용해서 페이징 처리를 한 SQL문을 만든다.    4) 서버 개발자는 데이터를 가공하지 않고 추출해서.. 2024. 5. 20.
[MySQL] UQ 설정하기 _Error Code: 1062. Duplicate entry MySQL에서 UQ 설정하기Error Code: 1062. Duplicate entry 가 나오는 이유!: 동일한 항목이 있어서 저장을 할 수 없다는 뜻이다.   Error Code: 1062 가 되도록 MySQL에서 설정하는 방법을 밑에서 알아보자. 1. 하나의 컬럼 값을 유니크하게 설정하고 싶을 경우- 고객 이메일 데이터 같은 중복되면 안 되는 항목을 설정할 때 사용한다.- 테이블 생성시 원하는 컬럼의 UQ 체크해 준다. - 설정을 완료하면 인덱스 탭에 유니크 값이 들어가 있는 것을 볼 수 있다. - 모두 확인한 다음 동일한 항목 insert 하면,   밑에 박스와 같은 오류가 뜨면 정상적으로 유니크 값이 설정된 것이다.Error Code: 1062. Duplicate entry 'abc@naver... 2024. 5. 20.
[MySQL] Foreign Keys 값 설정되어있는 데이터 삭제하기 _on delete cascade 설정 Foreign Keys 값 설정되어 있는 데이터 삭제하기 데이터 삭제하는데 문제 상황: Error Code : 1451 로 인해 삭제가 불가능하다Error Code: 1451. Cannot delete or update a parent row: a foreign key constraint fails (`yhdb`.`papers`, CONSTRAINT `papers_student_id` FOREIGN KEY (`student_id`) REFERENCES `students` (`id`))  문제 이유: 에러코드를 읽어보면, Foreign Keys 값 설정되어 있어서 삭제할 수 없다고 한다.  그 이유는 데이터를 마구잡이로 삭제하게되면 데이터의 정확성이 떨어지기 때문에,  데이터의 정확성을 위해서 프로그램이 .. 2024. 5. 16.
[MySQL] 테이블 합치기 _ join, left join, right join, 3개 이상 테이블 join 테이블을 하나로 합치기 테이블 합치기 전에 Foreign Key를 지정해야 한다.참고. https://msdev-st.tistory.com/119 [MySQL] Foreign Keys 지정해서 테이블끼리 연결하는 방법Foreign Keys 지정해서 테이블끼리 연결하는 방법 FOREIGN KEYFOREIGN KEY 제약 조건을 설정한 필드는 외래 키라고 부르며, 한 테이블을 다른 테이블과 연결해 주는 역할을 한다.외래 키가 설정된 테이블msdev-st.tistory.com  테이블을 하나로 합칠 때는 join 키워드를 사용한다.- from -- join -- on ---- 두개 테이블을 하나로 합쳐서 가져오시오.select *from ordersjoin customers on orders.customer_.. 2024. 5. 16.
[MySQL] Foreign Keys 지정해서 테이블끼리 연결하는 방법 Foreign Keys 지정해서 테이블끼리 연결하는 방법 FOREIGN KEYFOREIGN KEY 제약 조건을 설정한 필드는 외래 키라고 부르며, 한 테이블을 다른 테이블과 연결해 주는 역할을 한다.외래 키가 설정된 테이블에 레코드를 입력하면, 기준이 되는 테이블의 내용을 참조해서 레코드가 입력된다.즉, FOREIGN KEY 제약 조건은 하나의 테이블을 다른 테이블에 의존하게 만드는데 외래 키의 이 부분이 데이터의 정확성을 높여준다고 볼 수 있다.FOREIGN KEY 제약 조건을 설정할 때 참조되는 테이블의 필드는 반드시!! UNIQUE나 PRIMARY KEY 제약 조건이 설정되어 있어야 한다.참조. https://www.tcpschool.com/mysql/mysql_constraint_foreignKe.. 2024. 5. 16.