MySQL에서 삭제문은 데이터베이스에서 레코드를 삭제하는 데 사용되는 명령입니다. 데이터베이스에서 불필요한 기록을 정리하여 데이터를 보다 효과적으로 관리하는 데 도움이 될 수 있습니다. MySQL의 삭제 문은 매우 유연하며 다양한 구문과 옵션을 사용하여 다양한 삭제 작업을 완료할 수 있습니다. 이 문서에서는 이러한 옵션과 삭제 문을 올바르게 사용하는 방법을 자세히 살펴보겠습니다.
기본 구문
MySQL의 삭제 문의 기본 구문은 다음과 같습니다.
DELETE FROM table_name WHERE condition;
로그인 후 복사
위치:
table_name은 데이터를 삭제할 테이블의 이름을 지정합니다. table_name 指定要删除数据的表名。
DELETE FROM table_name WHERE condition LIMIT number;
로그인 후 복사
其中:
table_name 和 condition 与前面介绍的一样。
number
condition은 삭제할 레코드를 지정하는 데 사용되는 선택적 매개변수입니다. 이 매개변수를 생략하면 테이블의 모든 레코드가 삭제됩니다.
예: 다음과 같은 데이터가 포함된 "students"라는 테이블이 있다고 가정해 보겠습니다.
앨리스
20
여성
2
Bob22
남성
3
Cindy
18
여성
4
David
21
남성
To 이 테이블에서 20세 미만의 모든 학생 기록을 삭제하려면 다음 명령을 사용할 수 있습니다.
DELETE FROM orders ORDER BY amount DESC LIMIT 3;
로그인 후 복사
삭제 작업을 수행한 후 테이블의 내용은 다음과 같습니다:
id
name
age
성별
1
앨리스
20
여성2
Bob
22
남성
4
David21
남성
TRUNCATE 문을 사용하여 테이블의 모든 데이터를 빠르게 삭제하세요.
어떤 경우에는 테이블의 일부만 삭제하는 대신 테이블의 모든 데이터를 빠르게 지워야 할 수도 있습니다. 이를 위해 MySQL은 한 번의 작업으로 테이블의 모든 데이터를 완전히 삭제할 수 있는 TRUNCATE라는 문을 제공합니다. TRUNCATE는 로깅 없이 테이블의 데이터를 직접 삭제하므로 롤백이 필요하지 않기 때문에 DELETE 문보다 빠릅니다.
TRUNCATE 문의 구문은 다음과 같습니다.
CREATE TABLE customers (
id INT PRIMARY KEY,
name VARCHAR(50)
);
CREATE TABLE orders (
id INT PRIMARY KEY,
customer_id INT,
order_date DATE,
amount DECIMAL(10, 2),
FOREIGN KEY (customer_id) REFERENCES customers(id) ON DELETE CASCADE
);
로그인 후 복사
예:
앞서 언급한 "students" 테이블의 모든 데이터를 빠르게 지우려면 다음 명령을 사용할 수 있습니다.
DELETE FROM customers WHERE id = 3;
로그인 후 복사
실행 후 테이블은 더 이상 데이터가 포함되어 있지 않습니다.
LIMIT 문을 사용하여 삭제되는 행 수를 제어하세요데이터를 삭제할 때 테이블에서 전체 행을 삭제하는 대신 특정 수의 행만 삭제하고 싶을 때가 있습니다. 이때 LIMIT 문을 이용하여 삭제할 행 개수를 지정할 수 있다. LIMIT 문은 SELECT 문과 유사하며 삭제되는 행 수를 제어하기 위해 DELETE 문에 추가될 수 있습니다.
LIMIT 문의 구문은 다음과 같습니다.
rrreee
여기서:
table_name 및 condition은 이전에 소개한 것과 동일합니다.
number는 삭제할 행 수를 지정합니다.
예:
다음과 같은 데이터가 포함된 "orders"라는 테이블이 있다고 가정합니다.
2020-01-01
🎜앨리스🎜🎜100🎜🎜🎜🎜2🎜🎜2020-01-02🎜🎜Bob🎜🎜200🎜🎜🎜🎜3🎜🎜2020-01-03🎜 🎜C 인디🎜🎜150🎜🎜🎜🎜4 🎜🎜2020 -01-04 0david🎜🎜300🎜🎜🎜🎜300🎜🎜🎜🎜5🎜🎜22020-01-05 elizabeth🎜🎜250🎜🎜🎜🎜🎜 "주문"테이블에서 가장 높은 금액을 가진 세 가지 주문을 삭제합니다. 다음 명령을 사용할 수 있습니다: 🎜rrreee🎜실행 후 테이블은 다음과 같습니다: 🎜🎜🎜🎜🎜id🎜🎜order_date🎜🎜customer🎜🎜amount🎜🎜🎜🎜🎜🎜1🎜🎜2020-01-01 🎜🎜앨리스🎜 🎜100🎜🎜🎜🎜3🎜🎜2020-01-03🎜🎜Cindy🎜🎜150🎜🎜🎜🎜🎜CASCADE 옵션을 사용하여 하위 테이블 레코드 삭제🎜🎜MySQL에서는 외래 키를 사용하여 관계형 데이터베이스 간의 연결을 설정하는 경우가 많습니다. 외래 키를 사용하면 테이블 간 연결을 설정하여 테이블 간 공동 쿼리 및 삭제를 구현할 수 있습니다. 한 테이블의 특정 레코드를 삭제하고 관련된 다른 테이블의 관련 레코드도 삭제해야 하는 경우 CASCADE 옵션을 사용할 수 있습니다. 🎜🎜CASCADE 옵션은 MySQL에서 일반적으로 사용되는 계단식 삭제 작업입니다. 지정된 테이블의 레코드와 관련된 다른 테이블을 자동으로 찾아 해당 테이블의 모든 관련 레코드를 삭제합니다. CASCADE 옵션은 삭제 작업을 수행할 때 수행해야 하는 작업을 지정하기 위해 외래 키와 조합해서만 사용할 수 있습니다. 🎜🎜다음 테이블 구조의 경우: 🎜rrreee🎜"고객" 테이블에서 ID가 3인 레코드와 관련 "주문" 테이블의 모든 레코드를 삭제하려면 다음 명령을 사용할 수 있습니다. 🎜rrreee🎜삭제 작업은 ID 3 고객 기록으로 기록을 삭제하고 관련된 모든 주문 기록을 자동으로 삭제합니다. 🎜🎜요약🎜🎜위에서 언급했듯이 MySQL의 delete 문을 사용하면 데이터베이스의 레코드를 쉽게 삭제할 수 있습니다. 삭제 문의 기본 구문에는 DELETE, TRUNCATE 및 LIMIT 문이 포함됩니다. 이러한 옵션을 유연하게 사용하면 데이터 작업을 빠르고 안전하게 처리할 수 있습니다. 참고: 삭제 문을 사용할 때 중요한 데이터를 실수로 삭제하거나 손실하지 않도록 조건과 옵션을 주의 깊게 확인하세요. 🎜
위 내용은 삭제 명령문 mysql의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
전체 테이블 스캔은 MySQL에서 인덱스를 사용하는 것보다 빠를 수 있습니다. 특정 사례는 다음과 같습니다. 1) 데이터 볼륨은 작습니다. 2) 쿼리가 많은 양의 데이터를 반환 할 때; 3) 인덱스 열이 매우 선택적이지 않은 경우; 4) 복잡한 쿼리시. 쿼리 계획을 분석하고 인덱스 최적화, 과도한 인덱스를 피하고 정기적으로 테이블을 유지 관리하면 실제 응용 프로그램에서 최상의 선택을 할 수 있습니다.
예, MySQL은 Windows 7에 설치 될 수 있으며 Microsoft는 Windows 7 지원을 중단했지만 MySQL은 여전히 호환됩니다. 그러나 설치 프로세스 중에 다음 지점이 표시되어야합니다. Windows 용 MySQL 설치 프로그램을 다운로드하십시오. MySQL의 적절한 버전 (커뮤니티 또는 기업)을 선택하십시오. 설치 프로세스 중에 적절한 설치 디렉토리 및 문자를 선택하십시오. 루트 사용자 비밀번호를 설정하고 올바르게 유지하십시오. 테스트를 위해 데이터베이스에 연결하십시오. Windows 7의 호환성 및 보안 문제에 주목하고 지원되는 운영 체제로 업그레이드하는 것이 좋습니다.
InnoDB의 전체 텍스트 검색 기능은 매우 강력하여 데이터베이스 쿼리 효율성과 대량의 텍스트 데이터를 처리 할 수있는 능력을 크게 향상시킬 수 있습니다. 1) InnoDB는 기본 및 고급 검색 쿼리를 지원하는 역 색인화를 통해 전체 텍스트 검색을 구현합니다. 2) 매치 및 키워드를 사용하여 검색, 부울 모드 및 문구 검색을 지원합니다. 3) 최적화 방법에는 워드 세분화 기술 사용, 인덱스의 주기적 재건 및 캐시 크기 조정, 성능과 정확도를 향상시키는 것이 포함됩니다.
클러스터 인덱스와 비 클러스터 인덱스의 차이점은 1. 클러스터 된 인덱스는 인덱스 구조에 데이터 행을 저장하며, 이는 기본 키 및 범위별로 쿼리에 적합합니다. 2. 클러스터되지 않은 인덱스는 인덱스 키 값과 포인터를 데이터 행으로 저장하며 비 예산 키 열 쿼리에 적합합니다.
MySQL은 오픈 소스 관계형 데이터베이스 관리 시스템입니다. 1) 데이터베이스 및 테이블 작성 : CreateAbase 및 CreateTable 명령을 사용하십시오. 2) 기본 작업 : 삽입, 업데이트, 삭제 및 선택. 3) 고급 운영 : 가입, 하위 쿼리 및 거래 처리. 4) 디버깅 기술 : 확인, 데이터 유형 및 권한을 확인하십시오. 5) 최적화 제안 : 인덱스 사용, 선택을 피하고 거래를 사용하십시오.
MySQL 및 MariaDB는 공존 할 수 있지만주의해서 구성해야합니다. 열쇠는 각 데이터베이스에 다른 포트 번호와 데이터 디렉토리를 할당하고 메모리 할당 및 캐시 크기와 같은 매개 변수를 조정하는 것입니다. 연결 풀링, 애플리케이션 구성 및 버전 차이도 고려해야하며 함정을 피하기 위해 신중하게 테스트하고 계획해야합니다. 두 개의 데이터베이스를 동시에 실행하면 리소스가 제한되는 상황에서 성능 문제가 발생할 수 있습니다.
MySQL 데이터베이스에서 사용자와 데이터베이스 간의 관계는 권한과 테이블로 정의됩니다. 사용자는 데이터베이스에 액세스 할 수있는 사용자 이름과 비밀번호가 있습니다. 권한은 보조금 명령을 통해 부여되며 테이블은 Create Table 명령에 의해 생성됩니다. 사용자와 데이터베이스 간의 관계를 설정하려면 데이터베이스를 작성하고 사용자를 생성 한 다음 권한을 부여해야합니다.
MySQL은 B-Tree, Hash, Full-Text 및 Spatial의 4 가지 인덱스 유형을 지원합니다. 1.B- 트리 색인은 동일한 값 검색, 범위 쿼리 및 정렬에 적합합니다. 2. 해시 인덱스는 동일한 값 검색에 적합하지만 범위 쿼리 및 정렬을 지원하지 않습니다. 3. 전체 텍스트 색인은 전체 텍스트 검색에 사용되며 다량의 텍스트 데이터를 처리하는 데 적합합니다. 4. 공간 지수는 지리 공간 데이터 쿼리에 사용되며 GIS 응용 프로그램에 적합합니다.