Trong những năm gần đây, công nghệ thông tin không ngừng phát triển một cách mạnh mẽ và hiện đại. Sự ra đời của công nghệ thông tin làm phong phú bộ mặt xã hội, đời sống con người được nâng cao rõ rệt, đóng góp to lớn cho sự phát triển của nhân loại. Với xu thế toàn cầu hoá nền kinh tế thế giới, đặc biệt là nhu cầu trao đổi hàng hoá của con người ngày càng tăng cả về số lượng và chất lượng, nhu cầu sử dụng Internet ngày càng nhiều và các hình thức kinh doanh trên mạng ngày càng đa dạng và phong phú rất được nhiều người sử dụng và ưa chuộng. Vì vậy, nhiều cửa hàng sách đã áp dụng phương pháp bán hàng qua mạng để khách hàng dễ dàng tìm kiếm thông tin mà không cần tốn nhiều thời gian và chi phí.
Cửa hàng sách TTV ra đời mang thông tin đến với mọi người với mục đích chính là giúp khách hàng có thể đặt mua sách qua mạng một cách nhanh chóng, tiện lợi và tiết kiệm chi phí. Khách hàng đến với chúng tôi có thể lựa chọn một kho báu kiến thức khổng lồ bao gồm hàng ngàn cuốn sách từ sách giáo khoa cho đến sách khoa học cơ bản như sách lịch sử, sách địa lý, sách thiên văn học, sách y học, sách ngoại ngữ.v.v. những cuốn sách bán chạy nhất hiện nay, sách được báo chí giới thiệu, sách kinh tế, sách học làm người, sách danh nhân, sách tâm lý nghệ thuật sống.v.v.
Từ những vấn đề đặt ra ở trên, được sự đồng ý và sự hướng dẫn tận tình của cô giáo Võ Hoàng Phương Dung, nhóm chúng em đã chọn đề tài: “web bán sách trực tuyến”.
Chỉ trong thời gian ngắn học tập và rèn luyện tại trường CĐ công nghệ thông tin hữu nghị Việt - Hàn. Em đã được các thầy cô trang bị các kiến thức cơ bản về môn học, đề tài đã cơ bản hoàn thành, song vì thời gian và trình độ hiểu biết còn hạn hẹp nên không thể tránh khỏi những thiếu sót. Vì vậy, em rất mong được sự giúp đỡ, đóng góp của quý thầy cô để nội dung của đồ án được hoàn thiện hơn.
Em xin chân thành cảm ơn !
37 trang |
Chia sẻ: oanhnt | Lượt xem: 1961 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Đồ án Web bán sách trực tuyến, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
LỜI MỞ ĐẦU
Trong những năm gần đây, công nghệ thông tin không ngừng phát triển một cách mạnh mẽ và hiện đại. Sự ra đời của công nghệ thông tin làm phong phú bộ mặt xã hội, đời sống con người được nâng cao rõ rệt, đóng góp to lớn cho sự phát triển của nhân loại. Với xu thế toàn cầu hoá nền kinh tế thế giới, đặc biệt là nhu cầu trao đổi hàng hoá của con người ngày càng tăng cả về số lượng và chất lượng, nhu cầu sử dụng Internet ngày càng nhiều và các hình thức kinh doanh trên mạng ngày càng đa dạng và phong phú rất được nhiều người sử dụng và ưa chuộng. Vì vậy, nhiều cửa hàng sách đã áp dụng phương pháp bán hàng qua mạng để khách hàng dễ dàng tìm kiếm thông tin mà không cần tốn nhiều thời gian và chi phí.
Cửa hàng sách TTV ra đời mang thông tin đến với mọi người với mục đích chính là giúp khách hàng có thể đặt mua sách qua mạng một cách nhanh chóng, tiện lợi và tiết kiệm chi phí. Khách hàng đến với chúng tôi có thể lựa chọn một kho báu kiến thức khổng lồ bao gồm hàng ngàn cuốn sách từ sách giáo khoa cho đến sách khoa học cơ bản như sách lịch sử, sách địa lý, sách thiên văn học, sách y học, sách ngoại ngữ..v.v. những cuốn sách bán chạy nhất hiện nay, sách được báo chí giới thiệu, sách kinh tế, sách học làm người, sách danh nhân, sách tâm lý nghệ thuật sống.v.v.
Từ những vấn đề đặt ra ở trên, được sự đồng ý và sự hướng dẫn tận tình của cô giáo Võ Hoàng Phương Dung, nhóm chúng em đã chọn đề tài: “web bán sách trực tuyến”.
Chỉ trong thời gian ngắn học tập và rèn luyện tại trường CĐ công nghệ thông tin hữu nghị Việt - Hàn. Em đã được các thầy cô trang bị các kiến thức cơ bản về môn học, đề tài đã cơ bản hoàn thành, song vì thời gian và trình độ hiểu biết còn hạn hẹp nên không thể tránh khỏi những thiếu sót. Vì vậy, em rất mong được sự giúp đỡ, đóng góp của quý thầy cô để nội dung của đồ án được hoàn thiện hơn.
Em xin chân thành cảm ơn !
MỤC LỤC
DANH MỤC BẢNG BIỂU
Bảng 3.1: Danh sách các bảng và quan hệ 19
Bảng 3.2. Mô tả chi tiết bảng user 19
Bảng 3.3: Mô tả chi tiết bảng danh mục 19
Bảng 3.4: Mô tả chi tiết bảng danh mục sách 20
DANH MỤC HÌNH
Hình 1.1: Quá trình thông dịch trong php 2
Hình 2.1: Quy trình bán hàng 15
Hình 2.2: Biểu đồ BFD – Phân rã chức năng 18
Hình 3.1: Bảng user trên phpMyAdmin 20
Hình 3.2: bảng danh mục trên phpMyAdmin 20
Hình 3.3: Bảng danh mục sách trên phpMyAdmin 21
Hình 4.1. Giao diện trang chủ 22
Hình 4.2: Giao diện trang giới thiệu 23
Hình 4.3: Giao diện trang sách mới 23
Hình 4.4: Giao diện trang liên hệ 24
Hình 4.5: Giao diện trang đăng ký 24
Hình 4.6: Giao diện trang đăng nhập 25
Hình 4.7: Giao diện trang đăng nhập của Admin 25
Hình 4.8: Giao diện trang xem thành viên 26
Hình 4.9: Giao diện trang chỉnh sửa người dùng 26
Hình 4.10: Giao diện trang xóa username 26
Hình 4.11: Giao diện trang thêm người dùng 27
Hình 4.12: Giao diện trang xem sách 27
Hình 4.13 : Giao diện trang sửa sách 28
Hình 4.14: Giao diện trang thêm sách 28
Hình 4.15: Giao diện trang thêm danh mục 29
Hình 4.16: Giao diện trang xem danh mục sách 29
CHƯƠNG I. TỔNG QUAN VỀ PHP VÀ MYSQL
TỔNG QUAN VỀ PHP
Giới thiệu về ngôn ngữ kịch bản php
Php là gì?
Php được viết tắt của chữ Personal Home Page là ngôn ngữ script trên server chạy trên phía máy chủ (Server side) giống như các server script khác như: asp, jsp, cold fusion,… Nó cho phép dễ dàng xây dựng các trang web động, mà tương tác được với mọi cơ sở dữ liệu như: Informix, MySQL, PostgreSQL, Oracle, Sybase, SQL Server,…
Php còn là phần mềm mở, dùng cho mục đích tổng quát. Thích hợp với Web và có thể dễ dàng nhúng vào trang HTML. Mã PHP có thể thực thi trên Webserver để tạo ra mã HTML và xuất ra trình duyệt web theo yêu cầu của người sử dụng.
Đặc điểm của file php:
Php có thể chạy trên các môi trường (platforms) khác nhau như: Windows, Linux, Unix… Nó còn có khả năng tương thích với hầu hết các servers đang sử dụng hiện nay như: Apache, IIS...
Ngoài ra các file PHP trả về kết quả cho trình duyệt là một trang thuần HTML, và các file PHP có thể chứa văn bản (Text), các thẻ HTML (HTML tags) và các đoạn mã kịch bản (Script).
Phần lớn các file PHP có phần mở rộng là: .php, .php3, . Phpml và lưu ý rằng, từ phiên bản 4.0 trở về sau mới hỗ trợ session.
Lịch sử phát triển:
Dưới đây là một số mốc phát triển của Php:
Năm 1995, phiên bản đầu tiên ra đời có tên là PHP/FI được viết bởi nhà phát triển phần mềm Rasmus Lerdorf.
PHP/FI, viết tắt từ "Personal Home Page/Forms Interpreter", bao gồm một số các chức năng cơ bản của PHP ngày nay.
Năm 1997, phiên bản PHP/FI 2.0 ra đời nhưng chỉ được công bố dưới dạng các bản beta. Đến tháng 11 năm 1997 mới chính thức được công bố.
Năm 1998, phiên bản PHP 3.0 được chính thức công bố.
Andi Gutmans và Zeev Suraski tiếp tục hoàn tất phần lõi nhằm cải tiến PHP 3.0.
Tháng 05/2000, phiên bản PHP 4.0 với hàng loạt các tính năng mới bổ sung, đã chính thức được công bố.
29/06/2003, phiên bản PHP 5 Beta 1 đã chính thức được công bố.
Tháng 10/2003, phiên bản Beta 2 ra mắt với sự xuất hiện của hai tính năng rất được chờ đợi: Iterators, Reflection nhưng namespace một tính năng gây tranh cãi khác đã bị loại khỏi mã nguồn.
Ngày 21/12/2003: phiên bản PHP 5 Beta 3 đã được công bố.
Ngày 13/07/2004, phiên bản PHP 5 bản chính thức đã ra mắt sau một chuỗi khá dài các bản kiểm tra thử bao gồm Beta 4, RC 1, RC2, RC3.
Ngày 14/07/2005, phiên bản PHP 5.1 Beta 3 được PHP Team công bố đánh dấu sự chín muồi mới của PHP với sự có mặt của PDO.
Hiện nay, phiên bản tiếp theo của PHP đang được phát triển, PHP 6 bản sử dụng thử đã có thể được download tại địa chỉ
Quá trình thông dịch trang php
Php là kịch bản trình chủ được chạy trên nền php Engine, cùng với ứng dụng Web Server để quản lý chúng.
Khi trang php được gọi, Web Server triệu gọi php Engine để thông dịch, dịch trang php và trả về kết quả cho người sử dụng là một trang thuần HTML
Ta có mô hình như sau:
Hình 1.1: Quá trình thông dịch trong php
Ưu điểm của Php:
Có nhiều lý do khiến cho việc sử dụng ngôn ngữ này chiếm ưu thế xin nêu ra đây một số lý do cơ bản :
Mã nguồn mở (open source code)
Miễn phí, download dễ dàng từ Internet.
Ngôn ngữ rất dễ học, dễ viết.
Mã nguồn không phải sửa lại nhiều khi viết chạy cho các hệ điều hành từ Windows, Linux, Unix
Rất đơn giản trong việc kết nối với nhiều nguồn DBMS, ví dụ như: MySQL, Microsoft SQL Server 2000, Oracle, PostgreSQL, Adabas, dBase, Empress, FilePro, Informix, InterBase, mSQL, Solid, Sybase, Velocis và nhiều hệ thống CSDL thuộc Hệ Điều Hành Unix (Unix dbm) cùng bất cứ DBMS nào có sự hổ trợ cơ chế ODBC (Open Database Connectivity) ví dụ như DB2 của IBM.
Cú pháp:
Đầu tiên, một đoạn mã php luôn được bắt đầu và kết thúc bởi cặp thẻ theo cú pháp:
<?php
các lệnh của php;
?>
Sau đó, ta cũng có thể nhúng các lệnh của php vào trang HTML và đoạn mã php có thể đặt bất kỳ đâu trong tài liệu. Thông thường một trang php bao gồm các thẻ HTML như một trang HTML nhưng có thêm các đoạn mã php.
Ví dụ: Ta có đoạn mã php hiển thị câu “Hom nay em duoc hoc cu phap mot doan ma php” lên trình duyệt như sau:
<?php
echo “Hom nay em duoc hoc cu phap mot doan ma php”;
?>
Lưu ý:
Các file php phải có phần mở rộng là .php. Nếu phần mở rộng là .html thì đoạn mã php sẽ không được thực thi.
Có thể viết các câu chú thích cho đoạn mã php. Có hai cách viết là: /* chú thích */ hoặc // chú thích.
Đoạn mã php cũng có thể đặt trong cặp thẻ:
Các kiểu dữ liệu:
Php hỗ trợ 5 kiểu dữ liệu như sau:
Integer: sử dụng cho giá trị có kiểu dữ liệu là số nguyên. Trên hầu hết các hệ thống, kiểu số nguyên có kích thước 32 bit, mang giá trị từ -2147483647 cho đến 2147483648.
Ví dụ: <?php
$a = 1234;
$b = -123;
$c = 0123; //giá trị 123 ở hệ cơ số 8, tương đương với 83 ở hệ cơ số 10
$d = 0x1F; //giá trị 1F ở hệ cơ số 16, tương đương với 31 ở hệ cơ số 10
?>
Double (còn gọi là Float): Sử dụng cho giá trị có kiểu dữ liệu là số thực. Trên hầu hết các hệ thống, kiểu số thực có kích thước 64 bit.
Ví dụ: <?php
$a = 1.234;
$b = 1.2e3; //= 1.2*10^3 = 1200
$c = 7E-10; //= 7*(10^-10) = 0.0000000007
$d = -1.23;
?>
String: Sử dụng cho các giá trị có kiểu dữ liệu là chuỗi và ký tự, mỗi ký tự có kích thước là 1 byte. Nội dung string được đặt giữa 2 dấu nháy, nháy đơn (') hoặc nháy kép (").
Ví dụ:
<?php
$a = 'Đây là 1 chuỗi được đặt giữa dấu nháy đơn';
$b = "Đây là 1 chuỗi được đặt giữa dấu nháy kép";
$c = 'Đây là 1 chuỗi được đặt giữa dấu nháy đơn với "vài dấu nháy kép ở giữa"';
$d = "Đây là 1 chuỗi được đặt giữa dấu nháy kép với 'vài dấu nháy đơn ở giữa'";
?>
Nếu bạn muốn sử dụng dấu nháy đơn ở trong 1 chuỗi được bọc bởi dấu nháy đơn, hoặc sử dụng dấu nháy kép đặt giữa chuỗi được bọc bởi dấu nháy kép thì bạn để thêm ký tự \ (gọi là ký tự escape) ở phía trước.
Ví dụ:
<? Php
$a = 'Dấu \'nháy đơn\' ở giữa chuỗi'; //$a mang giá trị: Dấu 'nháy đơn' ở giữa chuỗi
$b = "Dấu \"nháy kép\" ở giữa chuỗi"; //$b mang giá trị: Dấu "nháy kép" ở giữa chuỗi
$c = "Dùng ký tự \\ ở giữa câu \\ thì sao?"; //$c mang giá trị: Dùng ký tự \ ở giữa câu \ thì sao?
?>
Khi sử dụng dấu nháy đôi để bọc chuỗi, ngoài \', \" và \\, PHP có thể nhận dạng thêm một số chuỗi ký tự escape đặc biệt nữa:
\n: ký tự xuống hàng LF (ký tự có mã 10 trong bảng mã ASCII)
\r: ký tự về đầu dòng CR (ký tự có mã 13 trong bảng mã ASCII) \t: ký tự tab (ký tự có mã 9 trong bảng mã ASCII)
\$: ký tự $
\ooo: (với o là 1 chữ số từ 0 đến 7) biểu thị 1 ký tự có mã ASCII ooo trong hệ cơ số 8.
Ví dụ:
\101 sẽ là ký tự 'A' (101 trong hệ cơ số 8 tương đương 65 trong hệ cơ số 10, ký tự ASCII có mã 65 chính là ký tự 'A').
\xhh: (với h là 1 chữ số từ 0 đến 9 hoặc 1 chữ cái từ A tời F) biểu thị 1 ký tự có mã ASCII hh trong hệ cơ số 16.
Ví dụ:
\0x41 sẽ là ký tự 'A' (41 trong hệ cơ số 16 chính là 65 trong hệ cơ số 10).
Ngoài ra, nếu bạn để 1 biến vào giữa 1 chuỗi được bọc với dấu nháy kép, giá trị của biến sẽ được thay thế vào trong chuỗi.
Ví dụ:
<?php
$a = 1;
$b = 2;
$c = 3;
$d = "$a $b $c";
//$d sẽ mang giá trị là chuỗi "1 2 3"
?>
Array: Sử dụng cho các giá trị có kiểu dữ liệu là mảng. Mảng còn có thể tạo được tạo thành bởi các cặp (khóa, giá trị).
Ví dụ:
<?php
$a = Array( "khoá 1" => "giá trị 1", "khoá 2" => "giá trị 2", "khoá 3" => "giá trị 3");
echo $a["khoá 1"]; //in ra: giá trị 1
$b = Array( "a" => "Đinh", "b" => "Công", "c" => "Trực");
echo $b["a"]; //in ra: Đinh
$b["a"] = "Đinh";
$b["b"] = "Công";
$b["c"] = "Trực"; //giờ đây $b = Array("a" => "Đinh", "b" => "Công", "c" => "Trực")
?>
Object: Sử dụng cho các giá trị có kiểu dữ liệu là đối tượng của lớp
Biến:
Quy tắc viết tên biến trong PHP
Biến trong PHP bắt đầu bằng dấu $, theo sau là tên của biến.
Tên của biến phải bắt đầu bằng chữ hoặc ký tự gạch dưới.
Tên biến chỉ có thể là các ký tự chữ-số hoặc dấu gạch dưới(A-z, 0-9, _ )
Tên biến không được chứa khoảng trắng
Tên biến phân biệt chữ hoa và chữ thường (z and Z là 2 biến khác nhau)
Cách khai báo biến: PHP không có câu lệnh để thực hiện khai báo biến. Một biến được khai báo khi bạn gán cho nó một giá trị.
Ví dụ: $myMotor="AirBlade";
Sau khi thực thi khai báo trên, biến $myMotor nhận giá trị là AirBlade.
Chú ý: Nếu muốn khai báo biến mà không gán giá trị nào cho nó thì gán cho nó giá trị null.
Bây giờ lấy ví dụ khai báo biến có chứa giá trị là chuỗi và biến có giá trị là số:
<?php
$txt="Chào bạn";
$x=30;
?>
Chú ý: Khi bạn gán một giá trị dạng text cho biến thì bạn phải cho giá trị của biến vào trong ngoặc kép.
Các phép toán:
Toán tử gán:
Chúng ta đã từng tiếp xúc với toán tử này bởi việc khởi tạo 1 biến. Nó gồm ký tự đơn =. Toán tử gán lấy giá trị của toán hạng bên phải gán nó vào toán hạng bên trái.
Ví dụ: $name = "Xuân Cảnh";
Toán tử số học:
Là dạng phép tính giản đơn cộng, trừ, nhân, chia trong số học. Ngoài ra còn có phép chia lấy dư (%). Được sử dụng để lấy ra đơn vị dư của 1 phép toán.
Toán tử
Giải thích
Ví dụ
Kết quả
+
Cộng hai số hạng
10+2
12
-
Trừ hai số hạng
10-2
8
*
Nhân hai số hạng
10*2
20
/
Chia hai số hạng
10/2
5
%
Trả về số dư
10%2
0
Toán tử so sánh:
Là toán tử được sử dụng để thực hiện các phép toán so sánh giữa hai số hạng. Chi tiết, xem bảng bên dưới.
Phép toán
Tên
Giải thích
Ví dụ
==
Bằng
Hai số hạng bằng nhau
$a==10
!=
Không bằng
Hai số hạng không bằng nhau
$a!=10
===
Đồng nhất
Hai số bằng nhau và cùng kiểu
$a===10
>
Lớn hơn
Vế trái lớn hơn vế phải
$a>10
>=
Lớn hơn hoặc bằng
Vế trái lớn hơn hoặc bằng vế phải
$a>=10
<
Nhỏ hơn
Vế trái nhỏ hơn vế phải
$a<10
<=
Nhỏ hơn hoặc bằng
Vế trái nhỏ hơn hoặc bằng vế phải
$a<=10
Toán tử logic:
Toán tử logic là các tổ hợp các giá trị boolean.
Ví dụ: toán tử or trở về true nếu toán tử trái hoặc toán tử phải là true.
True || false.
Ta có bảng các toán tử như sau:
Toán tử
Tên
Ví dụ
&&
And (và)
$a && $b
||
Or (hoặc)
$a or $b
!
Not (phủ định)
!$c
5- Toán tử kết hợp: Khi tạo mã PHP, chúng ta sẽ thường nhận thấy cần phải tăng hoặc giảm lượng biến một số nguyên nào đó. Bạn sẽ thường thực hiện điều này khi chúng ta đếm 1 giá trị nào đó trong vòng lặp
Phép toán
Ví dụ
Giải thích
++
$a++
Bằng với $a=$a+1
--
$a--
Bằng với $a=$a-1
+=
$a+=$b
Bằng với $a=$a+$b
-=
$a-=$b
Bằng với $a=$a-$b
*=
$a*=$b
Bằng với $a=$a*$b
/=
$a/=$b
Bằng với $a=$a/$b
TỔNG QUAN VỀ MYSQL:
Giới thiệu về MySQL:
SQL là chuẩn ngôn ngữ ANSI để truy cập CSDL. SQL là viết tắt của Structured Query Language - Ngôn ngữ truy vấn cấu trúc.
SQL là một chuẩn của ANSI (American National Standards Institute - Viện tiêu chuẩn quốc gia Hoa kỳ) về truy xuất các hệ thống CSDL. Các câu lệnh SQL được sử dụng để truy xuất và cập nhật dữ liệu trong một CSDL.
Đặc điểm:
SQL hoạt động với hầu hết các chương trình CSDL như MS Access, DB2, Informix, MS SQL Server, Oracle, Sybase v.v... Nó có nhiều phiên bản cho các hệ điều hành khác nhau: phiên bản Win32 cho các hệ điều hành dòng Windows, Linux, Mac OS X, Unix, Solaris…
Lưu ý: Hầu hết các chương trình CSDL hỗ trợ SQL đều có phần mở rộng cho SQL chỉ hoạt động với chính chương trình đó.
Một CSDL thường bao gồm một hoặc nhiều bảng (table). Mỗi bảng được xác định thông qua một tên (ví dụ Customers hoặc Orders). Bảng chứa các mẩu tin - dòng (record - row), là dữ liệu của bảng.
MySQL là cơ sở dữ liệu tốc độ cao, ổn định và dễ sử dụng, có tính khả chuyển, hoạt động trên nhiều hệ điều hành cung cấp một hệ thống lớn các hàm tiện ích rất mạnh.
Với tốc độ và tính bảo mật cao, MySQL rất thích hợp cho các ứng dụng có truy cập CSDL trên internet. MySQL server hoạt động trong các hệ thống nhúng hoặc client/server.
Tạo cơ sở dữ liệu và người dùng:
Kết nối và tạo cơ sở dữ liệu:
Để kết nối cơ sở dữ liệu ta có thể thực hiện theo hai cách:
+ Kết nối và tạo CSDL bằng Command line.
+ Kết nối và tạo CSDL bằng giao diện đồ họa: MySQL Administrator hoặc phpmyadmin.
Quản lý người dùng:
Để đăng nhập vào MySQL ta có thể sử dụng user là root và pass là rỗng.
Ngoài tài khoản này ta có thể tạo thêm các tài khoản cho người dùng với các users và pass khác nhau.
Cấp quyền cho người dùng:
Với quyền root ta có thể thực hiện mọi thao tác trên CSDL: select, update, insert, delete,…
Tuy nhiên, khi tạo quyền người dùng ta cũng có thể hạn chế bớt một số quyền nhất định nào đó.
Xóa quyền hoặc xóa tài khoản người dùng:
Sau khi cấp quyền cho người dùng ta có thể thêm hoặc loại bỏ một số quyền nào đó.
Với việc truy cập vào tài khoản root ta có thể xóa các tài khoản người dùng đã được tạo ra.
Các kiểu dữ liệu trong Mysql:
Dữ liệu kiểu numeric:
Bao gồm các kiểu sau:
Tinnyint: Lưu các số nguyên không dấu (unsigned) từ 0-255 hoặc các số nguyên có dấu từ -128 -> 127
Mediumint: Lưu các số nguyên từ 0 đến 16.777.215 hoặc từ -8.388.608 đến 8.388.607
Int: Lưu các số nguyên từ 0 đến 4.294.967.295 hoặc từ -2.147.483.648 đến 2.147.483.647
Bigint
Float
Doube
Decimal/real
Dữ liệu kiểu date và time:
Bao gồm các kiểu sau:
Date: Lưu trữ ngày dạng yyy-mm-dd. Cho phép giá trị từ 1000-01-01 đến 9999-12-31
Datetime: Lưu trữ dạng yyyy-mm-dd hh:mm:ss
Timestamp: Tự động ghi nhận thời gian thay đổi gần nhất. Tùy thuộc vào độ rộng của cột nằm trong khoảng từ 2 đến 14 (yy đến yyyy-mm-dd hh:mm:ss)
Time: Dùng để lưu trữ giờ định dạng hh:mm:ss.
Year: Dùng để lưu năm bắt đầu từ 1970
Dữ liệu kiểu string: bao gồm các kiểu sau:
Char: Chiều dài tối đa 255 ký tự, đây là kiểu có chiều dài cố định.
Varchar: Cũng tương tự kiểu char có chiều dài tối đa 255 ký tự, song có điểm khác là có chiều dài thay đổi, các giá trị sẽ không bị nối thêm ký tự trắng.
Tinytext: là kiểu ký tự văn bản nhị phân. Có chiều dài tối đa 255.
Text: có chiều dài 65.535 ký tự. Các chỉ mục có thể được tạo trên 255 ký tự đầu của cột text
Mediumtext: có chiều dài 16.777.215
Longtext: có chiều dài >4 tỉ ký tự
Enum, Set,…
Các câu lệnh SQL:
Câu lệnh SELECT
Dùng để truy vấn dữ liệu từ một hay nhiều bảng khác nhau và trả về kết quả là một tập mẫu tin thỏa mãn điều kiện nào đó
Cú pháp: SELECT
[FROM ]
[WHERE ]
[GROUP BY ]
[HAVING ]
[ORDER BY ]
[LIMIT FromNumber | ToNumber]
Trong đó, danh sách các cột: Tên các cột, biểu thức kết hợp giữa các cột của bảng.
Trường hợp truy vấn tất cả các cột của bảng ta sử dụng toán tử * thay vì chỉ ra danh sách tất cả các cột.
Trường hợp, có các cột cùng tên ở các bảng khác nhau thì ta cần chỉ ra tên bảng đi trước theo cú pháp: Tên_bảng.Tên_cột
Câu lệnh Insert
Được sử dụng khi cần thêm mẫu tin vào bảng trong CSDL MySQL.
Khi thêm dữ liệu, cần chú ý đến kiểu dữ liệu của các cột mình cần thêm dữ liệu.
Cần quan tâm đến quyền của User đăng nhập có được phép Insert hay không.
Khi Insert dữ liệu vào bảng có 3 trường hợp:
Insert từ giá trị cụ thể
Lấy giá trị từ một hoặc nhiều bảng khác
Bao gồm cả hai trường hợp
Câu lệnh Update
Dùng để cập nhật lại dữ liệu đã tồn tại trong bảng.
Nếu cập nhật giá trị cụ thể:
UPDATE SET = , [ = ] [WHERE ]
Cập nhật giá trị từ bảng khác:
UPDATE SET = …
UPDATE có thể ảnh hưởng đến nhiều bảng nhưng cập nhật giá trị chỉ có hiệu lực trên bảng đó.
Câu lệnh Delete
Dùng để xóa mẫu tin trong bảng được chỉ ra bởi tên bảng và mệnh đề WHERE (nếu có) nhằm xác định mẫu tin cần xóa theo một điều kiện nào đó.
DELETE FROM WHERE .
Conditions: có thể là phép toán giữa các cột và giá trị hoặc giá trị là kết quả trả về của một câu lệnh SELECT khác.
Lưu ý: không có khái niệm xóa giá trị trong một cột, vì xóa giá trị một cột đồng nghĩa với cập nhật cột đó bằng giá trị rỗng.
Câu lệnh Join
Inner Join: Dùng để kết hợp các bảng dữ liệu
Cú pháp: SELECT [các cột] FROM INNER JOIN ON WHERE …. ODER BY …
Ví dụ: SELECT Hoten, Tongdiem FROM Sinhvien INNER JOIN Hocsinh ON Sinhvien.Masv = Hocsinh.Masv WHERE Tongdiem >2.0 ORDER BY Tongdiem ASC
Lưu ý: nếu cần trả về kết quả là tất cả các cột của các bảng tham gia Inner Join ta áp dụng cú pháp:
SELECT bảng 1.*, bảng 2.* [, bảng n.*] FROM bảng 1 INNER JOIN bảng 2 ON …
Left Join: Dùng để kết hợp các bảng dữ liệu khi muốn trả về kết quả là những mẫu tin của bảng bên trái tồn tại ứng với những mẫu tin ở bảng bên phải không tồn tại.
Cú pháp: SELECT [các cột] FROM LEFT JOIN ON WHERE …. ODER BY …
Right Join: Dùng để kết hợp các bảng dữ liệu khi muốn trả về kết quả là những mẫu tin của bảng bên phải tồn tại dù bảng bên trái không tồn tại
Cú pháp: SELECT [các cột] FROM RIGHT JOIN ON WHERE …. ODER BY …
Các hàm trong MySQL
Các hàm phát biểu trong Group by
Hàm AVG: trả về giá trị bình quân của cột hay trường trong câu truy vấn
Hàm MIN: trả về giá trị nhỏ nhất của cột hay trường trong câu truy vấn
Hàm MAX: trả về giá trị lớn nhất củ