Database
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Database

CẬP NHẬT SQL cho người mới bắt đầu

Bài viết này chứa UPDATE cơ bản của SQL câu lệnh mà người mới bắt đầu có thể sử dụng để cập nhật dữ liệu trong bảng cơ sở dữ liệu của họ.

Cập nhật một cột duy nhất

Đây là một ví dụ cơ bản về UPDATE trong SQL tuyên bố.

UPDATE Owners
SET LastName = 'Stallone'
WHERE OwnerId = 3;

Trong trường hợp này, chúng tôi đã cập nhật giá trị của một cột duy nhất được gọi là LastName .

UPDATE câu lệnh bắt đầu bằng UPDATE , theo sau là tên bảng (tức là bảng chứa dữ liệu bạn muốn cập nhật).

Sau đó, nó có SET từ khóa, theo sau là cột bạn muốn cập nhật và giá trị mới, được phân tách bằng dấu bằng (= ) toán tử.

Bạn phải luôn bao gồm WHERE , trừ khi bạn muốn cập nhật tất cả các hàng có cùng giá trị.

Bạn đã đọc đúng. Bỏ qua WHERE mệnh đề sẽ cập nhật tất cả các hàng có cùng giá trị.

Hầu hết các Hệ thống quản lý cơ sở dữ liệu (DBMS) đều có nhiều tùy chọn khác mà bạn có thể sử dụng với UPDATE nhưng những câu được liệt kê ở đây là những câu được sử dụng phổ biến nhất.

Cập nhật nhiều cột

Để cập nhật nhiều cột, hãy phân tách từng cặp cột / giá trị bằng dấu phẩy.

UPDATE Owners
SET LastName = 'Stallone',
    Email = '[email protected]'
WHERE OwnerId = 3;

Ví dụ

Trong ví dụ này, chúng tôi cập nhật một bảng.

Trước hết, hãy chọn nội dung của bảng.

SELECT * FROM Owners;

Kết quả:

+-----------+-------------+------------+----------------+-------------------+
| OwnerId   | FirstName   | LastName   | Phone          | Email             |
|-----------+-------------+------------+----------------+-------------------|
| 1         | Homer       | Connery    | (308) 555-0100 | [email protected] |
| 2         | Bart        | Pitt       | (231) 465-3497 | [email protected]  |
| 3         | Nancy       | Simpson    | (489) 591-0408 | NULL              |
| 4         | Boris       | Trump      | (349) 611-8908 | NULL              |
| 5         | Woody       | Eastwood   | (308) 555-0112 | [email protected] |
+-----------+-------------+------------+----------------+-------------------+

Nancy Simpson gần đây đã kết hôn và đã thay đổi họ của mình, vì vậy chúng tôi sẽ cập nhật Simpson tới Stallone .

Bây giờ, hãy cập nhật cột đó, sau đó chọn lại bảng.

UPDATE Owners
SET LastName = 'Stallone'
WHERE OwnerId = 3;

SELECT * FROM Owners;

Kết quả:

+-----------+-------------+------------+----------------+-------------------+
| OwnerId   | FirstName   | LastName   | Phone          | Email             |
|-----------+-------------+------------+----------------+-------------------|
| 1         | Homer       | Connery    | (308) 555-0100 | [email protected] |
| 2         | Bart        | Pitt       | (231) 465-3497 | [email protected]  |
| 3         | Nancy       | Stallone   | (489) 591-0408 | NULL              |
| 4         | Boris       | Trump      | (349) 611-8908 | NULL              |
| 5         | Woody       | Eastwood   | (308) 555-0112 | [email protected] |
+-----------+-------------+------------+----------------+-------------------+

Chúng tôi có thể thấy rằng cột đã được cập nhật như đã chỉ định.

Cập nhật nhiều cột

Dưới đây là một ví dụ về cập nhật nhiều cột.

UPDATE Owners
SET LastName = 'Biden',
    Email = '[email protected]'
WHERE OwnerId = 4;

SELECT * FROM Owners;

Kết quả:

+-----------+-------------+------------+----------------+-------------------+
| OwnerId   | FirstName   | LastName   | Phone          | Email             |
|-----------+-------------+------------+----------------+-------------------|
| 1         | Homer       | Connery    | (308) 555-0100 | [email protected] |
| 2         | Bart        | Pitt       | (231) 465-3497 | [email protected]  |
| 3         | Nancy       | Stallone   | (489) 591-0408 | NULL              |
| 4         | Boris       | Biden      | (349) 611-8908 | [email protected] |
| 5         | Woody       | Eastwood   | (308) 555-0112 | [email protected] |
+-----------+-------------+------------+----------------+-------------------+

Trong trường hợp này, chúng tôi đã cập nhật họ và địa chỉ email của chủ sở hữu 4.

Thận trọng! Quên WHERE Mệnh đề

UPDATE tuyên bố có thể là một tuyên bố rất nguy hiểm nếu bạn không giữ trí thông minh của mình về bạn. Nếu bạn bỏ qua WHERE điều khoản, bạn sẽ cập nhật tất cả hàng trong bảng.

Hãy làm lại ví dụ trước, nhưng lần này chúng ta sẽ quên bao gồm WHERE mệnh đề.

UPDATE Owners
SET LastName = 'Stallone';

SELECT * FROM Owners;

Kết quả:

+-----------+-------------+------------+----------------+-------------------+
| OwnerId   | FirstName   | LastName   | Phone          | Email             |
|-----------+-------------+------------+----------------+-------------------|
| 1         | Homer       | Stallone   | (308) 555-0100 | [email protected] |
| 2         | Bart        | Stallone   | (231) 465-3497 | [email protected]  |
| 3         | Nancy       | Stallone   | (489) 591-0408 | NULL              |
| 4         | Boris       | Stallone   | (349) 611-8908 | NULL              |
| 5         | Woody       | Stallone   | (308) 555-0112 | [email protected] |
+-----------+-------------+------------+----------------+-------------------+

Giáo sư! Giờ họ của mọi người là Stallone!

Trên thực tế, có thể có những lúc bạn định cập nhật tất cả các hàng trong bảng, nhưng những lần đó thường khá hiếm.

Khi bạn đang chạy các truy vấn đặc biệt, bạn có thể muốn chạy một SELECT nhanh câu lệnh sử dụng cùng một điều kiện của UPDATE của bạn hoạt động trước khi thực sự chạy UPDATE hoạt động.

SELECT * FROM Owners
WHERE OwnerId = 4;

Kết quả:

+-----------+-------------+------------+----------------+-------------------+
| OwnerId   | FirstName   | LastName   | Phone          | Email             |
|-----------+-------------+------------+----------------+-------------------|
| 4         | Boris       | Biden      | (349) 611-8908 | [email protected] |
+-----------+-------------+------------+----------------+-------------------+

Điều đó cho chúng ta thấy hàng chính xác sẽ được cập nhật. Khi chúng tôi hài lòng rằng nó trả về đúng hàng, chúng tôi có thể tiếp tục và sử dụng chính WHERE đó mệnh đề trong UPDATE tuyên bố.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Thiết lập con cơ sở dữ liệu - Cách sử dụng IRI Voracity

  2. Salesforce SOQL từ Java

  3. Tạo số nguyên ngẫu nhiên mà không có xung đột

  4. SQL giữa toán tử

  5. Tối ưu hóa cơ sở dữ liệu:Chỉ mục