Đúng, sai trong mysql

mysql_query doesnt support multiple queries, a way round this is to use innodb and transactions

this db class/function will accept an array of arrays of querys, it will auto check every line for affected rows in db, if one is 0 it will rollback and return false, else it will commit and return true, the call to the function is simple and is easy to read etc
----------

class MySQLDB
{
   private $connection;          // The MySQL database connection

   /* Class constructor */
   function MySQLDB[]{
      /* Make connection to database */
      $this->connection = mysql_connect[DB_SERVER, DB_USER, DB_PASS] or die[mysql_error[]];
      mysql_select_db[DB_NAME, $this->connection] or die[mysql_error[]];
   }

   /* Transactions functions */

   function begin[]{
      $null = mysql_query["START TRANSACTION", $this->connection];
      return mysql_query["BEGIN", $this->connection];
   }

   function commit[]{
      return mysql_query["COMMIT", $this->connection];
   }

   function rollback[]{
      return mysql_query["ROLLBACK", $this->connection];
   }

________số 8_______

      $this->begin[];

this db class/function will accept an array of arrays of querys, it will auto check every line for affected rows in db, if one is 0 it will rollback and return false, else it will commit and return true, the call to the function is simple and is easy to read etc
----------
0

this db class/function will accept an array of arrays of querys, it will auto check every line for affected rows in db, if one is 0 it will rollback and return false, else it will commit and return true, the call to the function is simple and is easy to read etc
----------
1

this db class/function will accept an array of arrays of querys, it will auto check every line for affected rows in db, if one is 0 it will rollback and return false, else it will commit and return true, the call to the function is simple and is easy to read etc
----------
2

this db class/function will accept an array of arrays of querys, it will auto check every line for affected rows in db, if one is 0 it will rollback and return false, else it will commit and return true, the call to the function is simple and is easy to read etc
----------
3

this db class/function will accept an array of arrays of querys, it will auto check every line for affected rows in db, if one is 0 it will rollback and return false, else it will commit and return true, the call to the function is simple and is easy to read etc
----------
4

this db class/function will accept an array of arrays of querys, it will auto check every line for affected rows in db, if one is 0 it will rollback and return false, else it will commit and return true, the call to the function is simple and is easy to read etc
----------
5

this db class/function will accept an array of arrays of querys, it will auto check every line for affected rows in db, if one is 0 it will rollback and return false, else it will commit and return true, the call to the function is simple and is easy to read etc
----------
6

this db class/function will accept an array of arrays of querys, it will auto check every line for affected rows in db, if one is 0 it will rollback and return false, else it will commit and return true, the call to the function is simple and is easy to read etc
----------
7

this db class/function will accept an array of arrays of querys, it will auto check every line for affected rows in db, if one is 0 it will rollback and return false, else it will commit and return true, the call to the function is simple and is easy to read etc
----------
8

Khi chúng ta làm công việc mysql mới, công việc tạo cơ sở dữ liệu, bảng không thể tránh khỏi. With a table, could have many column. Việc phân tích đúng các kiểu dữ liệu cho các cột rất quan trọng, bởi vì nó ảnh hướng đến cả một hệ thống. Trước khi đi vào bài viết cách tạo cơ sở dữ liệu và bảng trong mysql. Mình sẽ nêu ra đây các kiểu dữ liệu thường gặp nhất trong MYSQL

Sau đây là danh sách các kiểu dữ liệu có sẵn trong MySQL

  1. Chuỗi
  2. số
  3. Ngày giờ
  4. kiểu dữ liệu đối tượng lớn

Data String [Chuỗi hay còn gọi là văn bản]

Sau đây là các kiểu dữ liệu String trong MySQL

Type dataGiới hạnMô tảCHAR[size]Kích thước tối đa 255 ký tự. Có chiều dài cố định, có chuỗi tối đa đoạn là 255 ký tự, nếu vượt quá giới hạn cho phép, MySQL sẽ tự động cắt chuỗi. VARCHAR[size]Kích thước tối đa 255 ký tự. Có chiều dài cố định, có chuỗi tối đa đoạn là 255 ký tự, nếu vượt quá giới hạn cho phép, MySQL sẽ tự động cắt chuỗi. TINYTEXT[size]Kích thước tối đa 255 ký tự. Có chiều dài cố định, có chuỗi tối đa đoạn là 255 ký tự, nếu vượt quá giới hạn cho phép, MySQL sẽ tự động cắt chuỗi. TEXT[size]Kích thước tối đa 65.535 ký tự. Có chuỗi đa đoạn tối đa là 65,535 ký tự. MEDIUMTEXT[size]Kích thước tối đa 16,777,215 ký tự. Trong đó kích thước là số lượng ký tự để lưu trữ. LONGTEXT[size]Kích thước tối đa 4GB hoặc 4.294.967.295 ký tự. Kích thước tối đa là 4GB hoặc 4.294.967.295 ký tự. BINARY[size]Kích thước tối đa 255 ký tự. Có tối đa chuỗi đoạn là 255 ký tự,VARBINARY[size]Kích thước tối đa 255 ký tự

Có nhiều kiểu dữ liệu định dạng chuỗi, tuy nhiên theo kinh nghiệm của mình thường chúng ta sử dụng 2 dạng biên phổ biến nhất

1. Vachar

2. Chữ

Vì vậy lúc nào chúng ta sử dụng vachar lúc nào sư dụng kiểu dữ liệu là văn bản?

Một số trường hợp như các trường là tên đầy đủ, tên người dùng, mật khẩu vì số ký tự yêu cầu không quá dài nên việc lựa chọn kiểu dữ liệu vachar là hoàn toàn hợp lý.

Tuy nhiên với trường hợp như khi bạn nhập thông tin chi tiết, liên hệ thì cần phải nhập nhiều thông tin, yêu cầu ký tự lớn. Nên dùng kiểu dữ liệu là văn bản

Type data number

Sau đây là các kiểu dữ liệu số hay còn gọi là số trong MySQL

Cú pháp kiểu dữ liệuKích thước tối đa Giải pháp BITGiá trị số rất nhỏ tương đương với TINYINT [1]
Các giá trị được ký bao gồm từ -128 đến 127. Các giá trị không được định vị nằm trong khoảng từ 0 đến 255. TINYINT [ m ]Giá trị nguyên rất nhỏ
Các giá trị được ký bao gồm từ -128 đến 127. Các giá trị không được định vị nằm trong khoảng từ 0 đến 255. SMALLINT [ m ]Giá trị nguyên số nhỏ
Các giá trị được ký bao gồm từ -32768 đến 32767. Các giá trị không được đăng bao gồm từ 0 đến 65535. MEDIUMINT [ m ]Giá trị nguyên trung bình
Các giá trị đã ký bao gồm từ -8388608 đến 8388607. Các giá trị không được đăng bao gồm từ 0 đến 16777215. INT [ m ]Giá trị nguyên chuẩn
Các giá trị đã ký bao gồm từ -2147483648 đến 2147483647. Các giá trị không được đăng bao gồm từ 0 đến 4294967295. INTEGER [ m ]Giá trị nguyên chuẩn
Các giá trị đã ký bao gồm từ -2147483648 đến 2147483647. Các giá trị không được đăng bao gồm từ 0 đến 4294967295. Đây là một từ đồng nghĩa với kiểu dữ liệu INT. BIGINT [ m ]Giá trị nguyên lớn
Các giá trị được ký bao gồm từ -9223372036854775808 đến 9223372036854775807. Các giá trị Unsigned nằm trong khoảng từ 0 đến 18446744073709551615. DECIMAL [ m , d ]Số điểm cố định chưa giải phóng
Default M is 10, if not known
Default is 0, if not known. Trong đó m là tổng số và d là số chữ số sau thập phân. DEC[m,d]Số điểm chưa giải nén
Default M is 10, if not known
Default is 0, if not known. Trong đó m là tổng số và d là số chữ số sau thập phân

Đây là từ đồng nghĩa cho kiểu dữ liệu DECIMAL

NUMERIC [ m , d ]Số điểm cố định chưa giải phóng
Default M is 10, if not known
Default is 0, if not known. Trong đó m là tổng số và d là số chữ số sau thập phân

Đây là từ đồng nghĩa cho kiểu dữ liệu DECIMAL

FIXED[m,d]Số điểm chưa giải nén
Default M is 10, if not known
Default is 0, if not known. Trong đó m là tổng số và d là số chữ số sau thập phân
[Được giới thiệu trong MySQL 4. 1]Đây là một từ đồng nghĩa cho kiểu dữ liệu DECIMAL. FLOAT [ m , d ]Số điểm nổi chính xác duy nhất. Trong đó m là tổng số và d là số chữ số sau thập phân. DOUBLE [ m , d ]Số điểm trôi nổi chính xác gấp đôi. Trong đó m là tổng số và d là số chữ số sau thập phân. CHÍNH XÁC NHÂN ĐÔI[m,d]Số điểm trôi nổi chính xác gấp đôi. Trong đó m là tổng số và d là số chữ số sau thập phân

Đây là một từ đồng nghĩa cho kiểu dữ liệu DOUBLE

REAL [ m , d ]Số điểm nổi chính gấp đôi. Trong đó m là tổng số và d là số chữ số sau thập phân

Đây là một từ đồng nghĩa cho kiểu dữ liệu DOUBLE

NULL [p]Số điểm nổi. Trong đó p là chính xác độ. BOOLĐồng nghĩa với TINYINT [1] Được đối xử như kiểu dữ liệu boolean, trong đó giá trị 0 được coi là FALSE và bất kỳ giá trị nào khác được coi là TRUE. BOOLEANĐồng nghĩa với TINYINT [1]Được xử lý như kiểu dữ liệu boolean, trong đó giá trị 0 được coi là FALSE và bất kỳ giá trị nào khác được coi là TRUE

Với rất nhiều dạng dữ liệu của số thì theo mình thường khi lập trình web, chúng ta thường sử dụng kiểu dữ liệu là int. Nên if any column is numbers, thì nên chọn kiểu int là phù hợp nhé. Những kiểu dữ liệu còn lại cũng ít được sử dụng. Tuy nhiên, khá ít sử dụng

Chủ Đề