Truy vấn INSERT trong MySQL
Để chèn dữ liệu vào trong bảng MySQL, bạn sẽ cần sử dụng lệnh SQL là INSERT INTO.
Cú pháp
Cú pháp SQL cơ bản của lệnh INSERT INTO để chèn dữ liệu vào trong bảng MySQL là:
INSERT INTO ten_bang ( truong1, truong2,...truongN ) VALUES ( giatri1, giatri2,...giatriN );
Để chèn kiểu dữ liệu chuỗi, điều bắt buộc là bạn phải giữ tất cả giá trị trong các trích dẫn đơn hoặc trích dẫn kép, ví dụ: "giatri".
Ví dụ chèn dữ liệu vào bảng trong MySQL
Dưới đây là ví dụ minh họa việc sử dụng lệnh INSERT INTO để chèn dữ liệu vào trong bảng. Trong các chương trước, chúng ta đã tạo bảng sinhvienk60, bây giờ chúng ta chèn các bản ghi như sau:
INSERT INTO sinhvienk60 (ho, ten, diemthi) VALUES ("Dinh Van", "Cao", 8); INSERT INTO sinhvienk60 (ho, ten, diemthi) VALUES ("Nguyen Van", "Thanh", 9); INSERT INTO sinhvienk60 (ho, ten, diemthi) VALUES ("Nguyen Hoang", "Manh", 7.5); INSERT INTO sinhvienk60 (ho, ten, diemthi) VALUES ("Tran Van", "Nam", 10);
Trong ví dụ trên, mình đã không cung cấp mssv bởi vì tại thời điểm tạo bảng này, mình đã cung cấp tùy chọn AUTO_INCREMENT cho trường này. Vì thế, MySQL sẽ xử lý việc chèn các mssv của nó một cách tự động.
Bây giờ, nếu bạn sử dụng lệnh SELECT (sẽ được học ở chương tiếp theo) với bảng trên như sau:
SELECT * FROM sinhvienk60;
Kết quả nhận được sẽ như sau:
Chèn dữ liệu vào bảng bởi sử dụng PHP Script
Bạn có thể sử dụng cùng lệnh INSERT INTO trong SQL này trong hàm mysql_query() trong PHP để chèn dữ liệu vào bảng MySQL.
Ví dụ
Ví dụ này sẽ nhận 4 tham số từ người dùng và sau đó sẽ chèn chúng vào trong bảng MySQL.
<html> <head> <title>Chen du lieu vao bang trong MySQL</title> </head> <body> <?php if(isset($_POST['add'])) { $dbhost = 'localhost:3306'; $dbuser = 'root'; $dbpass = '123456'; $conn = mysql_connect($dbhost, $dbuser, $dbpass); if(! $conn ) { die('Khong the ket noi: ' . mysql_error()); } if(! get_magic_quotes_gpc() ) { $ho = addslashes ($_POST['ho']); $ten = addslashes ($_POST['ten']); } else { $ho = $_POST['ho']; $ten = $_POST['ten']; } $diemthi = $_POST['diemthi']; $sql = "INSERT INTO sinhvienk60 ". "(ho, ten, diemthi) ". "VALUES ". "('$ho','$ten','$diemthi')"; mysql_select_db('sinhvien'); $retval = mysql_query( $sql, $conn ); if(! $retval ) { die('Khong the nhap du lieu: ' . mysql_error()); } echo "Nhap du lieu thanh cong\n"; mysql_close($conn); } else { ?> <form method="post" action="<?php $_PHP_SELF ?>"> <table width="600" border="0" cellspacing="1" cellpadding="2"> <tr> <td width="250">Ho</td> <td> <input name="ho" type="text" id="ho"> </td> </tr> <tr> <td width="250">Ten</td> <td> <input name="ten" type="text" id="ten"> </td> </tr> <tr> <td width="250">Diem Thi</td> <td> <input name="diemthi" type="float" id="diemthi"> </td> </tr> <tr> <td width="250"> </td> <td> </td> </tr> <tr> <td width="250"> </td> <td> <input name="add" type="submit" id="add" values="Them ban ghi"> </td> </tr> </table> </form> <?php } ?> </body> </html>
Sao chép code trên trong một trình soạn thảo chẳng hạn, lưu là insert.php, bạn cần xác định các tham số $dbuser và $dbpass thích hợp (tùy theo cách bạn đã thiết lập với MySQL), sau đó, mở trình duyệt, chạy locallhost/insert.php sẽ cho kết quả như sau:
Trong khi thực hiện việc chèn dữ liệu, việc sử dụng hàm get_magic_quotes_gpc() để kiểm tra xem cấu hình hiện tại có được thiết lập cho magic quote hay không là một bước thực hành tốt. Nếu hàm này trả về false, thì sử dụng hàm addslashes() để thêm dấu gạch chéo trước các trích dẫn.
Bạn có thể đặt nhiều điều kiện xác nhận để kiểm tra xem dữ liệu đã nhập vào là chính xác hay không và từ đó có thể thực hiện các hành động phù hợp.
Đã có app VietJack trên điện thoại, giải bài tập SGK, SBT Soạn văn, Văn mẫu, Thi online, Bài giảng....miễn phí. Tải ngay ứng dụng trên Android và iOS.
Theo dõi chúng tôi miễn phí trên mạng xã hội facebook và youtube:Follow fanpage của team https://www.facebook.com/vietjackteam/ hoặc facebook cá nhân Nguyễn Thanh Tuyền https://www.facebook.com/tuyen.vietjack để tiếp tục theo dõi các loạt bài mới nhất về Java,C,C++,Javascript,HTML,Python,Database,Mobile.... mới nhất của chúng tôi.
Các bài học MySQL phổ biến khác tại VietJack: