Học phần Lâập trình Web cung cấp những kiến thức tổng quan về môi trường phát triển ứng dụng PHP và một số thao tác cơ bản khi làm việc với PHP. Sinh viên được tiếp câận với
Trang 1GIẢNG VIÊN: VƯƠNG HẢIKHOA CÔNG NGHÊỆ THÔNG TIN
1
Trang 2 Học phần Lâập trình Web cung cấp những kiến thức tổng quan về môi trường phát triển ứng dụng PHP và một số thao tác cơ bản khi làm việc với PHP.
Sinh viên được tiếp câận với ngôn ngữ lâập trình PHP để xây dựng các ứng dụng web đôậng Tìm hiểu sâu về các câu lêậnh, hàm và xử lý lỗi trong vấn đề lâập trình.
Ngoài ra, sinh viên còn có thể biết kết nối cơ sở dữ liêậu vào web để xây dựng môật website hoàn chỉnh.
Mô tả nội dung vắn tắt của học
phần
2
Trang 3 Tham gia lớp đầy đủ các buổi học lý thuyết và thực hành.
Làm các bài tâập về nhà do giảng viên yêu cầu.
Tự học, tự nghiên cứu…
Nhiệm vụ của sinh viên
Tài liệu tham khảo
Sử dụng PHP và MySQL thiết kế web đôỆng – Nguyễn Trường Sinh – Nhà sách Minh Khai, 2005
Ebook Căn bản PHP – Phạm Hữu Khang – Computer Learning Center
Website tham khảo: http://w3schools.com/php
Nhiều giáo trình và website khác (liên hêỆ giảng viên cung cấp)
3
Trang 4 Chuyên cần : 10%
Kiểm tra thường ky : 20% tổng côậng 100%
Thi kết thúc học phần : 70%
Hình thức thi kết thúc học phần: báo cáo đề tài
Cách đánh giá học phần
4
Trang 5 Chương 1: Ngôn ngữ kịch bản PHP
Chương 2: PHP nâng cao
Chương 3: Cài đăật và sử dụng Web Server
Chương 4: Giới thiêậu SQL và My SQL
Chương 5: Sử dụng PHP và My SQL
Chương 6: Phát triển ứng dụng web
Học phần gồm có 5 đơn vị học trình :
3 lý thuyết + 2 thực hành = 45 tiết lý thuyết + (30x2) tiết thực hành Tổng côậng: 105 tiết
Tổng quan
5
Trang 6Chương 4: Giới thiệu về SQL và
MySQL
6
Trang 7I. Giới thiêậu cơ sở dữ liêậu MySQL
MySQL là cơ sở dữ liệu được sử dụng cho các ứng dụng Web có quy mô vừa và nhỏ.
Có trình giao diện trên Windows hay Linux.
Cho phép người dùng có thể thao tác các hành động liên quan đến cơ sở dữ liệu.
Cũng giống như các cơ sở dữ liệu, khi làm việc với cơ sở dữ liệu MySQL, bạn
đăng ký kết nối , tạo cơ sở dữ liệu, quản lý người dùng , phân quyền sử dụng , thiết kế đối tượng Table của cơ sở dữ liệu và xử lý dữ liệu.
Tuy nhiên, trong bất ky ứng dụng cơ sở dữ liệu nào cũng vậy, nếu bản thân chúng có hỗ trợ một trình giao diện đồ hoạ, bạn có thể sử dụng chúng tiện lợi hơn các sử dụng Command line Bởi vì, cho dù bạn điều khiển MySQL dưới bất ky hình thức nào, mục đích cũng quản lý và thao tác cơ sở dữ liệu.
Chương 4 : SQL và MySQL
7
Trang 8II. Cài đăật MySQL
MySQL được tích hợp sẵn trong môật số phần mềm: Wamp, Xampp, Navicat,
PHPLemon Server,
Phần mềm MySQL for Windows.
Sử dụng MySQL trong Xampp đã được cài đăật và tìm hiểu.
Chương 4 : SQL và MySQL
8
Trang 9III. Kiểu dữ liêậu của cơ sở dữ liêậu MySQL
Các kiểu dữ liêậu thường dùng được chia thành các nhóm: numeric , date and
time và string
Điều cần lưu ý trong khi thiết kế cơ sở dữ liệu, bạn cần phải xem xét kiểu dữ
liệu cho môt cột trong Table sao cho phù hợp với dữ liệu của thế giới thực.
Khi chọn dữ liệu cho cột trong Table, bạn phải xem xét đến loại dữ liệu cần
lưu trữ thuộc nhóm kiểu dữ liệu nào, chiều dài cũng như các ràng buộc khác, nhằm khai báo cho phù hợp.
Chương 4 : SQL và MySQL
9
Trang 10III. Kiểu dữ liêậu của cơ sở dữ liêậu MySQL
1. Kiểu dữ liêậu numeric
Kiểu số nguyên:
Chương 2 : SQL và MySQL
10
Trang 11III. Kiểu dữ liêậu của cơ sở dữ liêậu MySQL
1. Kiểu dữ liêậu numeric
Kiểu số thực: cần phải chỉ rõ bao nhiêu số sau dấu phần lẻ.
Ngoài ra còn có kiểu Float (M[,D]): số chấm đôậng lưu dưới dạng
khác
Chương 2 : SQL và MySQL
11
Trang 12III. Kiểu dữ liêậu của cơ sở dữ liêậu MySQL
2. Kiểu dữ liêậu Date and Time
Kiểu dữ liệu Date and Time cho phép bạn nhập liệu dưới dạng chuỗi hay dạng số.
Chương 2 : SQL và MySQL
12
Trang 13III. Kiểu dữ liêậu của cơ sở dữ liêậu MySQL
2. Kiểu dữ liêậu Date and Time
Trình bày đại diêận của TimeStamp:
Chương 2 : SQL và MySQL
13
Trang 14III. Kiểu dữ liêậu của cơ sở dữ liêậu MySQL
3. Kiểu dữ liêậu String
Char (chiều dài cố định): cho phép nhập liệu dưới dạng chuỗi với chiều dài
lớn nhất bằng chiều dài đã định nghĩa, nhưng khi truy cập dữ liệu trên Field có khai báo dạng này, cần phải xử lý khoảng trắng.
Ví dụ: Nếu khai báo chiều dài là 10, nhưng chỉ nhập chuỗi 4 ký tự, MySQL sẽ lưu trữ trong bộ nhớ chiều dài 10.
Varchar (chiều dài biến thiên): chiều dài lớn nhất người dùng có thể nhập
vào bằng chiều dài bạn đã định nghĩa cho Field này, bộ nhớ chỉ lưu trữ chiều dài đúng với chiều dài của chuỗi bạn đã nhập.
Ví dụ: Nếu bạn khai báo kiểu varchar 10 ký tự, nhưng bạn chỉ nhập 5 ký tự, MySQL chỉ lưu trữ chiều dài 5 ký tự Ngoài ra, khi bạn truy cập đến Field có kiểu dữ liệu này, bạn không cần phải giải quyết khoảng trắng.
Chương 2 : SQL và MySQL
14
Trang 15III. Kiểu dữ liêậu của cơ sở dữ liêậu MySQL
3. Kiểu dữ liêậu String
Text : cho phép lưu chuỗi rất lớn.
Blob : cho phép lưu đối tượng nhị phân.
Chương 2 : SQL và MySQL
15
Trang 17IV. Phát biểu SQL
MySQL là một hệ thống quản lý cơ sở dữ liệu quan hệ ( RDBMS ) hay còn
được gọi là R elational D atabase M anagement S ystem RDBMS là một trong những mô hình cơ sở dữ liệu quan hệ thông dụng hiện nay.
Hầu hết sản phẩm cơ sở dữ liệu quan hệ hiện nay đều dựa trên chuẩn của
SQL và ANSI-SQL, chẳng hạn như SQL Server, Oracle, PostgreSQL và MySQL.
Tất cả những cơ sở dữ liệu quan hệ đều phải có những tiêu chuẩn theo cú
pháp SQL và MySQL cũng không phải là ngoại lêậ.
Chương 2 : SQL và MySQL
17
Trang 18IV. Phát biểu SQL
Ngôn ngữ SQL chia làm 4 loại:
DDL ( D ata D efinition L anguage): Ngôn ngữ định nghĩa dữ liệu, dùng để tạo cơ sở
dữ liệu, định nghĩa các đối tượng cơ sở dữ liệu như Table, Query, Views hay các đối tượng khác.
DML ( D ata M anipulation L anguage): Ngôn ngữ thao tác dữ liệu, chẳng hạn như các phát biểu: Select, Inert, Delete, Update,
DCL ( D ata C ontrol L anguage): Ngôn ngữ sử dụng truy cập đối tượng cơ sở dữ liệu, dùng để thay đổi cấu trúc, tạo người dùng, gán quyền, chẳng hạn như: Alter, Grant, Revoke,
TCL ( T ransaction C ontrol L anguage): Ngôn ngữ sử dụng để khai báo chuyển tác chẳng hạn như: Begin Tran, Rollback, Commit,
Chương 2 : SQL và MySQL
18
Trang 19IV. Phát biểu SQL
1. Phát biểu SQL thao tác dữ liêậu
Bao gồm các loại sau:
Chương 2 : SQL và MySQL
19
Trang 20IV. Phát biểu SQL
1. Phát biểu SQL thao tác dữ liêậu
1.1 Khái niêậm cơ bản về Select
Phát biểu Select dùng để truy vấn dữ liệu từ một hay nhiều bảng khác nhau,
kết quả trả về là một tập mẩu tin thoã các điều kiện cho trước nếu có.
Cú pháp của phát biểu SQL dạng SELECT:
SELECT <danh sách các cột>
[FROM <danh sách bảng>]
[WHERE <các điều kiện ràng buộc>]
[GROUP BY <tên cột / biểu thức trong SELECT> ]
[HAVING <điều kiện bắt buộc của GROUP BY>]
[ORDER BY <danh sách cột>]
[LIMIT FromNumber | ToNumber]
Chương 2 : SQL và MySQL
20
Trang 21IV. Phát biểu SQL
1. Phát biểu SQL thao tác dữ liêậu
1.1 Khái niêậm cơ bản về Select
Select tblSinhVien.MaSV, HoSV, TenSV, DiemTB, DiemRL
From tblSinhVien, tblKetQua
Where tblSinhVien.MaSV = tblKetQua.MaSV;
Chương 2 : SQL và MySQL
21
Trang 22IV. Phát biểu SQL
1. Phát biểu SQL thao tác dữ liêậu
1.2 Phát biểu Select với mêậnh đề FROM
Phát biểu SQL dạng SELECT là một trong những phát biểu yêu cầu MySQL
truy lục dữ liệu trên cơ sở dữ liệu chỉ định.
SELECT dùng để đọc thông tin từ cơ sở dữ liệu theo những trường quy định,
hay những biểu thức cho trường đó.
Mệnh đề FROM chỉ ra tên một bảng hay những bảng có quan hệ cần truy vấn
thông tin.
Sau khi thực thi phát biểu SQL, kết quả trả về số mẩu tin và tổng số mẩu tin
được lấy ra từ bảng.
Dấu * cho phép lọc mẩu tin với tất cả các trường trong bảng, nếu muốn chỉ rõ
những trường nào cần lọc, bạn cần nêu tên cụ thể những trường đó.
Chương 2 : SQL và MySQL
22
Trang 23IV. Phát biểu SQL
1. Phát biểu SQL thao tác dữ liêậu
1.2 Phát biểu Select với mêậnh đề FROM
Giả sử ta có CSDL QLSV với các bảng và mối quan hêậ giữa chúng như sau:
Chương 2 : SQL và MySQL
23
Trang 24IV. Phát biểu SQL
1. Phát biểu SQL thao tác dữ liêậu
1.2 Phát biểu Select với mêậnh đề FROM
Để hiển thị tất cả tên bảng của CSDL QLSV ta thực thi câu lêậnh SQL như sau:
Trang 25IV. Phát biểu SQL
1. Phát biểu SQL thao tác dữ liêậu
1.2 Phát biểu Select với mêậnh đề FROM
Các cú pháp:
Cú pháp 2: Select field1, field2
From tablename;
/* Lọc tất cả số liệu của 2 trường: field1, field2 của tablename*/
Ví dụ: Select MaSV, Ho, Ten
From SINHVIEN;
Chương 2 : SQL và MySQL
25
Trang 26IV. Phát biểu SQL
1 Phát biểu SQL thao tác dữ liêậu
1.2 Phát biểu Select với mêậnh đề FROM
Trang 27IV. Phát biểu SQL
1. Phát biểu SQL thao tác dữ liêậu
1.3 Phát biểu Select với mêậnh đề WHERE
Dùng để lọc các mẫu tin theo điều kiêận.
Cú pháp: Select field1, field2, field3 (hoăậc *)
From tablename
Where conditions;
(với conditions là các điều kiêận truy vấn)
Ví dụ 1: Liêật kê những học phần có số đơn vị học trình nhỏ hơn 5
Trang 28IV. Phát biểu SQL
1. Phát biểu SQL thao tác dữ liêậu
1.3 Phát biểu Select với mêậnh đề WHERE
Ví dụ 2: Liêật kê những sinh viên bị thi lại các học phần
Select * From KETQUA Where Dienlan1 < 5;
Ví dụ 3: Liêật kê MaSV, Ho, Ten của những sinh viên nữ thuôậc khoa Công nghêậ thông tin.
Select MaSV, Ho, Ten From SINHVIEN
Where GT=False AND MaKhoa=“CNTT”;
Chương 2 : SQL và MySQL
28
Trang 29IV Phát biểu SQL
1 Phát biểu SQL thao tác dữ liêậu
1.3 Phát biểu Select với mêậnh đề WHERE
Các phép toán so sánh trong conditions bao gồm:
>: lớn hơn
<: nhỏ hơn
>= : lớn hơn hoăặc bằng
<= : nhỏ hơn hoăặc bằng
<> : khác
!< : không nhỏ hơn
!> : không lớn hơn
Chương 2 : SQL và MySQL
29
Trang 30IV. Phát biểu SQL
1. Phát biểu SQL thao tác dữ liêậu
1.3 Phát biểu Select với mêậnh đề WHERE
Giả sử có CSDL QLVT với các bảng và mối quan hêậ giữa chúng như sau:
Chương 2 : SQL và MySQL
30
Trang 31IV. Phát biểu SQL
1. Phát biểu SQL thao tác dữ liêậu
1.3 Phát biểu Select với mêậnh đề WHERE
Các phép toán logic có thể sử dụng trong conditions bao gồm:
and : phép toán “and”
Ví dụ: Liêặt kê thông tin cá nhân của những nhân viên tên Lan có lương thấp hơn 3 triêặu đồng
Select *
From NHANVIEN
Where Ten=“Lan” AND Luong<3000000;
Chương 2 : SQL và MySQL
31
Trang 32IV. Phát biểu SQL
1. Phát biểu SQL thao tác dữ liêậu
1.3 Phát biểu Select với mêậnh đề WHERE
Các phép toán logic có thể sử dụng trong conditions bao gồm:
or : phép toán “or”
Ví dụ 1: Liêặt kê thông tin của những vâặt tư có đơn vị tính là “tấm” hoăặc “kg”
Select *
From DMVATTU
Where Dvtinh=“tấm” OR Dvtinh=“kg”;
Ví dụ 2: Liêặt kê những nhân viên đã từng nhâặp xuất vâặt tư với số lượng lớn hơn 30
Select Manv From NHAPXUATVT
Where (Loai=“N” OR Loai=“X”) AND (Soluong>30);
Chương 2 : SQL và MySQL
32
Trang 33IV. Phát biểu SQL
1. Phát biểu SQL thao tác dữ liêậu
1.3 Phát biểu Select với mêậnh đề WHERE
Các phép toán logic có thể sử dụng trong conditions bao gồm:
not : phép toán phủ định (not)
Ví dụ: Liêặt kê thông tin tất cả phiếu nhâặp xuất vâặt tư có ngày nhâặp xuất
Select * From NHAPXUATVT
Where Ngay is not null;
Not in : phép toán phủ định (không thuôặc tâặp giá trị)
Ví dụ: Liêặt kê thông tin những kho có mã không phải là “K1” hoăặc “K2”
Select * From DMKHO
Where Makho not in (“K1”, “K2”);
Chương 2 : SQL và MySQL
33 (Yêu cầu sinh viên tìm thêm cách giải khác?)
Trang 34IV. Phát biểu SQL
1. Phát biểu SQL thao tác dữ liêậu
1.3 Phát biểu Select với mêậnh đề WHERE
Các phép toán logic có thể sử dụng trong conditions bao gồm:
Between…and… : kết quả thuôặc trong miền giá trị
Ví dụ: Liêặt kê thông tin những nhân viên có lương từ 3 – 5 triêặu
Select * From NHANVIEN
Where Luong between 3000000 and 5000000;
Like: phép toán so sánh gần giống, sử dụng dấu % để thể hiêặn thay thế 1 ký tự, dấu * để thể hiêặn thay thế nhiều ký tự
Ví dụ: Liêặt kê thông tin những nhân viên họ Nguyễn mà tên chỉ có 3 ký tự
Select * From NHANVIEN
Where Ho like “Nguyễn*” and Ten like “%%%”;
Chương 2 : SQL và MySQL
34
Trang 35IV. Phát biểu SQL
1. Phát biểu SQL thao tác dữ liêậu
1.3 Phát biểu Select với mêậnh đề WHERE
Các phép toán logic có thể sử dụng trong conditions bao gồm:
Not like : phép toán phủ định so sánh gần giống, sử dụng dấu % để thể hiêặn thay thế 1 ký tự, dấu * để thể hiêặn thay thế nhiều ký tự.
Ví dụ: Liêặt kê những vâặt tư ngoại trừ “sắt” thuôặc kho K1 có đơn vị tính không phải là “Kg” Biết rằng các vâặt tư “sắt” luôn có ký hiêặu đầu của mã vâặt tư là “S”
Select * From DMVATTU
Where Kho = “K1” and Dvtinh = “Kg” and Mavt not like “S*”;
Chương 2 : SQL và MySQL
35
Trang 36IV. Phát biểu SQL
1. Phát biểu SQL thao tác dữ liêậu
1.4 Phát biểu Select với mêậnh đề ORDER BY
Thông thường, trong khi truy vấn mẩu tin từ bảng dữ liệu, kết quả hiển thị
cần sắp xếp theo chiều tăng hay giảm dựa trên ký tự ALPHABET.
Khi sắp xếp dữ liệu trình bày trong kết quả, cần phải chọn trường theo trật tự
tăng dần hoặc giảm dần.
Cú pháp cho mệnh đề ORDER BY cùng với trạng thái tăng hay giảm, ứng với
ASC sắp xếp tăng dần, DESC giảm dần.
Các cú pháp: Order by columnname DESC
Order by columnname1 + columnname2 DESC
Order by columnname ASC
Order by columnname1 ASC, columnname2 DESC
Chương 2 : SQL và MySQL
36
Trang 37IV. Phát biểu SQL
1. Phát biểu SQL thao tác dữ liêậu
1.4 Phát biểu Select với mêậnh đề ORDER BY
Các cú pháp: Order by columnname DESC
Order by columnname1 + columnname2 DESC
Order by columnname ASC
Order by columnname1 ASC, columnname2 DESC
Ví dụ: Xem thông tin về lương của tất cả nhân viên nam theo thứ tự lương
giảm dần Nếu hai nhân viên nam có lương như nhau thì sắp xếp theo thứ tự alphabet của họ và tên.
Select * From NHANVIEN
Where Gioitinh = True
Order by Luong DESC, Ten ASC;
Chương 2 : SQL và MySQL
37
Trang 38IV. Phát biểu SQL
1. Phát biểu SQL thao tác dữ liêậu
1.5 Phát biểu Select với mêậnh đề GROUP BY
Khi truy vấn mẩu tin trên một hay nhiều bảng dữ liệu, thông thường có
những nghiệp vụ thuộc trường nào đó có cùng giá trị, gây mất thẩm mỹ hoăậc làm cho bảng thống kê dài dòng, phức tạp.
Dùng GROUP BY để nhóm những nôậi dung giống nhau của môật trường.
Ví dụ: Thống kê từng nhân viên đã từng nhâập và xuất bao nhiêu loại vâật tư,
tổng côậng bao nhiêu vâật tư.
Select Manv, Loai, Số lượng VT: count(Mavt), Tổng VT: sum(Soluong)
From NHANVIEN
Group by Manv, Loai;
Chương 2 : SQL và MySQL
38
Trang 39IV. Phát biểu SQL
2. Các hàm thông dụng trong MySQL
2.1 Các hàm trong phát biểu GROUP BY
Hàm AVG: Hàm trả về giá trị bình quân của cột hay trường trong câu truy
vấn.
Hàm MIN/MAX: Hàm trả về giá trị nhỏ nhất/lớn nhất của cột hay trường
trong câu truy vấn.
Hàm Count: Hàm trả về số lượng mẩu tin trong câu truy vấn trên bảng.
Hàm Sum: Hàm trả về tổng các giá trị của trường, cột trong câu truy vấn.
Chương 2 : SQL và MySQL
39