롤 토토 : 문서 : 9.5 : 롤 토토 | |||
---|---|---|---|
PostgreSQL : 문서 : 9.5 : 데이터 토토 커뮤니티 | 젠 토토 : 문서 : 9.5 : 데이터 조작 | 6 장. 와이즈 토토 조작 | 배트맨 토토 : 문서 : 9.5 : 데이터 삭제 |
이미 와이즈 토토베이스에있는 와이즈 토토 수정을 업데이트라고합니다. 개별 행, 테이블의 모든 행 또는 모든 행의 하위 집합을 업데이트 할 수 있습니다. 각 열은 별도로 업데이트 될 수 있습니다. 다른 열은 영향을받지 않습니다.
기존 행을 업데이트하려면 사용PostgreSQL : 문서 : 9.5 : 토토 베이명령. 이것은 세 가지 정보가 필요합니다 :
업데이트 할 테이블 및 열의 이름
열의 새 값
업데이트 할 행
리콜토토 베이 : 문서 : 9.5 : 데이터 정의SQL은 일반적으로 행에 고유 식별자를 제공하지 않습니다. 따라서 업데이트 할 행을 직접 지정하는 것이 항상 가능하지는 않습니다. 대신, 업데이트하려면 행이 충족 해야하는 조건을 지정합니다. 테이블에 기본 키가있는 경우 (선언 여부에 관계없이) 기본 키와 일치하는 조건을 선택하여 개별 행을 안정적으로 해결할 수 있습니다. 그래픽 데이터베이스 액세스 도구는이 사실에 의존하여 행을 개별적으로 업데이트 할 수 있습니다.
예를 들어,이 명령은 가격이 5 인 모든 제품을 10 :의 모든 제품을 업데이트합니다.
업데이트 제품 세트 가격 = 10 여기서 가격 = 5;
이것은 0, 1 또는 많은 행을 업데이트 할 수 있습니다. 행에 일치하지 않는 업데이트를 시도하는 것은 오류가 아닙니다.
그 명령을 자세히 살펴 보겠습니다. 첫 번째는 핵심 단어입니다업데이트다음 테이블 이름이 뒤 따릅니다. 평소와 같이, 테이블 이름은 스키마 자격을 얻을 수 있으며, 그렇지 않으면 경로에서 찾아옵니다. 다음은 키 단어입니다SET열 이름, 동일한 부호 및 새 열 값이 뒤 따릅니다. 새로운 열 값은 상수뿐만 아니라 스칼라 식일 수 있습니다. 예를 들어, 모든 제품의 가격을 10% 늘려면 다음을 사용할 수 있습니다.
업데이트 제품 세트 가격 = 가격 * 1.10;
보시다시피, 새 값에 대한 표현식은 행의 기존 값을 참조 할 수 있습니다. 우리는 또한 |여기서절. 생략되면 테이블의 모든 행이 업데이트되었음을 의미합니다. 그것이 존재한다면,와 일치하는 행만여기서조건이 업데이트됩니다. 에 평등 한 표시에 주목하십시오.SET절은 과제이며여기서절은 비교이지만 모호성을 생성하지는 않습니다. 물론,여기서조건이 평등 테스트 일 필요는 없습니다. 다른 많은 운영자가 가능합니다 (참조PostgreSQL : 문서 : 9.5 : 젠 토토 및 연산자). 그러나 표현은 부울 결과를 평가해야합니다.
an에서 둘 이상의 열을 업데이트 할 수 있습니다.업데이트SET절. 예를 들어:
MyTable Set a = 5, b = 3, c = 1 여기서 a 0; 업데이트