MySQL là hệ
thống cơ sở dữ liệu quan hệ. Ý nghĩa cơ bản của MySQL là nó có thể lưư trữ
thông tin ở những vùng khác nhau và liên kết chúng lại với nhau. Chúng ta có
thể chứa bất cứ thứ gì trong một cơ sở dữ liệu. Ví dụ như những thông tin liên
quan đến một người: chẳng hạn như first name, last name, address, phone….
MySQL cho phép
bạn tạo những thông tin riêng lẻ trên bảng hoặc những khu vực chứa thông tin
thích hợp. Trong MySQL mỗi bảng bao gồm những trường dữ liệu (field) riêng lẻ.
Trong phần này chúng ta sẽ tìm hiểu sâu hơn về cơ sở dữ liệu MySQL và mối quan hệ của PHP và MySQL, Tài liệu tham khảo tại website: http://daotaolaptrinh.edu.vn
1. Cấu trúc MySQL
Bởi vì MySQL
là hệ quản lý dữ liệu quan hệ, nó cho
phép chúng ta tạo những bảng thông tin riêng, hoặc những vùng thông tin thích
hợp. Trong hệ thống cơ sở dữ liệu không quan hệ, tất cả những thông tin được
lưu trữ trong một bảng lớn tạo nên những
khó khăn trong việc sắp xếp và chỉ có thể chép dữ liệu mà bạn muốn. Trong SQL,
mỗi bảng bao gồm những phần riêng biệt,
biểu diễn mỗi thông tin.
Bạn có thể tạo
ra cơ sở dựa trên những loại thông tin mà bạn lưu trữ. Những bảng riêng biệt
của MySQL liên kết với nhau nơi mà giá trị của vùng phổ biến là như nhau.
Ví dụ: Cho
rằng bảng bao gồm tên khách hàng, địa chỉ và số ID, bảng khác bao gồm số ID,
nơi ở, ….Vùng chung là số ID, thông tin được lưu trữ trong hai bảng riêng biệt
sẽ liên kết với nhau nơi mà số ID là như nhau. Điều này cho chúng ta thông tin
về khách hàng cùng lúc.
2. Các kiểu dữ liệu
Khi bạn tạo
một bảng ban đầu, bạn cần nói với MySQL server kiểu nào của thông tin sẽ lưu
trữ trong mỗi bảng. Các kiểu khác nhau được cho trong bảng sau:
Loại MySQL
|
Diễn tả
|
Ví dụ
|
Char(length)
|
Mọi ký tự đều có thể là
loại này, nhưng có chiều dài cố định
|
Trạng thái của khách
hàng có 2 ký tự
|
Varchar(length)
|
Mỗi ký tự đều có thể
trong loại này, dữ liệu có thể thay đổi chiều dài từ 0 đến 255 ký tự.
|
Địa chỉ của khách hàng
có chữ và số, thay đổi trong chiều dài
|
Int(length)
|
Có chiều dài từ
-2147483648 đến 2147483647.
|
Số sản phẩm trao tay
|
Int(length)
unsigned
|
Lưu trữ số từ 0 đến 4294967295.
|
ID khách hàng
|
Text
|
Kích thước dữ liệu là
65536 ký tự.
|
Cho phép đoạn text dài
hơn được lưu trữ, không có loại giới hạn đến 255 ký tự.
|
Decimal(length, dec)
|
Có thể lưu trữ số thập
phân
|
Giá cả
|
Enum(“option1”, “option2”,..
|
Lưu trữ giá trị chắc
chắn như đúng hoặc sai
|
Giới tính của người dùng
nam hoặc nữ
|
Date
|
Lưu trữ ngày như
yyyy-mm-dd
|
Ngày sinh nhật,…
|
Time
|
Lưu trữ giờ như hh:mm:ss
|
Giờ một hoạt động mới
được đưa vào trang Web
|
Datetime
|
Lưu trữ ngày và giờ như
yyyy-mm-dd hh:mm:ss
|
Ngày và giờ sau khi
người đến thăm trang Web
|
Mặc dù những
loại trên đáp ứng được nhu cầu cần thiết, một bảng các kiểu cho dưới đây cũng
thường gặp.
Loại MySQL
|
Diễn giải
|
tinyint(length)
|
Lưu trữ số nguyên từ
-128 đến 127 (thêm tham số unsigned thì cho phép lưu trữ từ 0 đến 255)
|
smallint(length)
|
Lưu trữ số nguyên từ
-32768 đến 32767 (thêm tham số unsigned thì cho phép lưu trữ từ 0 đến 65535)
|
Loại MySQL
|
Diễn giải
|
mediumint(length)
|
Lưu trữ số từ -8388608
đến 8388607 (thêm tham số unsigned cho phép lưu trữ từ 0 đến 16777215)
|
bigint(length)
|
Lưu trữ số từ
-9223372036854775808 đến -9223372036854775807 (nếu thêm tham số unsigned cho
phép lưu trữ từ 0 đến 184467440709551615)
|
Tinytext
|
Cho phép lưu trữ trên
255 ký tự
|
mediumtext
|
Cho phép lưu trữ trên
1677215 ký tự
|
longtext
|
Cho phép lưu trữ trên
4294967295 ký tự
|
Blob
|
Bằng với kiểu text, trừ
trường hợp dương khi sắp xếp và so sánh, cho phép lưu trữ trên 65535 ký tự
|
tinyblob
|
Bằng với kiểu tinytext,
trừ trường hợp dương khi sắp xếp và so sánh
|
mediumblob
|
Bằng với kiểu
mediumtext, trừ trường hợp dương khi sắp xếp và so sánh
|
longblob
|
Bằng với kiểu longtext,
trừ trường hợp dương khi sắp xếp và so sánh
|
3. Lựa chọn kiểu cho đúng
Trước tiên,
trường sẽ chứa cả chữ và số?
Nếu trả lời
có như varchar, text, char, tinytext, mediumtext, longtext, blob, tinyblob,
mediumblolb, longblob. Sau đó cần quan tâm có bao nhiêu ký tự được lưu trữ? Nó
sẽ biến đổi thế nào?
- · Có bao nhiêu ký tự được lưu trữ? Thay đổi thế nào?
- · 0 đến 255 ký tự, chiều dài thay đổi: sử dụng varchar nếu bạn muốn xóa tất cả những khoảng trắng, giá trị mặc định. Sử dụng longtext nếu bạn thay đổi về chiều dài. Sử dụng blob nếu bạn không giữ về khoảng cách.
- · 256->65536 ký tự: Sử dụng text nếu bạn không cần trường hợp dương trong tìm kiếm, sắp xếp, so sánh. Dùng blob nếu cần trường hợp dương.
- · 65537->1677215 ký tự: Sử dụng mediumtext nếu bạn không cần trường hợp dương trong tìm kiếm, sắp xếp, so sánh. Dùng mediumblob nếu cần trường hợp dương.
- · 1677216->4294967295 ký tự: Sử dụng longtext nếu bạn không cần trường hợp dương trong tìm kiếm, sắp xếp, so sánh. Dùng longblob nếu cần trường hợp dương.
Nếu trả lời không, nó bao gồm thời gian, ngày tháng.
0 nhận xét: