본문 바로가기

db2314

MySQL MYSQL에서 동적 SQL로 커서 만들기 커서를 테이블에 연 다음 모든 레코드를 반복하는 저장 프로 시저를 작성하고 있습니다. 반복 프로세스에서 첫 번째 커서의 결과를 기반으로 동적 쿼리를 만듭니다. 동적 SQL에서 커서를 열어야하는데 mysql의 공식 문서에 따르면 MySQL "커서는 핸들러를 선언하기 전에 선언해야합니다. 변수와 조건은 먼저 선언해야합니다. 커서 또는 핸들러 선언 " . 다음은 스크립트입니다. DELIMITER $$ DROP PROCEDURE IF EXISTS sp_test$$ CREATE PROCEDURE `sp_test`() BEGIN -- Declarations DECLARE prepared_sql VARCHAR(1000); DECLARE index_count INT; -- Cursors DECLARE cursor1 C.. 2020. 10. 7.
MySQL datetime where 절 쿼리 도움말 내가 가진 것은 "활성"이라는 열을 업데이트하는 쿼리입니다. 지금 내 쿼리는 다음과 같습니다. UPDATE MainTable SET active = b'0' WHERE lastprocessdate < '5/21/2011' 불행히도 이것은 모든 것을 업데이트합니다. 모든 것이 오늘 날짜가 있기 때문에 불가능합니다. lastprocessdate 는 원래 NOW () 를 사용하여 처리되는 datetime 열입니다. 해결 방법 이것을 사용하십시오 : MySQL에서 날짜는 yyyy-mm-dd 로 작성됩니다. update MainTable set active = b'0' where lastprocessdate < '2011-05-21'; 참조 페이지 https://stackoverflow.com/questions/.. 2020. 10. 7.
MySQL Import of 8GB mysql dump takes a long time mysqldump로 만든 InnoDB 테이블의 8GB MYSQL 데이터베이스 덤프가 있습니다. 다음을 사용하여 데이터를 가져옵니다. mysql -uroot -p my_db < dump.sql 한 시간 내에 5GB의 DB 덤프를 가져 왔습니다. 8GB 덤프는 50 시간이 걸리며 계산됩니다. 내가 프로세스 목록을 검사했을 때 프로세스 목록 표시; 대부분의 경우 " 'freeing items"상태로 표시되는 단일 INSERT 쿼리가있었습니다. 원시 파일을 복사하는 것 외에도 가져 오기 프로세스의 속도를 높일 수있는 방법이 있습니까? 해결 방법 실제로 비결은 가장 큰 단일 테이블이 innodb 버퍼 풀에 맞는지 확인하는 것입니다. 그렇지 않으면 삽입 (물론 가져 오기) 속도가 매우 느려집니다. 전체 데이터베이스.. 2020. 10. 7.
MySQL Group by SUM 나는 같은 테이블에 카테고리가 있습니다. 표 (cat_name, amount); cat_name 별로 그룹화 된 각 cat_name 의 amount 합계를 얻는 방법 해결 방법 SELECT cat_name, SUM(amount) AS total_amount FROM table GROUP BY cat_name 참조 페이지 https://stackoverflow.com/questions/6105767 2020. 10. 7.
MySQL 일, 주, 월, 연도 별 통계 보유를위한 데이터베이스 구조 사이트에 대한 사용자 활동의 일, 주, 월 및 연도별로 통계를 수집해야합니다. 저는 DB 디자인 단계이고 코딩 생활을 더 쉽게 할 수 있기 때문에이 단계를 제대로하고 싶었습니다. 내가해야 할 일은 활동이 발생할 때마다 DB에서 필드의 값을 1 씩 증가시키는 것입니다. 그런 다음 매일, 매주, 매달, 연도별로 날짜를 가져올 수 있습니다. 내 DB는 어떻게 구성해야합니까? 이것이 대부분의 간단한 질문이라면 사과드립니다. 이 구조를 확장하여 다른 범주로 분류 할 수 있다면 좋을 것입니다. 문제가되는 부분은 매달 더 많은 날로 구성되어 있으며 요즘은 매년 달력이 변경됩니다. 도움이나 지시에 모두 감사드립니다. 기타 정보 : Linux Machine, PHP 및 MySQL 사용 해결 방법 일, 주 등의 수를 업데.. 2020. 10. 7.
MySQL delete duplicate records but keep latest 고유 한 id 및 email 필드가 있습니다. 이메일이 중복됩니다. 모든 중복 이메일 주소를 하나만 유지하고 싶지만 최신 id (마지막으로 삽입 된 레코드)를 사용하고 싶습니다. 이것을 어떻게 달성 할 수 있습니까? 해결 방법 테이블 test 에 다음 데이터가 포함되어 있다고 가정 해보십시오. select id, email from test; ID EMAIL ---------------------- -------------------- 1 aaa 2 bbb 3 ccc 4 bbb 5 ddd 6 eee 7 aaa 8 aaa 9 eee 따라서 반복되는 모든 이메일을 찾아서 모두 삭제해야하지만 최신 ID는 삭제해야합니다. 이 경우 aaa , bbb 및 eee 가 반복되므로 ID 1, 7, 2 및 6을 삭제하려고.. 2020. 10. 7.
MySQL How to efficiently determine changes between rows using SQL 여러 센서에서 읽은 데이터가 포함 된 매우 큰 MySQL 테이블이 있습니다. 기본적으로 타임 스탬프와 값 열이 있습니다. 센서 ID를 생략하고 여기에 다른 세부 정보를 인덱싱합니다. CREATE TABLE `data` ( `time` datetime NOT NULL, `value` float NOT NULL ) value 열은 거의 변경되지 않으며 이러한 변경이 발생하는 시점을 찾아야합니다. 매분 값이 있다고 가정하면 다음 쿼리가 필요한 것을 정확하게 반환합니다. SELECT d.*, (SELECT value FROM data WHERE time 2020. 10. 7.
MySQL에서 자동 증가 형식을 0001로 설정하려면 어떻게해야합니까? MySQL 자동 증가를 4 자리 형식으로 만들려면 어떻게해야합니까? 그래서 '1'대신 '0001'을 만드시겠습니까? 해결 방법 필드에 ZEROFILL 속성을 추가해보십시오. 참조 페이지 https://stackoverflow.com/questions/611340 2020. 10. 7.
MySQL PHP MySQL LOAD DATA INFILE 도움말 이 쿼리가 제대로 작동하지 않는 것 같습니다. 기본적으로 양식에서 csv를 가져 와서 데이터베이스에로드하려고합니다. phpmyadmin에서 대부분의 쿼리를 가져 왔습니다. 임시 파일을 사용해야합니까? 여기있어... 2020. 10. 7.
MySQL mysql count the sum of all rows 여러 행이있는 mysql 테이블이 있고 각 행에는 "value"라는 필드가 있습니다. the field value will differ from row to row. 내가 원하는 것은 모든 행을 선택하고 모든 "값"필드의 합계를 계산하는 것입니다. 어떤 생각? 해결 방법 이런 뜻인가요? SELECT SUM(value) FROM myTable 반환 할 열이 여러 개인 경우 GROUP BY 절에 각 비 집계 (즉, 합계) 행을 추가하기 만하면됩니다. SELECT firstName, lastName, SUM(value) FROM myTable GROUP BY firstName, lastName 참조 페이지 https://stackoverflow.com/questions/6131197 2020. 10. 7.