Nội dung chính
Mục tiêu chính của các cơ sở dữ liệu chính là lưu trữ dữ liệu dưới dạng bảng. Dữ liệu thường được cung cấp bởi các chương trình ứng dụng chạy trên cơ sở dữ liệu. Để đạt được điều đó, SQL có câu lệnh INSERT được sử dụng dùng để lưu trữ dữ liệu vào bảng. Hay nói cách khác, lệnh INSERT tạo thành một hàng mới trong bảng để lưu trữ dữ liệu.
Dưới đây là cú pháp cơ bản của câu lệnh INSERT INTO:
Trong đó:
Khi cung cấp các giá trị dữ liệu được chèn vào trong bảng mới, chúng ta cần xem xét những điều sau đây trong khi xử lý các loại dữ liệu khác nhau:
Để hiểu rõ và luyện tập tốt hơn phần này, bạn nên tải dữ liệu myflix DB để thực hiện chạy trong MySQL
https://drive.google.com/uc?export=download&id=0B_vqvT0ovzHccjhtdGlrZ0MtZ0k
Giả sử chúng ta có danh sách các thành viên thư viện mới sau đây cần được thêm vào cơ sở dữ liệu:
Chúng ta sẽ chèn dữ liệu cho từng người một, bắt đầu với Leonard Hofstadter. Trong trường hợp chúng ta xem số liên lạc là kiểu dữ liệu số (numeric) và không đặt chúng trong dấu nháy đơn:
Thực hiện câu lệnh trên sẽ bỏ mất số 0 trong số liên lạc của Leonard. Điều này xảy ra là do số liên lạc được xem là giá trị số (numeric) nên số 0 ở đầu bị loại bỏ vì nó không có ý nghĩa.
Để tránh những vấn đề trên, giá trị số liên lạc cần phải được đặt trong dấu nháy đơn như câu lệnh ở dưới đây:
Trong trường hợp trên, số 0 sẽ không bị loại bỏ.
Lưu ý là thay đổi thứ tự của các cột sẽ không ảnh hưởng đến câu truy vấn INSERT, miễn là các giá trị chính xác đã được ánh xạ đến các cột chính xác.
Câu truy vấn dưới đây chứng minh điều ở trên:
Câu lệnh trên đã bỏ qua cột ngày sinh “Date of Birth”. Vì vậy theo mặc định, MySQL sẽ chèn các giá trị NULL vào các cột được bỏ qua trong truy vấn INSERT.
Tiếp theo chúng ta chèn bản ghi cho Leslie có ngày sinh được cung cấp. Giá trị ngày phải được đặt trong dấu nháy đơn với định dạng ‘YYYY-MM-DD’.
Tất cả các truy vấn trên đã chỉ định các cột và ánh xạ chúng thành các giá trị trong câu lệnh INSERT. Nếu chúng ta đang cung cấp giá trị cho tất cả các cột trong bảng, thì chúng ta có thể bỏ qua khai báo các cột khỏi truy vấn INSERT.
Ví dụ:
Sử dụng câu lệnh SELECT để xem tất cả các hàng trong bảng members:
SELECT * FROM `members`;
Lưu ý rằng số liên lạc của Leonard đã mất đi số 0 ở đầu trong khi các số liên lạc khác thì không bị mất số 0 đầu tiên.
Câu lệnh INSERT INTO có thể chèn dữ liệu từ một bảng này sang bảng khác với cú pháp cơ bản sau đây:
Giả sử chúng ta muốn tạo một bảng giả cho các danh mục phim cho mục đích trình diễn. Tên gọi của bảng danh mục mới sẽ là categories_archive. Sử dụng truy vấn dưới đây:
Chạy câu lệnh trên sẽ giúp tạo bảng mới.
Tiếp theo chúng ta sẽ chèn tất cả các hàng từ bảng categories vào bảng categories_archive :
Lưu ý rằng cấu trúc của hai bảng phải giống nhau để tập lệnh hoạt động.
Một tập lệnh mạnh hơn là tập lệnh ánh xạ các tên cột trong bảng chèn vào các tập lệnh trong bảng chứa dữ liệu. Câu truy vấn dưới đây sẽ cho thấy việc sử dụng nó :
Chạy câu lệnh SELECT:
Kết quả sẽ hiện ra như sau:
Các bạn có thể tham khảo thêm các bài viết khác về cách sử dụng MySQL:
Hướng dẫn sử dụng câu lệnh SELECT trong MySQL qua các ví dụ
Nội dung liên quan