Đại Học Sư Phạm Tp.. Hồ Chí MinhĐại Học Sư Phạm Tp.. Hồ Chí Minh LẬP TRÌNH WEB PHP... Các l ệ nh thông d ụ ng trong MySQL ; CREATE USER CREATE USER username username[@ [@hostname hostna
Trang 1Đại Học Sư Phạm Tp Hồ Chí Minh
Đại Học Sư Phạm Tp Hồ Chí Minh
LẬP TRÌNH WEB PHP
Trang 2Nội dung
1 Các ki ể u d ữ li ệ u c ơ b ả n trong MySQL
2 Các l ệ nh thông d ụ ng trong MySQL
3 K ế t n ố i MySQL t ừ PHP
4 Quy trình k ế t n ố i vào MySQL
4 Quy trình k ế t n ố i vào MySQL
5 Các b ướ c truy c ậ p CSDL MySQL
Trang 31 Các ki Các ki ể ể u d u d ữ ữ li li ệ ệ u c u c ơ ơ b b ả ả n trong n trong MySQL
Ki ể u
Ki ể u Mô t Mô t ả ả
char(length) t tốối i đđa 255 ký t a 255 ký tựự, chi , chiềều dài c u dài cốố địđịnh = nh = length length
varchar(length) t tốối i đđa 255 ký t a 255 ký tựự, chi , chiềều dài u dài độđộng <= ng <= length length
Trang 4Ki ể u
Ki ể u Mô t Mô t ả ả
enum(“option1”,
“option2”,…) t tậập h p hợợp t p tựự địđịnh, ngh nh, nghĩĩa t a tốối i đđa 65.535 giá tr a 65.535 giá trịị
date yyyy yyyy mm mm dd dd
Trang 5DELETE xóa d xóa dữữ li liệệu kh u khỏỏi b i bảảng ng
2 Các l ệ nh thông d ụ ng trong MySQL
2 Các l ệ nh thông d ụ ng trong MySQL
DELETE xóa d xóa dữữ li liệệu kh u khỏỏi b i bảảng ng
DESCRIBE xem thông tin mô t xem thông tin mô tảả v vềề c cấấu trúc b u trúc bảảng ng
INSERT
INSERT INTO INTO ghi giá tr ghi giá trịị vào b vào bảảng ng
UPDATE c cậập nh p nhậật d t dữữ li liệệu u đđã có trong b ã có trong bảảng ng
Trang 62 Các l ệ nh thông d ụ ng trong MySQL
2 Các l ệ nh thông d ụ ng trong MySQL
);
CREATE USER
CREATE USER username username[@ [@hostname hostname] [IDENTIFIED BY ] [IDENTIFIED BY
[PASSWORD] '
[PASSWORD] 'password password'];'];
CREATE [OR REPLACE] VIEW
CREATE [OR REPLACE] VIEW viewname viewname AS SELECT ; AS SELECT ;
Trang 72 Các l ệ nh thông d ụ ng trong MySQL
2 Các l ệ nh thông d ụ ng trong MySQL
Trang 82 Các l ệ nh thông d ụ ng trong MySQL
2 Các l ệ nh thông d ụ ng trong MySQL
SELECT columnname columnname, ,
FROM tablename tablename, ,
Trang 92 Các l ệ nh thông d ụ ng trong MySQL
2 Các l ệ nh thông d ụ ng trong MySQL
DELETE FROM tablename
Trang 102 Các l ệ nh thông d ụ ng trong MySQL
2 Các l ệ nh thông d ụ ng trong MySQL
INSERT INTO tablename tablename [(columns, )] [(columns, )]
Trang 112 Các l ệ nh thông d ụ ng trong MySQL
2 Các l ệ nh thông d ụ ng trong MySQL
Trang 122 Các l ệ nh thông d ụ ng trong MySQL
2 Các l ệ nh thông d ụ ng trong MySQL
DROP DATABASE | INDEX | PROCEDURE ||
TABLE | TRIGGER | USER | VIEW itemname;
VD:
VD:
•• Xóa b Xóa b ả ả ng SINHVIEN: ng SINHVIEN: DROP TABLE SinhVien
•• Xóa CSDL QLSV: DROP DATABASE QLSV;
Trang 14MySQL Query Browser
MySQL Query Browser
MySQL Maestros
Navicat
MySQL Manager
Trang 16– H H ỗ ỗ tr tr ợ ợ l l ậ ậ p trình h p trình h ướ ướ ng ng đố đố i t i t ượ ượ ng ng
– H H ỗ ỗ tr tr ợ ợ l l ậ ậ p trình h p trình h ướ ướ ng ng đố đố i t i t ượ ượ ng ng
– H H ỗ ỗ tr tr ợ ợ nhân b nhân b ả ả n và phân tán CSDL n và phân tán CSDL
– Nén và mã hóa d Nén và mã hóa d ữ ữ li li ệ ệ u trên k u trên k ế ế t n t n ố ố i i
– T T ố ố i i ư ư u hi u hi ệ ệ u n u n ă ă ng và mã ng và mã
Trang 174 Quy trình k ế t n ố i vào MySQL
4 Quy trình k ế t n ố i vào MySQL
Trang 18B ướ c 1: M ở k ế t n ố i đế n CSDL
B ướ c 1: M ở k ế t n ố i đế n CSDL
// OOP mysqli
$mysqli = new mysqli (' ('hostname hostname', ' ', 'username username', ',
''password password', ' ', 'dbname dbname'); ');
// mysqli
// mysqli
$link = mysqli_connect (' ('hostname hostname', ',
''username username', ' ', 'password password', ' ', 'dbname dbname'); ');
Trang 20mysqli_query ($link, "SET NAMES ‘ ($link, "SET NAMES ‘character set character set’") ’")
mysqli_query ($link, "SET NAMES ‘ ($link, "SET NAMES ‘character set character set’") ’")
VD: SET NAMES UTF8
Trang 255 Các bước truy cập CSDL MySQL
Trang 26Khai báo sử dụng CSDL MySQL
$conn = mysqli_connect ($dbhost, $dbuser,
$dbpass) or die (Không th ể k ế t n ố i CSDL
Trang 27Khai báo sử dụng CSDL MySQL (tt)
• Truy v ấ n d ữ li ệ u:
$result = mysqli_query (‘câu_truy_v ấ n’);
• Gi ả i phóng tài nguyên truy v ấ n
Trang 28Lưu ý
• Hàm die (“Chu ỗ i”) : Đư a ra thông báo và
k ế t thúc
• V ớ i cách vi ế t trên, die ch ỉ th ự c hi ệ n khi
l ệ nh tr ướ c nó không thành công
Trang 29Xem thêm
• K ế t n ố i CSDL MySQL s ử d ụ ng PDO
P HP D ata O bjects
Trang 30Cấu hình để sử dụng PDO
• Need to enable PDO in your php.ini
• MUST load PDO first
Trang 31Connecting via PDO
try {
$dbh = new PDO ($dsn ,
$user , $password , $options );
} catch (PDOException $e) {
} catch (PDOException $e) {
echo “Failed to connect:”
$e->getMessage();
}
Trang 32– odbc:odbc_dsn
Trang 33Connection management
try {
$dbh = new PDO($dsn, $user, $pw);
} catch (PDOException $e) {
echo “connect failed:” $e->getMessage();
}
// use the database here
// use the database here
// …
// done; release the connection
Trang 34Let’s get data
Trang 36Let’s change data
$deleted = $dbh->query(
“DELETE FROM FOO WHERE 1”);
$changes = $dbh->query(
$changes = $dbh->query(
“UPDATE FOO SET active=1 ”
“WHERE NAME LIKE ‘%joe%’”);
Trang 37Smarter Queries
• Quoting is annoying, but essential
• PDO offers a better way
$stmt->prepare(‘INSERT INTO CREDITS
(extension, name) VALUES (:extension,
Trang 38Binding for output
echo “Extension: $extension\n”;
echo “Author: $name\n”;
}
}
Trang 40Câu hỏi và thảo luận