Bài giảng Lập trình web - Đoàn Phan Thái
lượt xem 12
download
Bài giảng Lập trình web cung cấp cho người đọc những kiến thức như: Hệ quản trị cơ sở dữ liệu MYSQL; ngôn ngữ PHP cơ bản; lập trình PHP & MYSQL;...Mời các bạn cùng tham khảo!
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Lập trình web - Đoàn Phan Thái
- Đoàn Phan Thái Bài giảng LẬP TRÌNH WEB Bình Thuận, 01/2019
- LẬP TRÌNH WEB Đoàn Phan Thái dpthai@btu.edu.vn
- Lập trình Web CHƯƠNG 1: HỆ QUẢN TRỊ CSDL MYSQL CHƯƠNG 1: HỆ QUẢN TRỊ CSDL MYSQL 1.1. Giới thiệu: - MySQL là hệ quản trị cơ sở dữ liệu (Database Management System - DBMS), được xây dựng bởi David Axmark và Michael Monty Widenius năm 1995. MySQL còn được biết đến như là một hệ quản trị cơ sở dữ liệu quan hệ (Relational Database Management System -RDBMS) mã nguồn mở nổi tiếng thế giới. - Hiện nay, MySQL được phát triển, phân phối và hỗ trợ bởi công ty Oracle. - Một số đặc điểm nổi bật của MySQL: + Quản trị dữ liệu theo mô hình Client/Server. + Mã nguồn mở và không cần trả phí sử dụng. + Hoạt động trên nhiều hệ điều hành và với nhiều ngôn ngữ (PHP, C/C++, Java…). + Hỗ trợ ngôn ngữ truy vấn có cấu trúc (Structured Query Language - SQL). + Dễ sử dụng, tốc độ nhanh và có thể làm việc với bộ dữ liệu lớn. + Đảm bảo an toàn bảo mật với cơ chế phân quyền người dùng. 1.2. Kiểu dữ liệu: - MySQL cung cấp nhiều kiểu dữ liệu1 để mô tả nhiều loại thông tin lưu trữ khác nhau, cho phép thiết kế chính xác các trường dữ liệu của bảng trong cơ sở dữ liệu. - MySQL chia làm 3 nhóm dữ liệu: dữ liệu kiểu số (Numeric Data Types), dữ liệu kiểu chuỗi (String Types) và dữ liệu kiểu ngày giờ (Date and Time Types). Tuy nhiên, chỉ một số kiểu dữ liệu là thường xuyên sử dụng và các kiểu còn lại ít thông dụng hơn. Bảng 1: Các kiểu dữ liệu thông dụng. Kiểu dữ liệu Diễn giải Dữ liệu kiểu số (Numeric Data Types) Kiểu số nguyên có giá trị từ -128 127 hay từ TINYINT [(M)] 0 255. Giá trị M chỉ số bit kích thước, mặc định M=1. Tương tự như kiểu TINYINT(1), số 0 là false BOOL và số 1 là true. Kiểu số nguyên có giá trị từ -32,768 32,767 SMALLINT [(M)] hay từ 0 65,535. 1 Kiểu dữ liệu của MySQL theo địa chỉ tài liệu: https://dev.mysql.com/doc/refman/8.0/en/data-type- overview.html @2019 Đoàn Phan Thái (dpthai@btu.edu.vn) Trang 1
- Lập trình Web CHƯƠNG 1: HỆ QUẢN TRỊ CSDL MYSQL Kiểu số nguyên có giá trị từ -2,147,483,648 INT [(M)] 2,147,483,647 hay từ 0 4,294,967,295. Kiểu số thập phân có độ chính xác đơn (khoảng FLOAT [(M,D)] 7 chữ số thập phân). M là tổng số chữ số và D là số chữ số sau dấu thập phân. Kiểu số thập phân có độ chính xác kép (khoảng DOUBLE [(M,D)] 15 chữ số thập phân). Dữ liệu kiểu chuỗi (String Types) Kiểu chuỗi có độ dài cố định, tối đa 255 ký tự. M là số ký tự, mặc định M=1. Nếu giá trị thật CHAR [(M)] kiểu Char không bằng với độ dài khai báo M thì phần thiếu bên phải sẽ được thêm bằng các ký tự trắng một cách tự động. Kiểu chuỗi có độ dài thay đổi, tối đa 65,535 ký tự. Nếu giá trị thật kiểu Varchar không bằng với VARCHAR(M) độ dài khai báo M thì lưu trữ đúng theo độ dài chuỗi thực tế. Khai báo M là bắt buộc khi sử dụng kiểu Varchar. Kiểu chuỗi ký tự (Character Strings), chứa tối TEXT [(M)] đa 65,535 ký tự, thường dùng khi chứa lượng lớn dữ liệu ký tự. Kiểu chuỗi nhị phân (Binary Strings), chứa tối BLOB [(M)] đa 65,535 bytes, thường dùng khi chứa lượng (Binary Large Objects) lớn dữ liệu nhị phân (hình ảnh, tập tin thực thi, phim ảnh,...). Kiểu dữ liệu chứa danh sách gồm các giá trị ENUM('value1','value2',...) kiểu chuỗi, danh sách chứa tối đa 65,535 giá trị. Dữ liệu kiểu ngày giờ (Date and Time Types) Kiểu ngày theo định dạng YYYY-MM-DD, có DATE giá trị từ 1000-01-01 9999-12-31. Cho phép gán giá trị kiểu số và kiểu chuỗi sang kiểu ngày. TIME Kiểu thời gian theo định dạng HH:MM:SS. Giá trị thời gian là năm theo dạng 2/4 chữ số. Ở YEAR[(M)] định dạng 2 chữ số: 70 69, (nghĩa là 1970 2069), ở định dạng 4 chữ số: 1901 2155. @2019 Đoàn Phan Thái (dpthai@btu.edu.vn) Trang 2
- Lập trình Web CHƯƠNG 1: HỆ QUẢN TRỊ CSDL MYSQL 1.3. Quản lý cơ sở dữ liệu với phpMyAdmin: a) Kích hoạt máy chủ ảo: - Khởi động ứng dụng XAMPP, chọn START để kích hoạt dịch vụ Apache và MySQL. 1 2 Hình 1.1: Thao tác kích hoạt dịch vụ Apache và MySQL. b) Mở trang quản trị phpMyAdmin: - Nhập vào trình duyệt địa chỉ: http://localhost/phpmyadmin. Chọn ngôn ngữ Chọn kích thước phông chữ Hình 1.2: Giao diện phpMyAdmin. @2019 Đoàn Phan Thái (dpthai@btu.edu.vn) Trang 3
- Lập trình Web CHƯƠNG 1: HỆ QUẢN TRỊ CSDL MYSQL 1.3.1. Thao tác với cơ sở dữ liệu: 1.3.1.1. Tạo và xóa cơ sở dữ liệu: a) Tạo cơ sở dữ liệu: - phpMyAdmin là công cụ quản trị MySQL với giao diện đồ họa thân thiện và dễ dùng. Các thao tác tạo CSDL như sau: 1 2 3 5 4 Hình 1.3: Thao tác tạo cơ sở dữ liệu. - Nếu CSDL được tạo thành công sẽ xuất hiện thông báo cùng với mã SQL. Hình 1.4: Thông báo tạo cơ sở dữ liệu thành công. - CSDL vừa tạo sẽ có các thông số quan trọng để phục vụ kết nối sau này: + Server: localhost + User: root + Password: (mặc định không có) + Database: qlsv @2019 Đoàn Phan Thái (dpthai@btu.edu.vn) Trang 4
- Lập trình Web CHƯƠNG 1: HỆ QUẢN TRỊ CSDL MYSQL b) Xóa cơ sở dữ liệu: - Nếu không cần sử dụng CSDL nữa, người dùng có thể xóa chúng để giảm không gian lưu trữ trên máy chủ. 1 2 3 4 Hình 1.5: Thao tác xóa CSDL. - Người dùng cần xác nhận trước khi xóa CSDL: Hình 1.6: Thông báo xác nhận xóa CSDL. - Người dùng sẽ nhận được thông báo xóa CSDL thành công. Hình 1.7: Thông báo xóa CSDL thành công. 1.3.1.2. Sao lưu và phục hồi cơ sở dữ liệu: a) Sao lưu cơ sở dữ liệu: - Trong quá trình làm việc, để bảo vệ CSDL tránh các sự cố không mong muốn, người dùng cần thường xuyên sao lưu CSDL qua chức năng Export. @2019 Đoàn Phan Thái (dpthai@btu.edu.vn) Trang 5
- Lập trình Web CHƯƠNG 1: HỆ QUẢN TRỊ CSDL MYSQL 1 2 3 4 Tên máy chủ (localhost) 5 6 7 Hình 1.8: Thao tác sao lưu CSDL theo định dạng SQL. @2019 Đoàn Phan Thái (dpthai@btu.edu.vn) Trang 6
- Lập trình Web CHƯƠNG 1: HỆ QUẢN TRỊ CSDL MYSQL b) Phục hồi cơ sở dữ liệu: - Khi xảy ra sự cố làm hư hỏng dữ liệu, phpMyAdmin cho phép người dùng phục hồi dữ liệu đã sao lưu qua chức năng Import. 1 3 2 4 5 Hình 1.9: Thao tác phục hồi CSDL. - Trong trường hợp CSDL đang tồn tại thì không cho phép phục hồi và người dùng sẽ nhận được thông báo lỗi #1007. Hình 1.10: Thông báo lỗi #1007. @2019 Đoàn Phan Thái (dpthai@btu.edu.vn) Trang 7
- Lập trình Web CHƯƠNG 1: HỆ QUẢN TRỊ CSDL MYSQL - Nếu phục hồi CSDL thành công thì sẽ xuất hiện thông báo đến người dùng: Hình 1.11: Thông báo phục hồi CSDL thành công. 1.3.2. Thao tác với bảng dữ liệu: 1.3.2.1. Tạo và xóa bảng dữ liệu: a) Tạo bảng dữ liệu: - phpMyAdmin cho phép người dùng tạo các bảng (Table) trong CSDL như sau: 2 4 1 3 5 Hình 1.12: Thao tác tạo bảng dữ liệu. - Bảng dữ liệu mới tạo chưa có trường dữ liệu. Các thao tác tạo trường dữ liệu như sau: @2019 Đoàn Phan Thái (dpthai@btu.edu.vn) Trang 8
- Lập trình Web CHƯƠNG 1: HỆ QUẢN TRỊ CSDL MYSQL Tạo khóa chính Tạo khóa ngoại 1 2 3 Hình 1.13: Thao tác tạo các trường dữ liệu của bảng. - Bảng dữ liệu mới được tạo thành công như sau: Trường làm khóa chính Trường làm khóa ngoại Hình 1.14: Thông tin của bảng dữ liệu được tạo thành công. @2019 Đoàn Phan Thái (dpthai@btu.edu.vn) Trang 9
- Lập trình Web CHƯƠNG 1: HỆ QUẢN TRỊ CSDL MYSQL b) Xóa bảng dữ liệu: - Khi không còn sử dụng các bảng dữ liệu thì người dùng có thể xóa đi. 3 1 2 Hình 1.15: Thao tác xóa bảng dữ liệu. - Hộp thoại xác nhận trước khi xóa bảng: Hình 1.16: Thông báo xác nhận xóa bảng. 1.3.2.2. Quan hệ giữa các bảng dữ liệu: - phpMyAdmin cung cấp chức năng Designer cho phép người dùng tạo quan hệ giữa các bảng dữ liệu. Các thao tác tạo quan hệ ràng buộc khóa chính, khóa ngoại giữa các bảng: 2 1 @2019 Đoàn Phan Thái (dpthai@btu.edu.vn) Trang 10
- Lập trình Web CHƯƠNG 1: HỆ QUẢN TRỊ CSDL MYSQL 3 4 7 8 6 5 Hình 1.17: Thao tác tạo quan hệ giữa các bảng. - Ý nghĩa các lựa chọn khi tạo khóa ngoại: + CASCADE: Khi Delete/Update dữ liệu ở bảng cha (Parent Table) thì sẽ tự động Delete/Update dữ liệu ở bảng con (Child Table). + SET NULL: Khi Delete/Update dữ liệu ở bảng cha thì sẽ tự động thiết lập NULL cho bảng con. Nếu khai báo trường dữ liệu của bảng con là NOT NULL thì không thể lựa chọn SET NULL. + RESTRICT: Không cho phép Delete/Update dữ liệu ở bảng cha nếu bảng con có dữ liệu tương ứng. + NO ACTION: Tương tự như RESTRICT. 1.3.2.3. Thêm, xóa và sửa dữ liệu: a) Thêm dữ liệu vào bảng: - Người dùng cần thêm dữ liệu vào bảng chứa khóa chính rồi mới đến bảng chứa khóa ngoại. 3 1 4 2 5 Hình 1.18: Thao tác thêm dữ liệu vào bảng. @2019 Đoàn Phan Thái (dpthai@btu.edu.vn) Trang 11
- Lập trình Web CHƯƠNG 1: HỆ QUẢN TRỊ CSDL MYSQL b) Sửa dữ liệu trong bảng: - Khi cần sửa dữ liệu, người dùng cần kiểm tra khóa ràng buộc dữ liệu. 3 1 2 4 5 6 Hình 1.19: Thao tác sửa dữ liệu trong bảng. c) Xóa dữ liệu trong bảng: - Khi cần xóa dữ liệu, người dùng cần kiểm tra khóa ràng buộc dữ liệu. @2019 Đoàn Phan Thái (dpthai@btu.edu.vn) Trang 12
- Lập trình Web CHƯƠNG 1: HỆ QUẢN TRỊ CSDL MYSQL 1 2 3 Hình 1.20: Thao tác xóa dữ liệu trong bảng. - Người dùng cần xác nhận trước khi xóa dữ liệu: Hình 1.21: Thông báo xác nhận xóa dữ liệu. 1.3.2.4. Thay đổi cấu trúc bảng dữ liệu: - Sau khi tạo bảng và các trường dữ liệu, người dùng có thể chỉnh sửa, thêm bớt các trường dữ liệu đã tạo. @2019 Đoàn Phan Thái (dpthai@btu.edu.vn) Trang 13
- Lập trình Web CHƯƠNG 1: HỆ QUẢN TRỊ CSDL MYSQL 1 3 2 Hành động điều chỉnh Thêm trường dữ liệu Hình 1.22: Thao tác chỉnh sửa trường dữ liệu. 1.3.2.5. Sao chép, di chuyển và đổi tên bảng dữ liệu: - Thẻ Operations cho phép thực hiện các thao tác sao chép, di chuyển và đổi tên bảng dữ liệu. 1 3 2 Di chuyển bảng dữ liệu Đổi tên bảng dữ liệu @2019 Đoàn Phan Thái (dpthai@btu.edu.vn) Trang 14
- Lập trình Web CHƯƠNG 1: HỆ QUẢN TRỊ CSDL MYSQL Sao chép bảng dữ liệu Hình 1.23: Các chức năng trong thẻ Operations. 1.4. Câu lệnh SQL trong MySQL: - SQL (Structured Query Language) là ngôn ngữ truy vấn có cấu trúc, tuân theo chuẩn của ANSI (American National Standards Institute - Viện tiêu chuẩn quốc gia Hoa kỳ) để phục vụ các hệ quản trị cơ sở dữ liệu quan hệ. - Các câu lệnh SQL chia làm 2 nhóm chính: + Ngôn ngữ định nghĩa dữ liệu (Data Definition Language - DDL): Tập hợp các lệnh SQL (Create, Drop, Alter…) để tạo cấu trúc cho cơ sở dữ liệu như Table, Query, View… + Ngôn ngữ thao tác dữ liệu (Data Manipulation Language - DML): Tập hợp các lệnh SQL (Select, Insert, Delete, Update,…) để thao tác dữ liệu. - MySQL là một trong số các sản phẩm cơ sở dữ liệu quan hệ hỗ trợ tốt ngôn ngữ SQL để tương tác với cơ sở dữ liệu. 1.4.1. Nhóm lệnh định nghĩa dữ liệu: 1.4.1.1. Lệnh Create: a) Tạo CSDL: - Sử dụng lệnh CREATE DATABASE để tạo CSDL. Cú pháp như sau: CREATE DATABASE db_name - Tham số: + db_name: Tên CSDL. Ví dụ: Tạo CSDL Quản lý sinh viên. CREATE DATABASE qlsv @2019 Đoàn Phan Thái (dpthai@btu.edu.vn) Trang 15
- Lập trình Web CHƯƠNG 1: HỆ QUẢN TRỊ CSDL MYSQL - Trong giao diện phpMyAdmin, sử dụng thẻ SQL để viết lệnh như sau: 1 2 3 4 Hình 1.24: Thao tác tạo CSDL. - Trường hợp máy chủ đang tồn tại CSDL qlsv thì xuất hiện lỗi #1007: Hình 1.25: Lỗi tạo CSDL. - Muốn tránh lỗi trên thì tạo CSDL với cú pháp như sau: CREATE DATABASE IF NOT EXISTS db_name Ví dụ: Tạo CSDL Quản lý sinh viên. CREATE DATABASE IF NOT EXISTS qlsv - CSDL mới được tạo sẽ có thông số Charset2 và Collate3 mặc định (Charset=latin1, Collate=latin1_swedish_ci). Để quy định cụ thể Charset và Collate khi tạo CSDL thì sử dụng cú pháp sau: CREATE DATABASE db_name CHARACTER SET charset_name COLLATE collation_name 2 Charset (hay Character Set) là một tập hợp các ký tự đã được mã hóa. 3 Collate là một tập các quy tắc để so sánh các ký tự trong Charset. @2019 Đoàn Phan Thái (dpthai@btu.edu.vn) Trang 16
- Lập trình Web CHƯƠNG 1: HỆ QUẢN TRỊ CSDL MYSQL Ví dụ: Tạo CSDL Quản lý sinh viên với Charset=ascii và Collate=ascii_general_ci. CREATE DATABASE qlsv CHARACTER SET ascii COLLATE ascii_general_ci - Trong giao diện phpMyAdmin, kiểm tra Charset và Collate như sau: Hình 1.26: Câu lệnh kiểm tra Charset và Collate. - Kết quả kiểm tra Charset và Collate của CSDL: Hình 1.27: Kết quả kiểm tra Charset và Collate. b) Tạo bảng dữ liệu: - Sử dụng lệnh CREATE TABLE để tạo bảng dữ liệu. Cú pháp như sau: CREATE TABLE [IF NOT EXISTS] table_name ( /* Khai báo các trường dữ liệu */ col_name data_type [col_attribute] , [constraint pk_name] primary key (col_name,...), [constraint fk_name] foreign key (col_name,...) references table_name (col_name,...) ) ENGINE=engine_name - Tham số: + table_name: Tên bảng dữ liệu. + col_name: Tên cột (trường) dữ liệu. + data_type: Các kiểu dữ liệu thường sử dụng như: bool, int, float, double, char, varchar, text, date, enum… + col_attribute: Các thuộc tính của một cột (trường) dữ liệu: @2019 Đoàn Phan Thái (dpthai@btu.edu.vn) Trang 17
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Lập trình web bài 3: Sử dụng màu sắc trong Illustration
27 p | 182 | 38
-
Bài giảng Lập trình web bài 1: Làm quen với Adobe Illustrator CS4 & không gian làm việc
40 p | 200 | 37
-
Bài giảng Lập trình web bài 2: Làm quen với công cụ vẽ và sử dụng Symbol bảng Library
51 p | 168 | 30
-
Bài giảng Lập trình Web ASP.NET: Chương 1 - ĐH Lạc Hồng
64 p | 137 | 27
-
Bài giảng Lập trình Web: Chương 5 - Ths. Trần Phi Hảo
32 p | 130 | 23
-
Bài giảng Lập trình Web: Chương 4 - Ths. Trần Phi Hảo
58 p | 111 | 21
-
Bài giảng Lập trình Web: Chương 1 - Ths. Trần Phi Hảo
25 p | 177 | 20
-
Bài giảng Lập trình web bài 6: Sử dụng hiệu ứng, độ trong suốt và xuất file
27 p | 147 | 20
-
Bài giảng Lập trình Web ASP.Net: Chương 7 - Dương Thành Phết
58 p | 107 | 20
-
Bài giảng Lập trình web bài 4: Làm việc với công cụ vẽ và văn bản
27 p | 130 | 19
-
Bài giảng Lập trình web bài 7: Kỹ thuật hòa trộn nâng cao
27 p | 104 | 18
-
Bài giảng Lập trình Web ASP.NET: Chương 7- ĐH Lạc Hồng
20 p | 90 | 13
-
Bài giảng Lập trình Web: Bài 2 - Trần Quang Diệu
36 p | 77 | 11
-
Bài giảng Lập trình Web ASP.Net: Chương 9 - Dương Thành Phết
3 p | 110 | 11
-
Bài giảng Lập trình Web hướng Java: Bài 04 - ThS. Trịnh Tuấn Đạt
0 p | 99 | 10
-
Bài giảng Lập trình web động với PHP/MySQL: Phần 1 - Tống Phước Khải (tổng hợp & biên dịch)
41 p | 50 | 5
-
Bài giảng Lập trình web: Tổng quan thiết kế và lập trình Web - Trần Phước Tuấn
27 p | 95 | 4
-
Bài giảng Lập trình web: Tổng quan về lập trình web phía Server Asp.Net
56 p | 51 | 3
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn