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%
347 trang |
Chia sẻ: Mr Hưng | Lượt xem: 827 | Lượt tải: 0
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:
- baigianglaptrinhphp1_4702.pdf