Câu lệnh INSERT trong MySQL
Trần Thị Vân
- 1117
- 13/08/2025
Chức năng của Câu lệnh INSERT trong MySQL
Câu lệnh INSERT trong MySQL được dùng để thêm dữ liệu của một hàng vào một bảng, hàng được thêm sẽ có ID mới nhất và cao hơn các ID còn lại.
Code Câu lệnh INSERT trong MySQL
insert into tb_sanpham (ten,gia) values('Micro AKG D5 S','3400000');
<?php
$dbhost = 'localhost';
$dbuser = 'webmoi_userdata'; // Tên username
$dbpass = 'xgZwEfQWE'; // Mật khẩu
// Kết nối đến tên username
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if(! $conn ){
die('Không kết nối được: ' . mysql_error());
}
// Chọn tên database
mysql_select_db('webmoi_tendata');
// Xét kiểu tiếng việt
mysql_query('SET NAMES "utf8"');
// Thêm một hàng vào một bảng
$sql ="insert into tb_sanpham (ten,gia) values('Micro AKG D5 S','3400000')";
$ketquain = mysql_query($sql,$conn);
if(!$ketquain){
die('Không thể lấy dữ liệu: ' . mysql_error());
}else{
echo "Thêm sản phẩm Micro AKG D5 S thành công!<br>";
}
echo "<b>Xem lại bảng sau khi được thêm sản phẩm</b><br>";
// Truy vấn bảng
$sql = "select id,ten,gia from tb_sanpham";
// Kết quả truy vấn trả về mảng
$ketqua = mysql_query($sql,$conn);
if(!$ketqua){
die('Không thể lấy dữ liệu: ' . mysql_error());
}
// Dùng vòng lặp để lấy ra từng hàng trong bảng
while($row = mysql_fetch_array($ketqua, MYSQL_ASSOC)){
echo
"ID: {$row['id']} <br> ".
"Tên sản phẩm: {$row['ten']} <br> ".
"Giá : {$row['gia']} <br> ".
"--------------------------------<br>";
}
// Đóng kết nối database
mysql_close($conn);
?>
Kết quả:
Thêm sản phẩm Micro AKG D5 S thành công!
Xem lại bảng sau khi được thêm sản phẩm
ID: 1
Tên sản phẩm: Dàn karaoke gia đình KTreasure FE12 thương hiệu Đức
Giá : 55000000
--------------------------------
ID: 2
Tên sản phẩm: Dàn karaoke gia đình KTreasure TD12 mới nhất
Giá : 44550000
--------------------------------
ID: 3
Tên sản phẩm: Dàn âm thanh nghe nhạc AV01
Giá : 25000000
--------------------------------
ID: 4
Tên sản phẩm: Dàn âm thanh nghe nhạc AV02
Giá : 30000000
--------------------------------
ID: 5
Tên sản phẩm: Micro Shure Beta 87A
Giá : 7000000
--------------------------------
ID: 6
Tên sản phẩm: Micro Shure SM58-LC
Giá : 2700000
--------------------------------
ID: 7
Tên sản phẩm: Micro AKG D5 S
Giá : 3400000
--------------------------------
Các cách sử dụng INSERT trong MySQL
Trong MySQL, INSERT có thể được sử dụng theo nhiều cách tùy vào nguồn dữ liệu và số lượng bản ghi cần thêm. Nắm được từng trường hợp sẽ giúp câu lệnh ngắn gọn, dễ kiểm soát và hạn chế nhập sai dữ liệu.
Thêm một bản ghi mới vào bảng
Đây là cách sử dụng phổ biến nhất khi cần thêm một bản ghi vào bảng. Bạn nên ghi rõ tên các cột muốn nhập để câu lệnh dễ đọc và tránh phụ thuộc vào thứ tự cột của bảng.
INSERT INTO users (name, email, age)
VALUES ('Nguyen Van A', 'a@example.com', 25);
Cách này phù hợp với các thao tác thêm từng dữ liệu riêng lẻ, chẳng hạn tạo tài khoản mới hoặc lưu một đơn hàng vừa phát sinh.
Thêm nhiều bản ghi cùng lúc
Khi cần thêm nhiều dòng dữ liệu, có thể đặt nhiều nhóm giá trị trong cùng một câu lệnh INSERT. Cách này giúp giảm số lần gửi truy vấn đến MySQL và thuận tiện khi nhập một tập dữ liệu nhỏ.
INSERT INTO users (name, email, age)
VALUES
('Nguyen Van A', 'a@example.com', 25),
('Tran Thi B', 'b@example.com', 28),
('Le Van C', 'c@example.com', 31);
Các giá trị trong mỗi nhóm phải tương ứng với đúng thứ tự của các cột đã khai báo. Nếu một dòng có số lượng giá trị không phù hợp, câu lệnh có thể phát sinh lỗi.
Chèn dữ liệu từ một bảng khác
Không phải lúc nào dữ liệu cũng được nhập trực tiếp bằng VALUES. Nếu cần sao chép hoặc chuyển dữ liệu từ một bảng khác, bạn có thể kết hợp INSERT INTO ... SELECT.
INSERT INTO users_archive (name, email)
SELECT name, email
FROM users
WHERE age >= 30;
Trong ví dụ trên, các bản ghi thỏa điều kiện từ bảng users sẽ được lấy và thêm vào bảng users_archive. Cách làm này hữu ích khi lưu trữ dữ liệu, tạo bảng phụ hoặc chuyển một phần dữ liệu giữa các bảng có cấu trúc phù hợp.
Chỉ định cột cần thêm dữ liệu
Bạn không nhất thiết phải cung cấp giá trị cho tất cả các cột trong bảng. Có thể chỉ định những cột cần nhập và để MySQL sử dụng giá trị mặc định cho các cột còn lại nếu chúng được thiết lập phù hợp.
INSERT INTO users (name, email)
VALUES ('Pham Van D', 'd@example.com');
Cách này đặc biệt hữu ích khi bảng có nhiều cột nhưng chỉ một số trường cần dữ liệu từ biểu mẫu hoặc ứng dụng. Việc ghi rõ tên cột cũng giúp câu lệnh dễ bảo trì hơn khi cấu trúc bảng thay đổi.
Lời kết
Cảm ơn các bạn đã tham khảo bài viết Câu lệnh INSERT trong MySQL.
Tải file database .sql về nếu muốn kiểm tra hoặc thực hành Tải về.
- 0 Bình luận
Email, Điện thoại của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *