Lập trình PHP 1

Số tiết:

 30 tiết lý thuyết

 60 tiết thực hành

 Đánh giá kết thúc môn học:

 Điểm kiểm tra quá trình: 40%

 Thi hết môn (thực hành + lý thuyết): 60%

pdf347 trang | Chia sẻ: Mr Hưng | Lượt xem: 827 | Lượt tải: 0download
Bạn đang xem trước 20 trang nội dung tài liệu Lập trình PHP 1, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
// in “c, d, e, ” 6.2. KIỂU MẢNG  Các hàm liên quan tới mảng  Sắp xếp dữ liệu trong mảng chỉ số nguyên: sort() Ví dụ:  Sắp thứ tự ngược bằng hàm: rsort()  Không nên sử dụng hàm sort() để sắp mảng chỉ số chuỗi vì sau khi sắp xong khóa sẽ bị mất. 230 $an_array = array("x","a","f","c"); sort($an_array); foreach ( $an_array as $var ) print "$var, "; // in “a, c, f, x, ” 6.2. KIỂU MẢNG  Các hàm liên quan tới mảng  Sắp theo giá trị sử dụng: asort() Ví dụ:  Sắp thứ tự ngược bằng hàm: arsort() 231 $first = array("first"=>5,"second"=>2,"third"=>1); asort( $first ); foreach ( $first as $key => $val ){ print "$key = $val, "; } // in “third = 1, second = 2, first = 5, ” 6.2. KIỂU MẢNG  Các hàm liên quan tới mảng  Sắp theo khóa sử dụng hàm: ksort() Ví dụ:  Sắp thứ tự ngược bằng hàm: krsort() 232 $first = array("x"=>5,"a"=>2,"f"=>1); ksort( $first ); foreach ( $first as $key => $val ){ print "$key = $val, "; } // in “a = 2, f = 1, x = 5, ” 6.3. KIỂU NGÀY GIỜ  Các hàm liên quan tới ngày giờ  Kiểm tra giá trị ngày có hợp lệ không • Nếu hợp lệ, hàm trả về true • Nếu không hợp lệ trả về false 233 checkdate (tháng, ngày, năm) 6.3. KIỂU NGÀY GIỜ  Các hàm liên quan tới ngày giờ  Lấy các giá trị của ngày hiện tại  Lấy các giá trị giờ hiện tại  Định dạng hiển thị cho ngày hiện tại 234 getdate () localtime() time() date(chuỗi định dạng) 6.3. KIỂU NGÀY GIỜ  Các tham số định dạng liên quan tới ngày giờ 235 Tham số Ý nghĩa a Buổi sáng/Chiều bằng hai ký tự thường am/pm. A Buổi sáng/Chiều bằng hai ký tự hoa AM/PM. d Ngày (01-31) trong tháng với hai ký số. D Thứ (Mon-Sun) trong tuần với 3 ký tự. F Tháng (January-December) trong năm với tên tháng đầy đủ dạng text. 6.3. KIỂU NGÀY GIỜ  Các tham số liên quan tới ngày giờ 236 Tham số Ý nghĩa g Giờ (1-12) trong ngày với 1 hoặc 2 ký số. G Giờ (0-23) trong ngày với 1 hoặc 2 ký số. h Giờ (01-12) trong ngày với 2 ký số. H Giờ (00-23) trong ngày với 2 ký số. i Phút (01-59) đã trôi qua với 2 ký số. j Ngày (1-31) trong tháng với 1 hoặc 2 số. l Thứ (Monday-Sunday) trong tuần với tên đầy đủ dạng text. L Năm nhuần trả về 1, ngược lại hàm trả về 0. 6.3. KIỂU NGÀY GIỜ  Các tham số liên quan tới ngày giờ 237 Tham số Ý nghĩa m Tháng (01-12) trong năm với 2 ký số. M Tháng (Jan-Dec) trong năm với 3 ký tự. n Tháng (1-12) trong năm với 1 hoặc 2 ký số. s Giây (01-59) đã trôi qua với 2 ký số. S Thêm hai ký tự st, nd, rd hay th theo sau ngày dạng hai ký tự số (ví dụ như 12th). t Trả về tổng số ngày trong tháng (từ 28 -31). 6.3. KIỂU NGÀY GIỜ  Các tham số liên quan tới ngày giờ 238 Tham số Ý nghĩa w Thứ (0-6) trong tuần, 0 ứng với Sunday và 6 ứng với Saturday. y Năm định dạng 2 ký số (03). Y Năm định dạng 4 ký số (2003). z Ngày trong năm (0-365). TRƯỜNG ĐẠI HỌC TÀI CHÍNH MARKETING KHOA CÔNG NGHỆ THÔNG TIN CHƯƠNG 4: MySQL NỘI DUNG CHƯƠNG 4 240 Giới thiệu CSDL MySQL 1 Các kiểu dữ liệu trong MySQL 2 Tạo/xóa cơ sở dữ liệu 3 4 Thao tác trên bảng Thực thi câu lệnh Select 5 1. GIỚI THIỆU CSDL MYSQL 241 1.2. CSDL MySQL 1.1. CSDL quan hệ 1.1. CSDL QUAN HỆ Các đối tượng chính của CSDL quan hệ (1) Bảng dữ liệu (table) (2) Quan hệ 242 1.1. CSDL QUAN HỆ (tt) Các đối tượng chính của CSDL quan hệ (1) Bảng dữ liệu (table) • Là thành phần trung tâm của CSDL, được dùng để lưu trữ thông tin của CSDL • Gồm hai thành phần: dòng và cột 243 1.1. CSDL QUAN HỆ (tt) Các đối tượng chính của CSDL quan hệ (1) Bảng dữ liệu (table) Cột: là một khối dữ liệu trong bảng, có cùng loại dữ liệu, có các thông tin chính: - Tên cột: dùng để phân biệt với các cột khác trong bảng. Tên cột trong bảng phải duy nhất và không dùng các ký tự đặc biệt. - Kiểu dữ liệu của cột: xác định loại giá trị nào được phép lưu trữ trong cột. 244 1.1. CSDL QUAN HỆ (tt) Các đối tượng chính của CSDL quan hệ (1) Bảng dữ liệu (table) • Dòng: Là tập hợp các thông tin của tất cả cột dữ liệu trong bảng. 245 1.1. CSDL QUAN HỆ (tt)  Các đối tượng chính của CSDL quan hệ (2) Quan hệ • Là thành phần được dùng để tạo mối liên kết giữa các bảng dữ liệu với nhau nhằm đảm bảo tính nhất quán, đúng đắn của dữ liệu trong CSDL. 246 1.2. CSDL MYSQL MySQL là một hệ quản trị cơ sở dữ liệu mã nguồn mở phổ biến trên thế giới. Sử dụng cho các ứng dụng Web có quy mô vừa và nhỏ. Để thực hiện các thao tác trên CSDL, có thể sử dụng giao diện đồ họa hay dùng dòng lệnh (command line) 247 1.2. CSDL MYSQL (tt) 248 MySQL hoàn toàn miễn phí Website ysql.com/ -Tốc độ cao, ổn định. - Hoạt động trên nhiều hệ điều hành Open source Free Fast 1.2. CSDL MYSQL (tt) CÁC TẬP TIN VẬT LÝ LƯU TRỮ CSDL Mỗi bảng sẽ được lưu trữ dưới ba tập tin vật lý:  .frm: lưu định dạng (cấu trúc) của bảng  .MYD : lưu nội dung của bảng  .MYI : lưu chỉ mục của bảng Các tập tin này sẽ được tự động lưu trữ trong thư mục: AppServ\MySQL\data\tên_CSDL 249 1.2. CSDL MYSQL (tt)  QUY TẮC ĐẶT TÊN  Tên không kết thúc bằng khoảng trắng.  Tên CSDL không có các ký tự /, \, ., :, *, ‘’,  Tên bảng không có các ký tự /, \, ., :, *, ‘’, , |  Chiều dài của tên tối đa là 64 ký tự không dấu. 250 2. CÁC KIỂU DỮ LIỆU TRONG MYSQL 251 2.4. Kiểu Date/Time 2.3. Kiểu True/False 2.2. Kiểu số thực 2.1. Kiểu số nguyên 2.5. Kiểu chuỗi 2.1. KIỂU SỐ NGUYÊN Kiểu dữ liệu Kích thước Miền giá trị TINYINT 1 byte -128127 hay 0255 SMALLINT 2 byte -3276832767 hay 065535 MEDIUMINT 3 byte -83886088388607 hay 016777215 INT 4 byte -231 231-1 hay 0 232-1 BIGINT 8 byte -263 263-1 hay 0 264-1 252 2.2. KIỂU SỐ THỰC Kiểu dữ liệu Kích thước Miền giá trị FLOAT 4 byte -3,402823466E+38 đến -1,175494351E-38, số 0, và từ 1,175494351E-38 đến 3,402823466E+38 DOUBLE 8 byte -1,7976931348623157E+308 đến - 2,2250738585072014E-308, số 0 và 2,2250738585072014E-308 đến 1,7976931348623157E+308 253 2.3. KIỂU TRUE/FALSE Kiểu dữ liệu Kích thước Miền giá trị BOOL 1 byte Có 2 giá trị True và False 254 2.4. KIỂU DATE/TIME 255 Kiểu dữ liệu Diễn giải Miền giá trị Date Ngày với định dạng yyyy-mm-dd ‘1000-01-01’ đến ‘9999-12-31’ Datetime Ngày giờ với định dạng yyyy-mm-dd hh:mm:ss ‘1000-01-01 00:00:00’ đến ‘9999-12- 31 23:59:59’ Time Giờ với định dạng hh:mm:ss ‘00:00:00’ đến ‘23:59:59’ Year[(2|4)] Năm với định dạng 2 hoặc 4 ký số 2 ký số: ‘1970’ đến ‘2069’ 4 ký số: ‘1901’ đến ‘2155’ Timestamp [(kích cỡ định dạng)] Thời gian với dạng yyyy- mm-dd hh:mm:ss ‘1970-01-01 00:00:01’ 2.4. KIỂU DATE/TIME 256 Kiểu dữ liệu Diễn giải Timestamp Định dạng yyyy-mm-dd hh:mm:ss Timestamp (14) Định dạng yyyy-mm-dd hh:mm:ss Timestamp (12) Định dạng yy-mm-dd hh:mm:ss Timestamp (10) Định dạng yy-mm-dd hh:mm Timestamp (8) Định dạng yyyy-mm-dd Timestamp (6) Định dạng yy-mm-dd Timestamp (4) Định dạng yy-mm Timestamp (2) Định dạng yy 2.5. KIỂU CHUỖI 257 Kiểu dữ liệu Diễn giải Miền giá trị Char Chuỗi cố định 1 – 255 ký tự Varchar Chuỗi động 1 – 255 ký tự Tinyblob Kiểu đối tượng nhị phân 255 ký tự Tinytext Kiểu đối tượng chuỗi văn bản 255 ký tự Blob Kiểu đối tượng nhị phân 65.635 ký tự Text Kiểu đối tượng chuỗi văn bản 65.635 ký tự Mediumblob Kiểu đối tượng nhị phân 16.777.215 ký tự Mediumtext Kiểu đối tượng chuỗi văn bản 16.777.215 ký tự Longblob Kiểu đối tượng nhị phân 4GB ký tự Longtext Kiểu đối tượng chuỗi văn bản 4GB ký tự 3. TẠO/XÓA CƠ SỞ DỮ LIỆU Ví dụ: Tạo CSDL quản lý sinh viên đơn giản như sau: Tạo CSDL như thế nào? 258 3. TẠO/XÓA CƠ SỞ DỮ LIỆU Có hai cách để tạo một CSDL là dùng giao diện đồ họa hoặc dùng dòng lệnh.  Lưu ý:  Tên CSDL: phải duy nhất trong một hệ quản trị CSDL MySQL  Vị trí lưu trữ: Khi tạo mới một CSDL hệ thống sẽ tự động tạo ra một thư mục có tên của CSDL và được lưu tại thư mục AppServ\MySQL\data\tên_CSDL 259 3. THAO TÁC VỚI CƠ SỞ DỮ LIỆU 260 3.2. Tạo CSDL bằng dòng lệnh 3.1. Tạo CSDL bằng giao diện đồ họa 3.5. Xóa CSDL bằng dòng lệnh 3.4. Xóa CSDL bằng giao diện đồ họa 3.3. Đổi tên CSDL 3.1. TẠO CSDL BẰNG GIAO DIỆN ĐỒ HỌA  Bước1: khởi động PHPMyAdmin  Bước 2: Nhập tên CSDL muốn tạo vào mục Create New Database và chọn các thông tin khác  Bước 3: Nhấn “Create” để hoàn thành việc tạo CSDL 261 3.2. TẠO CSDL BẰNG DÒNG LỆNH  Bước1: Trong cửa sổ PHPMyAdmin chọn mục SQL 262 3.2. TẠO CSDL BẰNG DÒNG LỆNH (tt)  Bước 2: Dùng câu lệnh CREATE DATABASE CREATE DATABASE Tên_CSDL [CHARACTER SET ] [COLLATE ] Với:  CHARACTER SET: xác định bộ ký tự mặc định cho CSDL mới  COLLATE: xác định bộ collation  Character set name: tên của một bộ mã bao gồm các ký tự, ký số, và biểu tượng để lưu trữ các thông tin trong CSDL  Collation name: tên của bộ mã tùy theo từng khu vực dựa trên bộ mã chuẩn character set name 263 3.2. TẠO CSDL BẰNG DÒNG LỆNH (tt) Ví dụ: Tạo CSDL tên qlsv 264 CREATE DATABASE qlsv CHARACTER SET utf8 COLLATE utf8_unicode_ci 3.3. ĐỔI TÊN CSDL Bước 1: chọn CSDL Bước 2: chọn link Operations 265 3.3. ĐỔI TÊN CSDL (tt) Bước 3: Nhập tên mới cho CSDL Bước 4: Nhấn GO 266 3.4. XÓA CSDL BẰNG GIAO DIỆN ĐỒ HỌA  Bước 1: Chọn CSDL cần xóa, sau đó nhấn DROP 267 3.4. XÓA CSDL BẰNG GIAO DIỆN ĐỒ HỌA (tt)  Bước2: Xác nhận việc xóa CSDL đã chọn, nhấn OK để xóa 268 3.5. XÓA CSDL BẰNG DÒNG LỆNH Dùng câu lệnh DROP DATABASE DROP DATABASE TÊN_CSDL Ví dụ: Xóa CSDL ql_ban_sua 269 DROP DATABASE ql_ban_sua 4. THAO TÁC TRÊN BẢNG 270 4.10. Export bảng 4.8. Xóa bảng 4.6. Sửa cấu trúc bảng 4.4. Xem dữ liệu 4.1. Khái niệm 4.9. Import bảng 4.7. Đổi tên bảng 4.5. Xóa/Sửa dữ liệu 4.3. Thêm dữ liệu 4.2. Tạo bảng 4.1. KHÁI NIỆM  Dùng để lưu trữ thông tin của những đối tượng, thực thể trong thế giới thực.  Các thông tin trong bảng sẽ được tổ chức thành các dòng (row) và các cột (column).  Mỗi dòng thông tin trong bảng là duy nhất do có một hoặc nhiều cột làm khóa chính. Dữ liệu của cột làm khóa chính không trùng lắp trong bảng.  Các bảng thường có quan hệ với nhau giúp trao đổi và chia sẻ thông tin. 271 4.1. KHÁI NIỆM (tt) Ví dụ: CSDL quản lý sinh viên như sau: 272 4.1. KHÁI NIỆM (tt) Thuộc tính:  Table name(Tên bảng): Duy nhất trong CSDL  Field (Cột): Tên duy nhất trong Table • Data type: Kiểu dữ liệu • Length/Value: Độ dài dữ liệu (đối với kiểu dữ liệu chuỗi hoặc số) • Collation: Kiểu hiển thị (Quy định bảng mã hiển thị cho dữ liệu trong cột) 273 4.1. KHÁI NIỆM (tt) Thuộc tính:  Field (Cột): • Attribute: Quy định thuộc tính cho cột. • NULL: Cho phép để trống dữ liệu khi thêm, cập nhật dữ liệu. • Default: Giá trị mặc định sẽ thêm vào cho cột khi thêm mới mẩu tin mà người dùng không nhập giá trị cho cột này. 274 4.1. KHÁI NIỆM (tt) Thuộc tính:  Field (Cột): • Extra (Thuộc tính mở rộng): Cho phép thiết lập thuộc tính auto increment (cột có giá trị tự động tăng dần khi thêm mới mẩu tin) cho khóa chính. • Comment: Chuỗi chú thích cho cột 275 4.2. TẠO BẢNG 4.2.2. Tạo bảng bằng câu lệnh SQL 4.2.1. Tạo bảng bằng giao diện đồ họa 276 4.2.1. TẠO BẢNG BẰNG GIAO DIỆN ĐỒ HỌA  Bước1: 277 4.2.1. TẠO BẢNG BẰNG GIAO DIỆN ĐỒ HỌA (tt)  Bước 2: Nhập thông tin cho các field 278 4.2.2. TẠO BẢNG BẰNG CÂU LỆNH SQL (1) Tạo bảng đơn giản CREATE TABLE Tên_bảng ( Tên_cột_1 kiểu_dữ_liệu[(kích_cỡ)] [NOT NULL], Tên_cột_2 kiểu_dữ_liệu[(kíchcỡ)] [NOT NULL], ... )  NOT NULL: không cho phép để trống dữ liệu trong cột 279 4.2.2. TẠO BẢNG BẰNG CÂU LỆNH SQL (tt) Ví dụ: tạo bảng khoa với hai cột dữ liệu không được phép bỏ trống 280 CREATE TABLE khoa ( makh char(2) NOT NULL, tenkh varchar(20) NOT NULL ) 4.2.2. TẠO BẢNG BẰNG CÂU LỆNH SQL (tt) (2) Tạo bảng có giá trị mặc định CREATE TABLE Tên_bảng ( Tên_cột_1 kiểu_dữ_liệu[(kích_cỡ)] DEFAULT giá_trị, Tên_cột_2 kiểu_dữ_liệu[(kíchcỡ)] [NOT NULL], ... ) 281 4.2.2. TẠO BẢNG BẰNG CÂU LỆNH SQL (tt) (3) Tạo khóa chính PRIMARY KEY (Các_cột_tham_gia_làm_khóa_chính)  Đối với bảng mà khóa chính chỉ có một cột: có thể khai báo khóa chính ngay sau khi khai báo cột.  Đối với bảng có nhiều cột tham gia làm khóa: thiết lập các cột trước rồi tạo khóa chính sau. 282 4.2.2. TẠO BẢNG BẰNG CÂU LỆNH SQL (tt)  Ví dụ: 283 CREATE TABLE khoa ( makh char(2) NOT NULL PRIMARY KEY, tenkh varchar(20) NOT NULL ) 4.2.2. TẠO BẢNG BẰNG CÂU LỆNH SQL (tt)  Ví dụ: 284 CREATE TABLE ketqua ( mamh char(2) NOT NULL, masv char(3) NOT NULL, diem tinyint UNSIGNED NOT NULL, PRIMARY KEY (mamh, masv) ) 4.2.2. TẠO BẢNG BẰNG CÂU LỆNH SQL (tt) Ví dụ: 285 4.2.2. TẠO BẢNG BẰNG CÂU LỆNH SQL (tt) (4) Tạo cột tự tăng giá trị Xác định cột tự tăng giá trị (Auto_Increment) Thuộc tính auto_increment chỉ có thể thiết lập cho cột có kiểu dữ liệu là kiểu số nguyên. Trong một bảng, chỉ có thể có một cột có thuộc tính auto_increment, cột này phải là khóa và không thiết lập giá trị mặc định DEFAULT. 286 4.2.2. TẠO BẢNG BẰNG CÂU LỆNH SQL (tt)  Ví dụ: 287 CREATE TABLE monhoc ( mamh int NOT NULL AUTO_INCREMENT PRIMARY KEY , tenmh varchar(30) NOT NULL ) 4.2.2. TẠO BẢNG BẰNG CÂU LỆNH SQL (tt) (5) Tạo bảng có dữ liệu duy nhất UNIQUE (Các cột có dữ liệu duy nhất)  Đối với bảng chỉ có một cột có dữ liệu duy nhất: có thể khai báo ngay sau khi khai báo cột.  Đối với bảng có nhiều cột có dữ liệu duy nhất: thiết lập các cột trước rồi tạo duy nhất sau. 288 4.2.2. TẠO BẢNG BẰNG CÂU LỆNH SQL (tt)  Ví dụ: 289 CREATE TABLE monhoc ( mamh int NOT NULL AUTO_INCREMENT PRIMARY KEY , tenmh varchar(30) NOT NULL UNIQUE ) 4.3. THÊM DỮ LIỆU 4.3.2. Thêm dữ liệu bằng câu lệnh SQL 4.3.1. Thêm dữ liệu bằng giao diện đồ họa 290 4.3.1. THÊM DỮ LIỆU BẰNG GIAO DIỆN ĐỒ HỌA 291 4.3.2. THÊM DỮ LIỆU BẰNG CÂU LỆNH SQL Thêm mới một hay nhiều dòng dữ liệu vào bên trong một bảng. INSERT INTO Tên_bảng [(tên các cột trong bảng)] VALUES (Danh_sách_các_giá_trị) Ví dụ: 292 INSERT INTO monhoc ('mamh','tenmh') VALUES ('3', 'Anh văn 1'), ('4', 'Đại số tuyến tính') 4.4. XEM DỮ LIỆU 293 4.5. XÓA / SỬA DỮ LIỆU 4.5.2. Xóa/sửa dữ liệu bằng câu lệnh SQL 4.5.1. Xóa/sửa dữ liệu bằng giao diện đồ họa 294 4.5.1. XÓA / SỬA DỮ LIỆU BẰNG GIAO DIỆN ĐỒ HỌA 295 4.5.2. XÓA / SỬA DỮ LIỆU BẰNG CÂU LỆNH SQL Cập nhật (sửa đổi) dữ liệu đã có trong bảng. UPDATE Tên_bảng SET Tên_cột = Giá_trị(hoặc biểu thức) [,...] WHERE Điều_kiện_cập_nhật Ví dụ: 296 UPDATE monhoc SET tenmh = 'Toán rời rạc' WHERE mamh =4 4.5.2. XÓA / SỬA DỮ LIỆU BẰNG CÂU LỆNH SQL Xoá các dòng ra khỏi bảng. Ví dụ: 297 DELETE FROM Tên_bảng WHERE Điều_kiện_xóa DELETE FROM monhoc WHERE mamh = 4 4.6. SỬA CẤU TRÚC BẢNG 4.6.2. Sửa cấu trúc bảng bằng câu lệnh SQL 4.6.1. Sửa cấu trúc bảng bằng giao diện đồ họa 298 4.6.1. SỬA CẤU TRÚC BẢNG BẰNG GIAO DIỆN ĐỒ HỌA a) Thêm cột  Bước1: Chọn Structure để hiển thị cấu trúc của bảng cần thêm cột 299 4.6.1. SỬA CẤU TRÚC BẢNG BẰNG GIAO DIỆN ĐỒ HỌA a) Thêm cột  Bước 2: nhập số cột muốn thêm vào ô Add và chọn vị trí cần thêm cột đó trong bảng là: • At End of Table: thêm vào cuối bảng • At Beginning of Table: thêm vào đầu bảng • After : thêm vào sau tên_cột được chọn Sau đó nhấn Go 300 4.6.1. SỬA CẤU TRÚC BẢNG BẰNG GIAO DIỆN ĐỒ HỌA a) Thêm cột  Bước 3: điền các thông tin cho cột mới như tên cột (Field), kiểu dữ liệu (Type), rồi nhấn Save để hoàn thành việc thêm cột mới vào bảng 301 4.6.1. SỬA CẤU TRÚC BẢNG BẰNG GIAO DIỆN ĐỒ HỌA b) Xóa cột  Bước1: Chọn Structure để hiển thị cấu trúc của bảng 302 4.6.1. SỬA CẤU TRÚC BẢNG BẰNG GIAO DIỆN ĐỒ HỌA b) Xóa cột  Bước 2: chọn cột cần xóa và nhấn nút 303 4.6.1. SỬA CẤU TRÚC BẢNG BẰNG GIAO DIỆN ĐỒ HỌA b) Xóa cột  Bước 3: chọn OK 304 4.6.1. SỬA CẤU TRÚC BẢNG BẰNG GIAO DIỆN ĐỒ HỌA c) Sửa đổi cột  Bước1: Chọn cột muốn sửa đổi dữ liệu trong bảng, sau đó nhấn chọn biểu tượng sửa. 305 4.6.1. SỬA CẤU TRÚC BẢNG BẰNG GIAO DIỆN ĐỒ HỌA c) Sửa đổi cột  Bước 2: sửa đổi xong nhấn Save. 306 4.6.2. SỬA CẤU TRÚC BẢNG BẰNG CÂU LỆNH SQL a) Thêm cột ALTER TABLE Tên_bảng ADD Tên_cột kiểu_dữ_liệu [(kích_cỡ)] [...] Chú ý: Tên cột mới thêm vào phải khác với tên các cột đã có trong bảng. 307 4.6.2. SỬA CẤU TRÚC BẢNG BẰNG CÂU LỆNH SQL a) Thêm cột Ví dụ: thêm cột mo_ta có kiểu varchar(255) cho bảng sinhvien đã tạo ở trên 308 ALTER TABLE sinhvien ADD mo_ta varchar(255) 4.6.2. SỬA CẤU TRÚC BẢNG BẰNG CÂU LỆNH SQL b) Xóa cột ALTER TABLE Tên_bảng DROP COLUMN Tên_cột, ... 309 4.6.2. SỬA CẤU TRÚC BẢNG BẰNG CÂU LỆNH SQL c) Sửa đổi cột ALTER TABLE Tên_bảng CHANGE tên_cột_cũ tên_cột_mới kiểu_dữ_liệu_mới[kích_cỡ] 310 4.6.2. SỬA CẤU TRÚC BẢNG BẰNG CÂU LỆNH SQL c) Sửa đổi cột Ví dụ: thêm cột mo_ta có kiểu text cho bảng sinhvien đã tạo ở trên 311 ALTER TABLE sinhvien CHANGE mo_ta mo_ta text 4.7. ĐỔI TÊN BẢNG Bước 1: chọn bảng Bước 2: chọn link OPERATIONS 312 4.7. ĐỔI TÊN BẢNG Bước 3: Nhập tên mới cho bảng Bước 4: Nhấn Go 313 4.8. XÓA BẢNG 4.8.2. Xóa bảng bằng câu lệnh SQL 4.8.1. Xóa bảng bằng giao diện đồ họa 314 4.8.1. XÓA BẢNG BẰNG GIAO DIỆN ĐỒ HỌA 315 4.8.2. XÓA BẢNG BẰNG CÂU LỆNH SQL DROP TABLE Tên_bảng 316 4.9. IMPORT BẢNG Bước 1: Chọn CSDL Bước 2: Chọn link Import 317 4.9. IMPORT BẢNG Bước 3: Chọn tập tin .sql Bước 4: Nhấn Go để tiến hành import dữ liệu từ file .sql vào CSDL. 318 4.10. EXPORT BẢNG 319 4.10. EXPORT BẢNG 320 5. THỰC THI CÂU LỆNH SELECT 321 5.4. Câu lệnh Select có giới hạn 5.3. Câu lệnh Select có phân nhóm 5.2. Câu lệnh Select có sắp xếp dữ liệu 5.1. Câu lệnh Select đơn giản 5.1. CÂU LỆNH SELECT ĐƠN GIẢN  Chọn ra dữ liệu của các cột có trong bảng. Dùng * khi muốn lấy dữ liệu từ tất cả các cột trong bảng 322 SELECT * | tên_các_cột FROM tên_các_bảng 5.1. CÂU LỆNH SELECT ĐƠN GIẢN Lọc các dòng dữ liệu trong bảng theo điều kiện đưa ra trong mệnh đề WHERE Các phép toán thường gặp trong điều kiện lọc  So sánh: >, >=,  Logic: and, or, not, in, not in, between, like, not like  So sánh chuỗi: phép toán like kết hợp ký tự đại diện %, _ 323 SELECT tên_các_cột FROM tên_các_bảng WHERE điều_kiện_lọc 5.2. CÂU LệNH SELECT CÓ SẮP XẾP DỮ LIệU  Sắp xếp lại dữ liệu theo thứ tự tăng dần hoặc giảm dần. Mặc định, cột sẽ được sắp xếp tăng dần, nếu muốn sắp xếp cột theo thứ tự giảm dần thì cần thêm từ khóa DESC 324 SELECT tên_các_cột FROM tên_các_bảng ORDER BY tên_cột_sắp_xếp [DESC, ] 5.3. CÂU LỆNH SELECT CÓ PHÂN NHÓM Nhóm dữ liệu của các dòng trong bảng và sử dụng thêm các hàm thống kê để tính toán dữ liệu có tính chất thống kê. 325 SELECT tên_các_cột , hàm_thống_kê [as tên] FROM tên_các_bảng GROUP BY tên_các_cột_nhóm_dữ_liệu 5.3. CÂU LỆNH SELECT CÓ PHÂN NHÓM Các hàm thống kê:  MAX: hàm trả về giá trị lớn nhất theo nhóm  MIN: hàm trả về giá trị nhỏ nhất theo nhóm  AVG: hàm trả về giá trị trung bình theo nhóm trong câu lệnh truy vấn trên bảng  SUM: hàm trả về tổng các giá trị theo nhóm  COUNT: hàm trả về số lượng mẩu tin theo nhóm trong câu truy vấn trên bảng 326 5.3. CÂU LỆNH SELECT CÓ PHÂN NHÓM Lọc lại dữ liệu sau khi đã gom nhóm dữ liệu bằng mệnh đề GROUP BY 327 SELECT tên_các_cột , hàm_thống_kê [as tên] FROM tên_các_bảng GROUP BY tên_các_cột_nhóm_dữ_liệu HAVING điều_kiện_lọc_sau_khi_nhóm 5.4. CÂU LỆNH SELECT CÓ GIỚI HẠN Giúp lấy ra m mẩu tin trong bảng tính từ vị trí n, theo một tiêu chuẩn sắp xếp nào đó 328 SELECT tên_các_cột , hàm_thống_kê [as tên] FROM tên_các_bảng WHERE điều_kiện_lọc GROUP BY tên_các_cột_nhóm_dữ_liệu HAVING điều_kiện_lọc_sau_khi_nhóm ORDER BY tên_cột_sắp_xếp [DESC, ] LIMIT n,m TRƯỜNG ĐẠI HỌC TÀI CHÍNH MARKETING KHOA CÔNG NGHỆ THÔNG TIN CHƯƠNG 5 Kết hợp PHP và MySQL NỘI DUNG CHƯƠNG 5 Kết nối CSDL 1 Chọn CSDL sử dụng 2 Thực thi các câu lệnh truy vấn 3 Duyệt recordset 4 Thêm dữ liệu 6 Cập nhật dữ liệu 7 Xóa dữ liệu 8 Thông báo lỗi trong MySQL 9 Đếm số record trong recordset 5 Quy định bảng mã 10 1.KẾT NỐI CSDL Cú pháp:  Trong đó:  host: địa chỉ của máy cài MySQL. Nếu máy nội bộ thì dùng localhost.  username: tài khoản kết nối  password: mật khẩu kết nối 331 mysql_connect (,,); 1.KẾT NỐI CSDL  Ví dụ:  Host: localhost  Username: root  Password: root Câu lệnh kết nối CSDL: 332 $conn= mysql_connect ("localhost", "root", “root"); Tên kết nối 1.KẾT NỐI CSDL Cú pháp đóng kết nối CSDL:  Ví dụ: 333 mysql_close (Tên kết nối); $conn= mysql_connect ("localhost", "root", “root"); mysql_close ($conn); 2.CHỌN CSDL SỬ DỤNG Cú pháp:  Trong đó:  Tên CSDL: là tên của cơ sở dữ liệu muốn dùng  Tên kết nối: là tên biến kết nối CSDL (do hàm mysql_connect trả về). Tên kết nối có thể bỏ qua. 334 mysql_select_db("Tên CSDL" [, Tên kết nối]); 2.CHỌN CSDL SỬ DỤNG  Ví dụ:  Cần dùng CSDL sanpham Câu lệnh chọn CSDL: Hoặc 335 mysql_select_db ("sanpham", $conn); Tên kết nối mysql_select_db ("sanpham"); 3. THỰC THI CÂU LỆNH TRUY VẤN Cú pháp:  Nếu câu lệnh truy vấn không thực hiện được, hàm trả về false.  Nếu câu lệnh truy vấn thực thi thành công: • Hàm trả về 1 recordset (bảng dữ liệu) đối với câu lệnh select. • Hàm trả về true đối với các câu lệnh khác như insert, update, delete 336 mysql_query("Câu lệnh sql"); 3. THỰC THI CÂU LỆNH TRUY VẤN Ví dụ: 337 $sanpham = mysql_query(“select * from sanpham”) $result=mysql_query(“delete from sanpham where idSP=1”) 4.DUYỆT RECORDSET Cú pháp:  Hàm trả về thông tin của record hiện hành  Nếu rỗng thì trả về false  Đồng thời di chuyển con trỏ sang record kế Muốn hiện dữ liệu của field nào trong recordset thì ghi: $result['tên field'] 338 $result=mysql_fetch_assoc("Tên recordset"); 4.DUYỆT RECORDSET  Ví dụ: 339 11/1/2010 <?php $sql="select * from sanpham"; $sanpham=mysql_query($sql); $row_sanpham=mysql_fetch_assoc($sanpham);?> <?php } while $row_sanpham=mysql_fetch_assoc($sanpham)); ?> 5.ĐẾM SỐ RECORD TRONG RECORDSET Cú pháp:  Hàm trả về tổng số record trong recordset đang chọn  Nếu rỗng thì trả về 0 340 $result=mysql_num_rows(Tên recordset); 5.ĐẾM SỐ RECORD TRONG RECORDSET  Ví dụ: 341 <?php $sql="select * from sanpham"; $sanpham=mysql_query($sql); $numrow_sanpham=mysql_num_rows($sanpham);?> echo $numrow_sanpham; ?> 6. THÊM DỮ LIỆU Cú pháp Hàm liên quan  mysql_affected_rows(): Số bản ghi bị tác động bởi lệnh mysql_query liền trước.  mysql_insert_id(): lấy id vừa mới cập nhật. 342 <?php $sql="insert into Tên_bảng values(' ', )"; $result = mysql_query($sql); ?> 7. CẬP NHẬT DỮ LIỆU Cú pháp Hàm liên quan  mysql_affected_rows(): Số bản ghi bị tác động bởi lệnh mysql_query liền trước. 343 <?php $sql=“update set values( )"; $result = mysql_query($sql); ?> 8. XÓA DỮ LIỆU Cú pháp Hàm liên quan  mysql_affected_rows(): Số bản ghi bị tác động bởi lệnh mysql_query liền trước. 344 <?php $sql=“delete from where "; $result = mysql_query($sql); ?> 9. THÔNG BÁO LỖI CỦA MYSQL Cú pháp:  Ví dụ: <?php $sql="select * from sanpham"; $sanpham=mysql_query($sql) or die (mysql_error()); ?> 345 mysql_error (); 10. QUY ĐỊNH BẢNG MÃ Cú pháp:  Ví dụ: 346 mysql_query("set names 'utf8'"); <?php $conn= mysql_connect ("localhost", "root", “root"); mysql_select_db ("sanpham", $conn); mysql_query("set names 'utf8'"); ?> TRƯỜNG ĐẠI HỌC TÀI CHÍNH MARKETING KHOA CÔNG NGHỆ THÔNG TIN

Các file đính kèm theo tài liệu này:

  • pdfbaigianglaptrinhphp1_4702.pdf
Tài liệu liên quan