2010-01-04 65 views
21

Có vẻ như INSERTUPDATE cũng làm như vậy với tôi.Sự khác nhau giữa INSERT và UPDATE trong MySQL là gì?

Có trường hợp nào tôi nên sử dụng INSERT thay vì UPDATE và ngược lại không?

+0

Nếu bạn thực sự tin rằng: 1) Tạo bảng, 2) lập tức chạy câu lệnh UPDATE 3) SELECT * từ bảng. –

Trả lời

33

Trong CRUD operations, INSERT là 'C' và UPDATE là 'U'. Chúng là hai trong bốn chức năng cơ bản của lưu trữ liên tục. Hai loại còn lại là SELECTDELETE. Không có ít nhất bốn hoạt động này, một hệ thống cơ sở dữ liệu điển hình không thể được coi là hoàn chỉnh.

Sử dụng INSERT để chèn bản ghi mới.

Sử dụng UPDATE để cập nhật bản ghi hiện có.

+7

Tại sao bạn không thể chèn vào một bản ghi hiện có. Có lẽ SQL không cho phép nó, nhưng chúng không tương đương với cùng một thứ? – ZL1Corvette

31

Bạn không thể CẬP NHẬT hàng không có trong bảng.

Bạn không thể INSERT một hàng đã có trong bảng.

+0

Điều gì sẽ xảy ra nếu bạn cần thêm dữ liệu vào cột có thể có hoặc không có dữ liệu? Có chế độ chèn cưỡng bức hay một số loại INSERT-UPDATE hybrid không? – Tom

+0

Bạn có thể cập nhật hàng nếu nó trống. Tôi vừa làm. – Luka

4

Chèn là để thêm dữ liệu vào bảng, cập nhật là để cập nhật dữ liệu đã có trong bảng.

0

Chèn để đặt bản ghi mới vào bảng. trong khi bản cập nhật cho phép bạn sửa đổi bản ghi được chèn, ví dụ: sửa đổi kiểu dữ liệu, vv ..

0

Chèn có thể hữu ích để chèn bản ghi mới vào hàng BLANK. Trong khi Cập nhật có thể được sử dụng để cập nhật hàng KHÔNG PHẢI.

1

Một tuyên bố UPDATE có thể sử dụng điều khoản WHERE nhưng không thể INSERT.

Các vấn đề liên quan