Công ty thiết kế website chuẩn SEO Web Mới
Tìm kiếm
Công ty thiết kế website chuẩn SEO Web Mới

Giá trị NULL trong MySQL

Giá trị NULL trong MySQL được dùng để tạo những cột trong bảng, những cột đó có thể cho phép NULL hoặc không cho phép NULL, chi tiết như nào hãy cùng chúng tôi phân tích:

Giá trị NULL trong MySQL

Giá trị NULL trong MySQL

Chức năng của Giá trị NULL trong MySQL

Giá trị NULL trong MySQL được dùng để tạo những cột trong bảng, những cột đó có thể cho phép NULL hoặc không cho phép NULL, nếu không có phép NULL thì khi insert dữ liệu cột đó phải được chèn, những cột có giá trị NULL thì chúng ta có thể WHERE IS NULL nó để lấy dữ liệu.

Giá trị NULL trong CREATE TABLE

<?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"');
   
  // CREATE TABLE `tb_nhanvien`
   echo "<b>CREATE TABLE `tb_nhanvien`</b><br>";
   $sql ="CREATE TABLE `tb_nhanvien` (
  `id` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
  `ten` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL,
  `tuoi` int(11) DEFAULT 0,
  `luong` bigint(20) DEFAULT 0,
  `gioitinh` tinyint(1) DEFAULT 0,
  `noidung` longtext CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci,
  `title` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL,
  `description` text CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL
  ) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci;
  ";
  //Cột id (NOT NULL): không cho phép null, mặt định là không
  // Cột ten (NOT NULL): không cho phép null, mặt định là không
  // Cột tuoi(DEFAULT 0,cột NULL Không để gì): cho phép NULL, mặc định là 0
  // Cột luong(DEFAULT 0,cột NULL Không để gì): cho phép NULL, mặc định là 0
  // Cột gioitinh(DEFAULT 0,cột NULL Không để gì): cho phép NULL, mặc định là 0
  // Cột noidung(để trống): Mặt định là NULL, cho phép NULL
  // Cột title (DEFAULT NULL): Mặt định là NULL, cho phép NULL
  // Cột description (DEFAULT NULL): Mặt định là NULL, cho phép NULL
   $ketquamot = mysql_query($sql,$conn);
   if(!$ketquamot){
	  die('Không thể tạo bảng: ' . mysql_error());  
   }else{
	  echo "Tạo tb_nhanvien thành công!"; 
   } 
   // Đóng kết nối database
   mysql_close($conn);
?>

Kết quả:

CREATE TABLE `tb_nhanvien`
Tạo tb_nhanvien thành công!

Giá trị NULL trong Câu lệnh INSERT

Không chèn dữ liệu cho cột NOT NULL trong lệnh INSERT

<?php
   $dbhost = 'localhost';
   $dbuser = 'admin_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('admin_tendata');
   // Xét kiểu tiếng việt 
   mysql_query('SET NAMES "utf8"');
   // Không chèn dữ liệu cho cột NOT NULL trong lệnh INSERT
   $sql ="insert into tb_nhanvien (tuoi,luong,gioitinh,noidung,title,description) values('35','20000000','1','Đang cập nhật','title nhân viên','description nhân viên')";
   $ketquain = mysql_query($sql,$conn);
   if(!$ketquain){
	  die('Không thể insert: ' . mysql_error());  
   }else{
	  echo "insert thành công!<br>"; 	   
   }
   // Đóng kết nối database
   mysql_close($conn);
?>

Kết quả:

Không thể insert: Field 'ten' doesn't have a default value

Không insert được bởi vì cột ten không cho phép NULL.

Không chèn dữ liệu cho cột cho phép NULL trong lệnh INSERT

<?php
   $dbhost = 'localhost';
   $dbuser = 'admin_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('admin_tendata');
   // Xét kiểu tiếng việt 
   mysql_query('SET NAMES "utf8"');
   // Không chèn dữ liệu cho cột cho phép NULL trong lệnh INSERT
   $sql ="insert into tb_nhanvien (ten) values('Bùi Tấn Lực')";
   $ketquain = mysql_query($sql,$conn);
   if(!$ketquain){
	  die('Không thể insert: ' . mysql_error());  
   }else{
	  echo "insert thành công!<br>"; 	   
   }
   // Đóng kết nối database
   mysql_close($conn);
?>

Kết quả:

insert thành công!

Cột tuoi, luong, gioitinh mặc định không chèn sẽ có giá trị là 0, cột noidung, title, description mặc định không chèn sẽ có giá trị NULL, những cột này cho phép NULL và có mặc định.

Lệnh WHERE IS NULL đối với Giá trị NULL

<?php
   $dbhost = 'localhost';
   $dbuser = 'admin_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('admin_tendata');
   // Xét kiểu tiếng việt 
   mysql_query('SET NAMES "utf8"');
   // Lệnh WHERE IS NULL đối với Giá trị NULL
   echo "<b>Lệnh WHERE IS NULL đối với Giá trị NULL</b><br>";
   $sql ="select ten,title from tb_nhanvien where title IS NULL";
   $ketquamot = mysql_query($sql,$conn);
   if(!$ketquamot){
	  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($ketquamot, MYSQL_ASSOC)){
		 echo "ten: {$row['ten']} <br> ".
         "title: {$row['title']} <br> ".
         "--------------------------------<br>";
   }	
   // Đóng kết nối database
   mysql_close($conn);
?>

Kết quả:

Lệnh WHERE IS NULL đối với Giá trị NULL
ten: Bùi Tấn Lực
title:
--------------------------------

Lệnh này dùng để tìm những cột có giá trị NULL.

Lời kết

Cảm ơn các bạn đã tham khảo bài viết Giá trị NULL trong MySQL.

  • 0 Bình luận
Content Trần Ngọc Thanh
Trần Ngọc Thanh
Content Trần Ngọc Thanh là người viết content có kinh nghiệm nhiều năm tại Web Mới, chuyên viết content bên lĩnh vực website và nhiều lĩnh vực khác
Chia sẻ nội dung đánh giá của bạn về Giá trị NULL trong MySQL
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 *
Đánh giá của bạn
Tên *
Email
Số điện thoại *
Bình luận, Hỏi đáp
Đăng ký tư vấn miễn phí
Tìm hiểu 1 năm không bằng lắng nghe 1 câu tư vấn
Kiến thức PHP
Kiến thức về website
Kiến thức SEO website
0398.259.259