MySQL 업데이트 세트에는 예제가 있습니다. MySQL 쿼리를 업데이트하세요. 매개변수 또는 인수
DELETE 키워드는 무엇입니까?
SQL DELETE 명령은 데이터베이스 테이블에서 더 이상 필요하지 않은 행을 삭제하는 데 사용됩니다. 테이블에서 전체 행을 삭제합니다. 삭제 명령은 데이터베이스에서 임시 또는 사용되지 않는 데이터를 삭제하는 데 유용합니다. DELETE 명령은 단일 쿼리로 테이블에서 두 개 이상의 행을 삭제할 수 있습니다. 이는 데이터베이스 테이블에서 많은 수의 행을 제거할 때 이점이 있는 것으로 입증되었습니다.
행이 삭제되면 복구할 수 없습니다. 따라서 데이터베이스에서 데이터를 삭제하기 전에 데이터베이스 백업을 만드는 것이 좋습니다. 이를 통해 데이터베이스를 복원하고 나중에 필요한 경우 데이터를 볼 수 있습니다.
삭제 명령 구문
삭제 명령의 기본 구문은 다음과 같습니다.
- DELETE FROM `table_name`은 MySQL 서버에 테이블에서 행을 제거하도록 지시합니다.
- 선택 사항이며 DELETE 쿼리의 영향을 받는 행 수를 제한하는 필터를 배치하는 데 사용됩니다.
DELETE 쿼리에서 WHERE 절을 사용하지 않으면 해당 테이블의 모든 행이 삭제됩니다. DELETE 명령에 대해 더 자세히 논의하기 전에 작업할 영화 테이블에 몇 가지 샘플 데이터를 삽입해 보겠습니다.
INSERT INTO `movies` (`title`, `director`, `year_released`, `category_id`) VALUES ("The Great Dictator", "Chalie Chaplie", 1920, 7); INSERT INTO `movies` (`title`, `director`, `category_id`) VALUES ("샘플 영화", "익명", 8); INSERT INTO 영화(`제목`, `감독`, `출시 연도`, `카테고리_ID`) VALUES("영화 3", "존 브라운", 1920, 8);
위 스크립트를 실행하면 영화 테이블에 3개의 영화가 추가됩니다. 수업을 더 진행하기 전에 테이블에 모든 영화를 가져와 보겠습니다. 아래에 표시된 스크립트가 이를 수행합니다.
SELECT * '영화'에서;
영화_ID | 일 | 감독 | 연도_출시 | 카테고리_ID |
---|---|---|---|---|
1 | 캐리비안의 해적 4 | 롭 마샬 | 2011 | 1 |
2 | 사라 마샬을 잊어버림 | 니콜라스 스톨러 | 2008 | 2 |
3 | X 남자 | 없는 | 2008 | 없는 |
4 | 코드네임 블랙 | 에드가 짐즈 | 2010 | 없는 |
5 | 아빠의 어린 소녀들 | 없는 | 2007 | 8 |
6 | 천사와 악마 | 없는 | 2007 | 6 |
7 | 다빈치 코드 | 없는 | 2007 | 6 |
9 | 허니 문너스 | 존 슐츠 | 2005 | 8 |
16 | 67% 유죄 | 없는 | 2012 | 없는 |
18 | 위대한 독재자 | 찰리 채플리 | 1920 | 7 |
19 | 샘플 영화 | 익명의 | 없는 | 8 |
20 | 영화 3 | 존 브라운 | 1920 | 8 |
Myflix 비디오 라이브러리가 더 이상 "The Great Dictator"를 회원에게 대여하지 않고 데이터베이스에서 제거하기를 원한다고 가정해 보겠습니다. 해당 영화 ID는 18이며 아래에 표시된 스크립트를 사용하여 해당 행을 삭제할 수 있습니다. 영화 테이블에서.
Myflix에 대해 MySQL WorkBench에서 위 스크립트를 실행하면 데이터베이스 테이블에서 ID가 18인 영화가 삭제됩니다.
영화 테이블의 현재 상태를 살펴보겠습니다.
SELECT * '영화'에서;
영화_ID | 제목 | 감독 | 연도_출시 | 카테고리_ID |
---|---|---|---|---|
1 | 캐리비안의 해적 4 | 롭 마샬 | 2011 | 1 |
2 | 사라 마샬을 잊어버림 | 니콜라스 스톨러 | 2008 | 2 |
3 | X 남자 | 없는 | 2008 | 없는 |
4 | 코드네임 블랙 | 에드가 짐즈 | 2010 | 없는 |
5 | 아빠의 어린 소녀들 | 없는 | 2007 | 8 |
6 | 천사와 악마 | 없는 | 2007 | 6 |
7 | 다빈치 코드 | 없는 | 2007 | 6 |
9 | 허니 문너스 | 존 슐츠 | 2005 | 8 |
16 | 67% 유죄 | 없는 | 2012 | 없는 |
19 | 샘플 영화 | 익명의 | 없는 | 8 |
20 | 영화 3 | 존 브라운 | 1920 | 8 |
- ID가 18인 영화가 쿼리 결과 집합에 반환되지 않았습니다.
- 테이블의 단일 열을 삭제할 수 없습니다. 전체 행을 삭제할 수 있습니다.
삭제하려는 영화 목록이 있다고 가정하면 IN과 함께 WHERE 절을 사용할 수 있습니다.
위 스크립트를 실행하면 영화 테이블에서 ID가 20과 21인 영화가 삭제됩니다.
업데이트 명령이 무엇인가요?
업데이트 명령은 테이블의 행을 수정하는 데 사용됩니다. 업데이트 명령을 사용하면 단일 필드 또는 여러 필드를 동시에 업데이트할 수 있습니다. 또한 다른 테이블의 값으로 테이블을 업데이트하는 데에도 사용할 수 있습니다.
명령 구문 업데이트
SQL Update 명령의 기본 구문은 다음과 같습니다.
- UPDATE `table_name`은 MySQL에게 테이블의 데이터를 업데이트하도록 지시하는 명령입니다.
- SET `column_name` = `new_value"는 업데이트 쿼리의 영향을 받는 필드의 이름과 값입니다. 참고로 업데이트 값을 설정할 때 문자열 데이터 유형은 작은따옴표로 묶어야 합니다. 숫자 값은 필요하지 않습니다. 날짜 데이터 유형은 작은따옴표로 묶어야 하며 "YYYY-MM-DD" 형식이어야 합니다.
- 선택 사항이며 UPDATE 쿼리의 영향을 받는 행 수를 제한하는 필터를 넣는 데 사용할 수 있습니다.
이제 회원 테이블의 데이터를 업데이트하는 실제 예를 살펴보겠습니다. 회원의 회원 번호 1과 2의 데이터 레코드가 다음과 같이 업데이트된다고 가정해 보겠습니다.
회원번호 | 업데이트 필요 |
1 | 전화번호를 999에서 0759 253 532로 변경했습니다. |
2 | 이름을 Janet Smith Jones로 변경하고 실제 주소를 Melrose 123으로 업데이트해야 합니다. |
데이터를 업데이트하기 전에 먼저 회원 번호 1에 대한 업데이트부터 시작하겠습니다. 회원 번호 1에 대한 기록을 검색해 보겠습니다. 아래 표시된 스크립트는 이를 수행하는 데 도움이 됩니다.
위 스크립트를 실행하면 다음과 같은 결과가 나옵니다.
회원_번호 | 전체 이름 | 성별 | 생일 | 물리적_주소 | 우편 주소 | 연락처_번호 | 이메일 |
---|---|---|---|---|---|---|---|
1 | 자넷 존스 | 여성 | 21-07-1980 | 첫 번째 거리 플롯 번호 4 | 개인 가방 | 999 |
이제 아래 표시된 스크립트를 사용하여 연락처 번호를 업데이트하겠습니다.
위 스크립트를 실행하면 회원번호 1의 연락처가 999에서 0759 253 532로 업데이트됩니다. 이제 업데이트 스크립트를 실행한 후 회원번호 1의 기록을 살펴보겠습니다.
위 스크립트를 실행하면 다음과 같은 결과가 나옵니다.
회원_번호 | 전체 이름 | 성별 | 생일 | 물리적_주소 | 우편 주소 | 연락처_번호 | 이메일 |
---|---|---|---|---|---|---|---|
1 | 자넷 존스 | 여성 | 21-07-1980 | 첫 번째 거리 플롯 번호 4 | 개인 가방 | 0759 253 542 | 이 이메일 주소는 스팸봇으로부터 보호됩니다. 보려면 JavaScript를 활성화해야 합니다. |
이제 회원번호 2에 필요한 업데이트를 살펴보겠습니다.
회원_번호 | 전체 이름 | 성별 | 생일 | 물리적_주소 | 우편 주소 | 연락처_번호 | 이메일 |
---|---|---|---|---|---|---|---|
2 | 스미스 존스 | 여성 | 23-06-1980 | 파크 스트리트 | 없는 | 없는 | 이 이메일 주소는 스팸봇으로부터 보호됩니다. 보려면 JavaScript를 활성화해야 합니다. |
다음 스크립트는 이를 수행하는 데 도움이 됩니다.
위 스크립트를 실행하면 회원 번호 2의 전체 이름이 Janet Smith Jones로 업데이트되고 실제 주소가 Melrose 123으로 업데이트됩니다.
회원_번호 | 전체 이름 | 성별 | 생일 | 물리적_주소 | 우편 주소 | 연락처_번호 | 이메일 |
---|---|---|---|---|---|---|---|
2 | 자넷 스미스 존스 | 여성 | 23-06-1980 | 멜로즈 123 | 없는 | 없는 | 이 이메일 주소는 스팸봇으로부터 보호됩니다. 보려면 JavaScript를 활성화해야 합니다. |
요약
- 삭제 명령은 테이블에서 더 이상 필요하지 않은 데이터를 제거하는 데 사용됩니다.
- "WHERE 절"은 DELETE 쿼리의 영향을 받는 행 수를 제한하는 데 사용됩니다.
- 한번 삭제된 데이터는 복구가 불가능하므로 삭제 전 반드시 백업을 해두실 것을 권장합니다.
- 업데이트 명령은 기존 데이터를 수정하는 데 사용됩니다.
- "WHERE 절"은 UPDATE 쿼리의 영향을 받는 행 수를 제한하는 데 사용됩니다.
MySQL에서 데이터를 변경하거나 업데이트해야 하는 경우 SQL UPDATE 명령을 사용하여 작업할 수 있습니다. ,
문법
다음은 MySQL 시트 데이터 일반 SQL 구문을 변경하는 UPDATE 명령입니다.
UPDATE table_name SET field1=새 값1, field2=새 값2
- 동시에 하나 이상의 필드를 업데이트할 수 있습니다.
- WHERE 절에 어떤 조건이라도 지정할 수 있습니다.
- 별도의 테이블에서 데이터를 업데이트할 수도 있습니다.
테이블 행에 지정된 데이터를 업데이트해야 할 때 INEKE는 매우 유용합니다.
데이터 업데이트 명령줄
아래에서는 SQL UPDATE 명령을 사용하여 데이터 테이블에 지정된 w3big_tbl을 업데이트합니다.
예
다음 예에서는 데이터 테이블을 w3big_title w3big_id 필드 값 3으로 업데이트합니다.
# mysql -u 루트 -p 비밀번호; 비밀번호 입력:****** mysql> w3big 사용; 데이터베이스 변경 mysql> UPDATE w3big_tbl -> SET w3big_title="Learning JAVA" -> WHERE w3big_id=3; Query OK, 1 row affected (0.04 sec) Rows matched: 1 Changed: 1 Warnings: 0 mysql> !}PHP 스크립트를 사용하여 데이터 업데이트
mysql_query()를 사용하여 SQL 문을 실행하는 PHP 함수는 SQL UPDATE 문을 사용하거나 INEKE가 적용되지 않습니다.
MySQL> 명령줄에서 이 함수가 SQL 문을 실행하는 효과는 동일합니다.
예
다음 예에서는 w3big_title 3 필드의 w3big_id 데이터를 업데이트합니다.
업데이트 tbl_name SET col_name1=expr1 [, col_name2=expr2, ...]
UPDATE 문은 기존 테이블 행의 새 값으로 열을 업데이트합니다. SET 문은 수정해야 할 열과 그 열에 어떤 값을 설정해야 하는지를 지정합니다. WHERE 절이 있는 경우 업데이트할 행을 지정합니다. 그렇지 않으면 모든 행이 업데이트됩니다. ORDER BY 표현식이 지정되면 행은 지정된 순서대로 업데이트됩니다.
LOW_PRIORITY 키워드가 지정되면 다른 클라이언트가 테이블 읽기를 완료할 때까지 이 UPDATE 명령의 실행이 지연됩니다.
IGNORE 키워드가 지정되면 업데이트에서 중복 키 오류가 발생하더라도 업데이트 명령이 중단되지 않습니다. 충돌을 일으키는 행은 업데이트되지 않습니다.
tbl_name 인수로 지정된 표현식에서 열에 액세스하면 UPDATE 명령은 해당 열의 현재 값을 사용합니다. 예를 들어 다음 명령은 age 열을 현재 값보다 1 큰 값으로 설정합니다.
Mysql> UPDATE persondata SET age=age+1;
UPDATE 명령은 왼쪽에서 오른쪽으로 값을 할당합니다. 예를 들어 다음 명령은 age 열을 복제한 다음 이를 증가시킵니다.
Mysql> UPDATE persondata SET 연령=나이*2, 나이=나이+1;
열이 현재 값으로 설정되면 MySQL은 이를 인식하고 업데이트하지 않습니다.
UPDATE 명령은 실제로 변경된 행 수를 반환합니다. MySQL 버전 3.22 이상에서는 C API 함수 mysql_info()가 발견되어 업데이트된 행 수와 UPDATE 실행 시 발생한 경고 수를 반환합니다.
MySQL 버전 3.23에서는 LIMIT #을 사용하여 지정된 수의 행만 수정되었는지 확인할 수 있습니다.
이 MySQL 튜토리얼에서는 MySQL을 사용하는 방법을 설명합니다. 업데이트 문구문과 예제가 포함되어 있습니다.
통사론
가장 간단한 형태로, MySQL에서 한 테이블을 업데이트할 때 UPDATE 문의 구문은 다음과 같습니다.
UPDATE 테이블 SET 컬럼1 = 표현식1, 컬럼2 = 표현식2, ... ;
그러나 하나의 테이블을 업데이트할 때 MySQL UPDATE 문의 전체 구문은 다음과 같습니다.
UPDATE [ LOW_PRIORITY ] [ IGNORE ] 테이블 SET 컬럼1 = 표현식1, 컬럼2 = 표현식2, ... ] ;
MySQL에서 한 테이블을 다른 테이블의 데이터로 업데이트할 때 UPDATE 문의 구문은 다음과 같습니다.
UPDATE table1 SET 컬럼1 = (SELECT 표현식1 FROM table2 WHERE 조건) ;
여러 테이블을 업데이트할 때 MySQL UPDATE 문의 구문은 다음과 같습니다.
UPDATE table1, table2, ... SET 컬럼1 = 표현식1, 컬럼2 = 표현식2, ... WHERE table1.column = table2.column AND 조건;
매개변수 또는 인수
LOW_PRIORITY 선택사항. LOW_PRIORITY가 제공되면, LOW_PRIORITY에서 읽는 프로세스가 없을 때까지 업데이트가 지연됩니다. 테이블. LOW_PRIORITY는 테이블 수준 잠금을 사용하는 MyISAM, MEMORY 및 MERGE 테이블과 함께 사용할 수 있습니다. 무시 선택사항. IGNORE를 제공하면 업데이트 중에 발생한 모든 오류가 무시됩니다. 행 업데이트로 인해 기본 키 또는 고유 인덱스가 위반되는 경우 해당 행에 대한 업데이트가 수행되지 않습니다. 컬럼1, 컬럼2 업데이트하려는 열입니다. 표현식1, 표현식2에 할당할 새 값 열 1, 열 2. 그래서 열 1 표현식1, 열 2의 값이 할당될 것입니다. 표현식2, 등등. WHERE 조건 선택사항. 업데이트를 실행하기 위해 충족해야 하는 조건입니다. ORDER BY 표현식 선택사항. 업데이트할 레코드 수를 제한할 때 레코드를 적절하게 정렬하기 위해 LIMIT와 함께 사용할 수 있습니다. LIMIT개 number_rows 선택사항. LIMIT가 제공되면 테이블에서 업데이트할 최대 레코드 수를 제어합니다. 최대로 지정된 레코드 수는 다음과 같습니다. number_rows테이블에 업데이트됩니다.예 - 단일 열 업데이트
매우 간단한 MySQL UPDATE 쿼리 예제를 살펴보겠습니다.
고객 업데이트 SET last_name = "Anderson" WHERE customer_id = 5000;
이 MySQL 업데이트 예제는 성"앤더슨"에게 고객테이블이 있는 곳은 고객 ID 5000입니다.
예 - 여러 열 업데이트
단일 UPDATE 문으로 둘 이상의 열을 업데이트하려는 MySQL UPDATE 예제를 살펴보겠습니다.
업데이트 고객 SET 상태 = "캘리포니아", customer_rep = 32 WHERE customer_id > 100;
여러 열을 업데이트하려면 열/값 쌍을 쉼표로 구분하면 됩니다.
상태"캘리포니아"와 고객_대표 32까지 고객 ID 100보다 큽니다.
예 - 다른 테이블의 데이터로 테이블 업데이트
MySQL의 다른 테이블의 데이터로 테이블을 업데이트하는 방법을 보여주는 UPDATE 예제를 살펴보겠습니다.
고객 업데이트
SET 도시 = (도시 선택
공급업체로부터
공급자.공급자_이름 = 고객.고객_이름)
여기서 customer_id > 2000;
이 UPDATE 예는 고객모든 레코드에 대한 테이블 고객 ID 2000보다 큽니다. 공급 업체 이름~로부터 공급업체테이블이 일치합니다 고객 이름~로부터 고객테이블, 도시공급자 테이블의 내용이 도시필드의 고객테이블.
예 - 여러 테이블 업데이트
단일 UPDATE 문에 둘 이상의 테이블이 포함된 업데이트를 수행하려는 MySQL UPDATE 예제를 살펴보겠습니다.
업데이트 고객, 공급업체 SETcustomer.city=공급업체.cityWHEREcustomer.customer_id=공급업체.supplier_id;
이 MySQL UPDATE 문 예제는 도시필드의 고객테이블에 도시~로부터 공급업체테이블이 있는 곳은 고객 ID일치 공급자_ID.
이 튜토리얼에서는 다음을 사용하는 방법을 배웁니다. MySQL 업데이트 문구문과 예제가 포함되어 있습니다.
설명
MySQL 업데이트 문 MySQL 데이터베이스 테이블의 기존 레코드를 업데이트하는 데 사용됩니다. 수행하려는 업데이트 유형에 따라 UPDATE 문에 대한 세 가지 구문이 있습니다.
통사론
MySQL에서 단일 테이블을 업데이트할 때 UPDATE 문에 대한 간단한 형식의 구문은 다음과 같습니다.
이제 단일 테이블을 업데이트할 때 MySQL UPDATE 문의 전체 구문은 다음과 같습니다.
또는
MySQL에서 한 테이블을 다른 테이블의 데이터로 업데이트할 때 UPDATE 문의 구문은 다음과 같습니다.
또는
여러 테이블을 업데이트할 때 UPDATE 문의 MySQL 구문은 다음과 같습니다.
매개변수 또는 인수
LOW_PRIORITY - 선택 사항입니다. LOW_PRIORITY를 지정하면 테이블에서 읽는 프로세스가 없을 때까지 업데이트가 지연됩니다. LOW_PRIORITY는 테이블 수준 잠금을 사용하는 MyISAM, MEMORY 및 MERGE 테이블과 함께 사용할 수 있습니다.
무시 - 선택 사항입니다. IGNORE를 제공하면 업데이트 중에 발생한 모든 오류가 무시됩니다. 행 업데이트가 기본 키나 고유 인덱스를 위반하는 경우 해당 행 업데이트는 실패합니다.
컬럼1, 컬럼2는 업데이트하려는 열입니다.
표현식1, 표현식2 - 컬럼1, 컬럼2를 할당하기 위한 새로운 값. 따라서 컬럼1에는 표현식1의 값이 할당되고, 컬럼2에는 표현식2의 값이 할당되는 식입니다.
WHERE 조건 - 선택 사항입니다. 업데이트가 발생하기 위해 충족해야 하는 조건입니다.
ORDER BY 표현식 - 선택사항입니다. 업데이트할 레코드 수를 제한하면서 레코드를 적절하게 정렬하기 위해 LIMIT와 함께 사용할 수 있습니다.
LIMIT개 행 - 선택사항입니다. LIMIT를 지정하면 테이블에서 업데이트할 최대 레코드 수를 제어합니다. number_rows 파일에 지정된 최대 레코드 수가 테이블에 업데이트됩니다.
하나의 열을 업데이트하는 예
MySQL UPDATE 쿼리의 매우 간단한 예를 살펴보겠습니다.
이 MySQL 예에서 UPDATE는 customer_id = 500인 고객 테이블의 last_name 필드를 'Ford'로 업데이트했습니다.
여러 열 업데이트의 예
단일 UPDATE 문을 사용하여 둘 이상의 열을 업데이트할 수 있는 MySQL UPDATE 예제를 살펴보겠습니다.
여러 열을 업데이트하려면 열/값 쌍을 쉼표로 구분하면 됩니다.
이 예제 MySQL UPDATE 문은 상태를 'Nevada'로, customer_rep을 23으로 업데이트했습니다. 여기서 customer_id는 200보다 큽니다.
다른 테이블의 데이터로 테이블을 업데이트하는 예
MySQL의 다른 테이블의 데이터로 테이블을 업데이트하는 방법을 보여주는 UPDATE 예제를 살펴보겠습니다.
MySQL
이 UPDATE 예는 customer_id가 5000보다 큰 모든 레코드에 대해 고객 테이블만 업데이트합니다. 공급자 테이블의 공급자_이름이 고객 테이블의 고객_이름과 일치하면 공급자 테이블의 도시가 고객 테이블의 도시 필드에 복사됩니다.