intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng Lập trình web - Đoàn Phan Thái

Chia sẻ: đào Trí Phúc | Ngày: | Loại File: PDF | Số trang:95

25
lượt xem
12
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

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!

Chủ đề:
Lưu

Nội dung Text: Bài giảng Lập trình web - Đoàn Phan Thái

  1. Đoàn Phan Thái Bài giảng LẬP TRÌNH WEB Bình Thuận, 01/2019
  2. LẬP TRÌNH WEB Đoàn Phan Thái dpthai@btu.edu.vn
  3. 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
  4. 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
  5. 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
  6. 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
  7. 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
  8. 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
  9. 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
  10. 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
  11. 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
  12. 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
  13. 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
  14. 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
  15. 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
  16. 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
  17. 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
  18. 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
  19. 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
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
18=>0