MySQL 24

MySQL에서 지정된 텍스트가 포함된 필드를 쿼리하려면 어떻게 해야 합니까?

MySQL에서 지정된 텍스트가 포함된 필드를 쿼리하려면 어떻게 해야 합니까? SELECT stuff REGEXP 'itunes' as is_itunes; 이 MySQL 쿼리에서 "stuff"에 "itunes"라는 단어가 포함되어 있으면 itunes로 표시됩니다. 하지만, 저는 "시작"이라고 말하고 싶습니다.텍스트의 아무 곳도 아닌 "시작"을 확인하려면 어떻게 해야 합니까?SELECT ... WHERE stuff LIKE 'itunes%'; 여기서%와일드카드 문자로 사용되므로 행과 일치합니다.stuff다음 중 하나와 동일한 필드itunes,itunesfoo,itunes1, ... 자세한 정보: W3 학교의 SQL LIKE 운영자.캐럿 기호를 추가합니다. 캐럿 기호는 문자열의 시작을 나타냅니다. SELECT..

programing 2023.07.28

MySQL 성능 - "IN" 절 vs.단일 값에 대해 동일(=)

MySQL 성능 - "IN" 절 vs.단일 값에 대해 동일(=) 이 질문에는 이미 다음과 같은 답이 있습니다. 하나의 리터럴 값을 갖는 동일(=)과 IN 사이의 성능 차이 (6개 답변) 마감됨5년 전에. 이것은 꽤 간단한 질문이고 저는 대답이 "상관없다"라고 생각하지만 어쨌든 저는 질문을 해야 합니다. PHP로 구축된 일반적인 sql 문: $sql = 'SELECT * FROM `users` WHERE `id` IN(' . implode(', ', $object_ids) . ')'; 사전 유효성 검사($object_ids하나 이상의 항목과 모든 숫자 값을 가진 배열입니다.) 대신 다음을 수행해야 합니까? if(count($object_ids) == 1) { $sql = 'SELECT * FROM `use..

programing 2023.07.23

MySQL InnoDB: 'FOR UPDATE'와 'LOCK IN SHARE MODE'의 차이점

MySQL InnoDB: 'FOR UPDATE'와 'LOCK IN SHARE MODE'의 차이점 두 개의 잠금 판독 절 사이의 정확한 차이는 무엇입니까? SELECT ... FOR UPDATE 그리고. SELECT ... LOCK IN SHARE MODE 그리고 왜 하나를 다른 하나보다 더 사용해야 합니까?저는 그 둘 사이의 차이점을 이해하려고 노력해 왔습니다.다음 사람에게 도움이 되기를 바라며 제가 찾은 것을 문서화하겠습니다. 둘다요.LOCK IN SHARE MODE그리고.FOR UPDATE다른 트랜잭션이 선택한 행을 업데이트할 수 없는지 확인합니다.두 가지 차이점은 데이터를 읽는 동안 잠금을 처리하는 방법에 있습니다. LOCK IN SHARE MODE다른 트랜잭션이 잠긴 동일한 행을 읽는 것을 방지하..

programing 2023.07.23

도커 컨테이너에서 SQL 스크립트 실행 중

도커 컨테이너에서 SQL 스크립트 실행 중 mysql을 실행하는 도커 컨테이너가 있는데 컨테이너에 .sql 파일을 푸시한 다음 mysql이 그 안에 있는 명령을 실행하도록 하고 싶습니다.첫 번째 단계는 매우 간단합니다. docker cp ./dummy.sql :/ 여기서 명령줄에서 mysql을 실행하여 방금 컨테이너에 푸시한 파일을 가리킵니다. docker exec mysql -u root -ppassword < /dummy.sql 이 명령은 컨테이너가 아닌 로컬에서 /sample.sql을 stdin으로 사용하려고 하는 것 같습니다.저는 또한 컨테이너 ID 뒤에 인용문을 붙여봤는데 역시 작동하지 않는 것 같습니다. 또한 명령어가 들어 있는 .sh 파일을 도커 컨테이너에 푸시한 다음 실행하려고 했지만, 그..

programing 2023.07.23