SlideShare a Scribd company logo
LAÄP TRÌNH WEB ĐỘNG VÔÙI
PHP / MySQL
GUESTBOOK
CATALOG
FORUM
SHOPPING CART
PHAÀN 2
Toáng Phöôùc Khaûi (toång hôïp& bieân dòch)
Phöông phaùp truy xuaát CSDL
MySQL
1- Töø Command Prompt
2- Baèng leänh PHP
3- Duøng phpMyadmin
Ñeå hieåu ñöôïc chöông naøy moät caùch roõ raøng, tröôùc tieân baïn caàn phaûi coù moät soá kieán thöùc cô
baûn veà Cô Sôû Döõ Lieäu quan heä. Neáu baïn ñaõ hoïc qua moät khoaù caên baûn veà MS Access trong
chöông trình ñaøo taïo chöùng chæ B chaúng haïn thì haún nhieân baïn coù theå tieáp tuïc. Coøn neáu nhö
baïn chöa bieát gì veà noù thì toâi seõ baøn ñeán noù trong phaàn Phuï Luïc cuûa giaùo trình naøy hoaëc baïn
coù theå tìm ngay moät taøi lieäu tham khaûo veà CSDL, deã nhaát laø taøi lieäu vaø MS Access ...
... Toâi chaéc raèng baây giôø baïn ñaõ coù kieán thöùc veà CSDL vaø hieåu bieát Table laø gì roài! Coù haøng
khoái coâng vieäc baïn seõ phaûi laøm vieäc ñoái vôùi caùc Table vaø baïn seõ ñöôïc höôùng daãn caën keõ
trong quyeån saùch naøy. Baïn seõ phaûi vöôït qua moät soá kieán thöùc veà noù ñeå môùi coù theå thaønh thaïo
trong thao taùc vôùi Table. Nhö baïn bieát ñaáy: Con ñöôøng ñi ñeán thaønh coâng khoâng coù traûi thaûm
saün ñaâu!
Neáu baïn ñaõ töøng laøm vieäc vôùi MS SQL Server hay Access chuùng ñeàu coù hoã trôï vieäc taïo CSDL
raát laø deã daøng vôùi giao dieän tröïc quan. Ñoái vôùi MySQL baïn cuõng coù theå söû duïng coâng cuï tröïc
quan ñoù laø phpMyadmin.
Tuy nhieân, baïn phaûi hoïc caùch thao taùc vôùi CSDL baèng doøng leänh, toâi chaéc raèng ñieàu naøy seõ
raát coù ích cho baïn. Muoán chöông trình cuûa baïn trong luùc chaïy thao taùc töï ñoäng vôùi CSDL thì
baïn caàn haøng taù leänh PHP/SQL ñeå thöïc hieän caùc yeâu caàu cuûa chöông trình.
Tröôùc khi chuùng ta taïo caùc table trong CSDL cuûa MySQL, coù moät vaøi thöù baïn caàn phaûi hieåu
roõ. Nhöõng khaùi nieäm cô baûn maø toâi saép giôùi thieäu sau ñaây raát quan troïng. Baïn haõy chaéc raèng
mình ñaõ naém kyõ veà chuùng tröôùc khi thöïc hieän vieäc thieát keá döõ lieäu.
Null
Vieäc ñaàu tieân baïn phaûi laøm trong vieäc thieát keá moät table laø quyeát ñònh xem moät field coù cho
pheùp giaù trò NULL hay khoâng.
Trong CSDL quan heä, giaù trò NULL cuûa moät field ñoàng nghóa vôùi noù coù theå chaáp nhaän khoâng
coù döõ lieäu trong ñoù. Neân nhôù raèng giaù trò NULL khaùc vôùi giaù trò cuûa moät chuoãi khoâng coù kyù
töï trong ñoù hoaëc soá coù giaù trò 0.
Ñoâi khi trong chöông trình, baïn seõ thöïc hieän moät soá ñoäng taùc so saùnh xem moät chuoãi naøo ñoù
coù chöùa giaù trò hay khoâng, noù coù theå laø moät caâu leänh IF. Xeùt moät ví duï PHP nhö sau:
$var //this is a variable used in the test
if ($var == “”)
{
echo “Var is an empty string”;
} else {
echo $var;
}
Neáu baïn thöïc hieän vieäc so saùnh xem giaù trò soá coù phaûi 0 hay khoâng thì cuõng thöïc hieän töông
töï.
Ñoäng taùc so saùnh treân seõ khoâng laøm vieäc ñöôïc ñoái vôùi giaù trò NULL. Baïn neân hieåu raèng
NULL laø khoâng chöùa baát kyø giaù trò gì trong ñoù, cho neân vieäc so saùnh trò khoâng mang yù nghóa
gì caû. Trong chöông 3 baïn seõ thaáy raèng ñoái vôùi giaù trò NULL ñoøi hoûi laäp trình vieân phaûi raát
caân nhaéc khi vieát leänh lieân keát table.
Trong leänh SELECT cuûa SQL, coù moät soá caùch ñeå baïn coù theå kieåm tra neáu nhö moät field
chöùa giaù trò NULL. Tröôùc heát baïn haõy söû duïng haøm Isnull(). Giaû söû tìm moät record trong
table maø giaù trò midle_name laø NULL, baïn coù theå söû duïng query sau:
select * from names where isnull(middle_name);
Hoaëc laáy caùc record maø middle_name khaùc NULL:
select * from names where !isnull(middle_name);
Baïn cuõng coù theå söû duïng is null vaø is not null:
select * from users were addr2 is null;
select * from users where addr2 is not null;
Ñeå roõ hôn, baïn haõy xem chuyeän gì xaûy ra khi toâi coá gaéng lieân keát hai table sau:
Khach_hang
ten ho_lot ba_xa
Trung Le Anh 1321
Khai Tong Phuoc Null
Hon_nhan
ba_xa ten ho_lot
1321 Diem Nguyen Thuy
Neáu baïn muoán tìm teân caùc khaùch haøng vaø teân nhöõng baø xaõ cuûa hoï, baïn seõ phaûi lieân keát 2
table naøy thoâng qua field ba_xa. (Xin baïn chôù lo laéng khi chöa hieåu veà cuù phaùp, baïn seõ hoïc
ngay ôû phaàn tieáp theo thoâi).
SELECT * FROM khach_hang, hon_nhan
WHERE khach_hang.ba_xa = hon_nhan.ba_xa
Vieäc thöïc hieän naøy chæ ñuùng ñoái vôùi Trung, nhöng seõ coù vaán ñeà ñoái vôùi Khai bôûi vì anh ta haõy
coøn ñoäc thaân vaø ba_xa cuûa anh ta laø NULL.
Trong chöông 3 baïn seõ khaûo saùt kyõ hôn veà vaán ñeà naøy.
Index
Ngöôøi ta noùi raèng öu ñieåm vöôït troäi cuûa Heä quaûn trò CSDL quan heä laø noù thöïc hieän caùc vieäc
tìm kieám hay saép xeáp nhöõng khoái löôïng döõ lieäu khoång loà moät caùch raát nhanh choùng. Sôû dó noù
thöïc hieän ñöôïc vieäc naøy laø do noù coù chöùa moät cô caáu löu tröõ döõ lieäu goïi laø INDEX.
INDEX cho pheùp database server taïo ñöôïc moät field ñaëc tröng tìm kieám vôùi toác ñoä khoù ngôø.
Caùc INDEX ñaëc bieät hoã trôï moät hoaëc moät nhoùm caùc record trong moät table chöùa soá löôïng lôùn
caùc record. Chuùng cuõng hoã trôï toác ñoä cho caùc haøm lieân keát hoaëc taùch nhoùm döõ lieäu nhö
min(), max(), baïn seõ tìm hieåu ôû Chöông 3.
Vôùi caùc tính naêng vöôït troäi naøy, taïi sao ngöôøi ta laïi khoâng taïo index trong taát caû caùc field cuûa
moät table? Coù moät soá ñieàu trôû ngaïi nhö sau: Thöù nhaát, index coù seõ laøm chaäm moät soá tieán
trình trong CSDL. Moãi laàn baûo trì caùc index Database Server phaûi maát khaù nhieàu thôøi gian.
Coù moät vaøi tröôøng hôïp chính caùc index laøm cho chuùng chaäm haún. Neáu nhö treân table cuûa baïn
taát caû caùc record ñeàu gioáng y nhö nhau thì khoâng coù lyù do gì ñeå baïn taïo index. Caùc index dö
thöøa chæ laøm cho toán theâm khoâng gian ñóa cuûa baïn maø thoâi.
Ñoái vôùi moät table coù gaén khoaù chính (primary key) thì thoâng thöôøng field coù khoaù naøy ñöôïc
duøng vaøo vieäc tìm kieám cho neân index seõ ñöôïc gaùn töï ñoäng treân field naøy.
Baïn seõ gaëp laïi raát nhieàu coâng vieäc taïo index ôû caùc phaàn tieáp theo sau.
Leänh CREATE Database
Tröôùc khi taïo ñöôïc moät Table thì ñieàu taát yeáu laø baïn phaûi taïo ñöôïc moät Database caùi ñaõ.
Vieäc naøy deã daøng vaø nhanh choùng thoâi. Leänh CREATE ñöôïc söû duïng nhö sau:
mysql> create database database_name;
Neáu nhö baïn thaéc maéc raèng sau khi taïo database noù seõ naèm ôû trong thö muïc naøo treân oå ñóa cuûa baïn thì baïn haõy
tìm trong ..mysqldata xem coù khoâng.
Khi ñaët teân cho database, hay ñaët teân cho field vaø index gì ñaáy traùnh tröôøng traùnh tröôøng hôïp
ñaët nhöõng caùi teân khoù nhôù hoaëc deã bò laãn loän. Ñoái vôùi moät soá heä thoáng Unix chaúng haïn coù söï
phaân bieät chöõ HOA/thöôøng thì CSDL chaïy treân noù cuõng aûnh höôûng theo.
Baïn haõy choïn moät quy öôùc cho rieâng mình trong vieäc ñaët teân ñeå khoûi nhaàm laãn veà sau.
Chaúng haïn teân cuûa table vaø field ñeàu ñaët chöõ thöôøng chaúng haïn. Neân nhôù laø khoâng ñöôïc söû
duïng khoaûng traéng.
Baây giôø baïn tìm hieåu caû hai caùch taïo database: Caùch thöù nhaát taïo thuû coâng töø daáu nhaéc doøng
leänh DOS, caùch thöù hai söû duïng caùc leänh trong PHP.
Caùch thöù nhaát toâi ñaõ coù trình baøy ôû chöông giôùi thieäu vaø baïn ñaõ taïo moät database teân laø
guestbook. Cuù phaùp taïo nhö sau:
mysql> create database guestbook;
Caùch thöù hai laø söû duïng leänh trong PHP, baïn coù theå duøng haøm mysql_create_db() hoaëc
mysql_query(). Nhöng neân nhôù tröôùc khi taïo baïn phaûi thöïc hieän ñöôïc keát noái vôùi database
server.
$conn = mysql_connect(“localhost”,”username”, “password”)
or die (“Could not connect to localhost”);
mysql_create_db(“my_database”) or
die (“Could not create database”);
$string = “create database my_other_db”;
mysql_query($string) or
die(mysql_error());
Leänh USE Database
Sau khi ñaõ taïo ñöôïc moät database môùi trong database server baïn seõ baét ñaàu choïn noù ñeå söû
duïng cho coâng vieäc cuûa mình. Caùch thöïc hieän nhö sau:
1. Command Prompt:
mysql> use database_name;
2. Trong PHP:
$conn = mysql_connect(“localhost”,”username”, “password”)
or die (“Could not connect to localhost”);
mysql_select_db(“test”, $conn) or
die (“Could not select database”);
Leänh CREATE Table
Löu yù: Leänh naøy thöïc hieän sau khi ñaõ coù leänh CREATE Database.
Moät khi baïn ñaõ taïo vaø choïn database, vieäc tieáp theo laø taïo moät table. Baïn seõ söû duïng leänh
Create Table nhö sau:
create table table_name
(
column_1 column_type column_attributes,
column_2 column_type column_attributes,
primary key (column_name),
index index_name(column_name)
)
Ñoái vôùi thuoäc tính caùc field (coät) chuùng ta caàn baøn veà:
- null hoaëc not null
- default
Neáu baïn khoâng ñònh nghóa NULL hay NOT NULL thì NULL seõ ñöôïc choïn laøm giaù trò maëc
ñònh. Haõy xeùt ví duï sau:
create table topics2 (
topic_id integer not null auto_increment,
parent_id integer default 0 not null,
root_id integer default 0,
name varchar(255),
description text null,
create_dt timestamp,
modify_dt timestamp,
author varchar(255) null,
author_host varchar(255) null,
primary key(topic_id),
index my_index(parent_id))
Trong ví duï treân baïn taïo ra moät table coù teân topics2, coù taát caû 8 field vaø coù 2 index, moät
index cho khoaù chính vaø moät cho parent_id. Type cuûa caùc field treân laàn löôït laø integer,
varchar, text, timestamp. Giaù trò ñöùng sau defaul laø giaù trò maëc ñònh baïn gaùn cho moät oâ trong
record khi khoâng nhaäp lieäu vaøo.
Baây giôø chuùng ta aùp duïng caùc leänh naøy vaøo moät chöông trình PHP ñeå taïo table, haøm
mysql_query () ñöôïc söû duïng:
$conn = mysql_connect(“localhost”,”username”, “password”) or
die (“Could not connect to localhost”);
mysql_select_db(“test”, $conn) or
die(“could not select database”);
$query = “create table my_table (col_1 int not null primary key,
col_2 text)”;
mysql_query($query) or
die(mysql_error());
* Löu yù: username vaø password tuyø thuoäc vaøo MySQL cuûa baïn.Ví duï:
$conn = mysql_connect(“localhost”,”minhtrung”, “zadfdfaked”) or
Thoâng thöôøng caùc nhaø cung caáp host PHP söû duïng localhost, tuy nhieân moät soá hosting khoâng söû duïng localhost
nhö Yahoo chaúng haïn. Do ñoù baïn caàn xem höôùng daãn cuûa nhaø cung caáp host.
Kieåu döõ lieäu
Baây giôø chuùng ta haõy baøn veà caùc kieåu döõ lieäu (type) gaùn cho field trong table. Coù raát nhieàu
kieåu khaùc nhau chuùng ta seõ laàn löôït khaûo saùt töøng kieåu moät.
Kieåu chuoãi vaên baûn
MySQL coù 7 kieåu daønh cho döõ lieäu kieåu chuoãi vaên baûn:
char
varchar
tinytext
text
mediumtext
longtext
enum
CHAR
Caùch söû duïng: char(length)
Length coù giaù trò toái ña laø 255. Giaû söû baïn söû duïng khai baùo char(10) thì baïn chæ ñöôïc pheùp
nhaäp vaøo toái ña 10 kyù töï maø thoâi.
VARCHAR
Caùch söû duïng: varchar(length)
Kieåu naøy cuõng gaàn gioáng nhö kieåu CHAR coù ñoä daøi toái ña cuõng laø 255. Ñieåm khaùc bieät cuûa
varchar laø noù chæ laø bieán löu tröõ ñoä daøi, cho neân noù seõ khoâng thay ñoåi khi giaù trò cuûa cuûa oâ döõ
lieäu daøi hay ngaén. MySQL seõ sinh ra moät kyù duøng laøm bieán chöùa ñoä daøi cuûa field kieåu
varchar. Ñoàng thôøi MySQL seõ thöïc hieän chöùc naêng loaïi boû caùc khoaûng troáng trong moãi oâ döõ
lieäu neáu nhö khoâng ñöôïc söû duïng heát.
USING CHAR OR VARCHAR
Coù söï khaùc nhau trong vieäc söû duïng CHAR vaø VARCHAR. Sau ñaây laø phöông höôùng löïa
choïn cuûa baïn.
Giaû duï baïn taïo moät field laø ÑÒA CHÆ vaø baïn döï tính ñoä daøi toái ña laø 150. Coù nhöõng tröôøng
hôïp ñòa chæ raát ngaén ví duï: 1 Leâ Lôïi, Q.1, TPHCM. Baïn chæ söû duïng coù 20 kyù töï, nhö vaäy coøn
troáng raát nhieàu kyù töï khoâng duøng ñeán. Trong tröôøng hôïp naøy baïn neân söû duïng kieåu
VARCHAR (150).
Tröôøng hôïp field cuûa baïn laø MAÕ SOÁ chaúng haïn, vaø baïn cho ñoä daøi toái ña laø 6 theo quy öôùc
taïo maõ cuûa baïn ví duï: KH0001 . Trong tröôøng hôïp naøy caùc oâ khaùc ñeàu ñöôïc nhaäp theo chuaån
ñònh saün luoân luoân laø 6 kyù töï cho neân khoâng vieäc gì baïn phaûi söû duïng VARCHAR ñeå MySQL
phaûi nhoïc coâng theo doõi ñoä daøi cuûa caùc oâ moãi khi nhaäp vaøo. Baïn chæ söû duïng VAR(6) laø
ñöôïc.
Trong tröôøng hôïp baïn choïn kieåu döõ lieäu laø varchar(4) thì MySQL seõ töï ñoäng ñoåi laïi
laø kieåu char.
TINYTEXT
Caùch söû duïng: tinytext
Ñaây laø moät trong boán kieåu text nhò phaân. Taát caû 4 kieåu naøy (tinytext, text, mediumtext,
largetext) ñeàu laø kieåu bieán töông töï nhö varchar. Chuùng khæ khaùc nhau veà ñoä daøi cuûa cho
pheùp cuûa kyù töï maø thoâi. Tuy nhieân, ñoái vôùi TINYTEXT thì cho pheùp ñoä daøi toái ña laø 255,
gioáng nhö varchar(255). Cho pheùp taïo index treân toaøn boä caùc kyù töï cuûa field naøy.
TEXT
Caùch söû duïng: text
Cho pheùp ñoä daøi toái ña laø 65,535 kyù töï. Coù theå taïo index treân 255 kyù töï ñaàu.
MEDIUMTEXT
Caùch söû duïng: midiumtext
Cho pheùp ñoä daøi toái ña laø 16,777,215 kyù töï. Coù theå taïo index treân 255 kyù töï ñaàu.
LONGTEXT
Caùch söû duïng: longtext
Cho pheùp ñoä daøi toái ña laø 4,294,967,295 kyù töï. Coù theå taïo index treân 255 kyù töï ñaàu. Tuy
nhieân loaïi naøy khoâng thoâng duïng bôûi vì MySQL chæ hoã trôï chuoãi 16 trieäu bytes.
ENUM
Caùch söû duïng: enum (‘value1’, ‘value2’, ‘value3’ ...) [default ‘value’]
Vôùi enum baïn coù theå giôùi haïn caùc giaù trò ñöôïc ñònh saün cho moät field. Cho pheùp baïn ñònh
tröôùc toái ña 65.535 giaù trò.
Thoâng thöôøng ngöôøi ta duøng kieåu naøy cho field chöùa giaù trò Yes hoaëc No. Ví duï:
create table my_table (
id int auto_increment primary key,
answer enum (‘yes’, ‘no’) default ‘no’
);
SET
Caùch söû duïng: set (‘value1’, ‘value2’, ‘value3’ ...) [default ‘value’]
Kieåu naøy ñònh nghóa moät taäp hôïp haøng loaït caùc giaù trò ñònh tröôùc. Tuy nhieân, caùch naøy ít ñöôïc
duøng bôûi vì noù phaù vôõ caáu truùc thieát keá CSDL (moät field coù quaù nhieàu kieåu) vaø caùc baïn seõ
khoâng thaáy toâi söû duïng trong quyeån saùch naøy.
Kieåu döõ lieäu soá
MySQL coù taát caû 7 kieåu soá. Löu yù raèng caùc kieåu sau ñaây laø gioáng nhau: int/ integer,
double/double precision/real, decimal/numeric
int/integer
tinyint
mediumint
bigint
float
double/double precision/real
decimal/numeric
Ñoái vôùi taát caû kieåu soá, giaù trò lôùn nhaát cho pheùp laø 255. Ñoái vôùi moät soá kieåu cho pheùp baïn theå
hieän caùc soá 0 ñöùng ñaàu. Giaû söû baïn coù moät field coù ñoä daøi laø 10 thì soá 25 trong oâ döõ lieäu seõ
ñöôïc theå hieän 0000000025. Field soá coøn ñöôïc ñònh nghóa laø coù daáu (signed) hoaëc khoâng daáu
(unsigned). Maëc ñòch laø coù.
INT/INTEGER
Caùch söû duïng: int(display size) [unsigned] [zerofill]
Neáu baïn duøng khoâng daáu thì giaù trò cuûa field cho pheùp laø töø 0 ñeán 4.294.967.295. Neáu duøng
coù daáu thì giaù trò töø –2.147.483.648 ñeán 2.147.483.647. Kieåu Int seõ söû duïng auto_increment
(töï ñoäng theo chieàu taêng) ñeå ñònh nghóa khoaù chính cuûa table.
create table my_table (
table_id int unsigned auto_increment primary key,
next_column text
);
Ñeå yù raèng baïn söû duïng khoâng daáu (unsigned) bôûi vì auto_increment khoâng duøng cho caùc giaù
trò aâm.
TINYINT
Caùch söû duïng: tinyint(display size) [unsigned] [zerofill]
Neáu khoâng daáu, tinyint seõ chöùa caùc giaù trò nguyeân töø 0 ñeán 255. Neáu coù daáu thì töø -128 ñeán
127.
MEDIUMINT
Caùch söû duïng: mediumint(display size) [unsigned] [zerofill]
Coù daáu: coù giaù trò töø -8.388.608 ñeán 8.388.607
Khoâng daáu: coù giaù trò töø 0 ñeán 1677215
BIGINT
Caùch söû duïng: bigint(display size) [unsigned] [zerofill]
Coù daáu: -9.223.372.036.854.775.808 ñeán 9.223.372.036.854.775.807
Khoâng daáu: from 0 to 18.446.744.073.709.551.615
FLOAT
Caùch söû duïng 1: FLOAT(precision) [zerofill]
Vôùi caùch söû duïng naøy, cho pheùp chöùa caùc soá thaäp phaân khoâng daáu. Soá löôïng phaàn thaäp phaân
coù theå laø <=24 ñoái vôùi loaïi single vaø 25 ñeán 53 ñoái vôùi loaïi double. Caùc version tröôùc ñaây cuûa
MySQL, luoân chia laøm 2 loaïi:
Caùch söû duïng 2: FLOAT[(M,D)] [ZEROFILL]
Ñaây laø loaïi single vaø giaù trò coù theå laø töø -3,402823466E+38 ñeán -1,175494351E-38, soá 0, vaø
töø 1,175494351E-38 ñeán 3,402823466E+38. M laø phaàn nguyeân, D laø phaàn thaäp phaân. ????
DOUBLE/DOUBLE PRECISION/REAL
Caùch söû duïng 1: DOUBLE[(M,D)] [zerofill]
Cho pheùp giaù trò töø -1,7976931348623157E+308 ñeán -2,2250738585072014E-308, soá 0 vaø
2,2250738585072014E-308 ñeán 1,7976931348623157E+308. M laø phaàn nguyeân, D laø phaàn
thaäp phaân.
Caùch söû duïng 2: DECIMAL[(M[,D])] [ZEROFILL]
Caùc soá trong phaàn thaäp phaân ñöôïc löu tröõ nhö kyù töï. Moãi soá ñöôïc xem nhö moät kyù töï chuoãi.
Neáu D = 0 thì seõ khoâng coù phaàn thaäp phaân. Giaù trò thaäp phaân gioáng nhö daïng Double. ????
Kieåu döõ lieäu ngaøy, giôø
MySQL coù 5 daïng ngaøy giôø:
date _ time
datetime _ year
timestamp
time
year
Ngaøy vaø giôø trong MySQL raát uyeån chuyeån, noù coù theå chaáp nhaän kieåu chuoãi hoaëc soá haõy xeùt
ví duï sau:
create table date_test(
id int unsigned auto_increment,
a_date date
);
Sau ñoù duøng insert ñeå ñöa giaù trò ngaøy vaøo a_date:
insert into date_test (a_date) values (‘00-06-01’);
insert into date_test (a_date) values (‘2000-06-01’);
insert into date_test (a_date) values (‘20000601’);
insert into test6 (a_date) values (000601);
MySQL töông thích vôùi vieäc nhaän giaù trò ngaøy laø kieåu chuoãi hôn. Cho neân "000501 laø
choïn löïa thích hôïp hôn laø vieäc nhaäp moät soá nguyeân. Söû duïng giaù trò chuoãi cho ngaøy giuùp
baïn seõ traùnh ñöôïc moät soá söï coá veà sau.
MySQL coù hoã trôï moät soá haøm giuùp baïn trong vieäc ruùt trích döõ lieäu daïng ngaøy.
DATE
Caùch söû duïng: date
Ñònh daïng cuûa ngaøy nhö sau: YYYY-MM-DD. Cho pheùp baïn caùc giaù trò töø 1000-01-01 ñeán
9999-12-31.
DATETIME
Caùch söû duïng: datetime [null | not null] [default]
Ñònh daïng cuûa ngaøy giôø nhö sau: YYYY-MM-DD HH:MM:SS. Cho pheùp baïn caùc giaù trò töø
1000-01-01 00:00:00 ñeán 9999-12-31 23:59:59.
TIMESTAMP
Caùch söû duïng: timestamp(size)
Ñaây laø kieåu döõ lieäu ghi nhaän töï ñoäng giôø giaác söûa ñoåi gaàn nhaát ñoái vôùi moät record, baát khi
khi naøo noù ñöôïc taïo ra, hoaëc caäp nhaät ñeàu xaûy ra vieäc ghi nhaän naøy. Size cuûa noù coù theå ñònh
nghóa trong khoaûng töø 2 ñeán 14. Baûng sau trình baøy caùc size. Giaù trò maëc ñònh laø 14.
Size Ñònh daïng
2
4
6
8
10
12
14
YY
YYMM
YYMMDD
YYYYMMDD
YYMMDDHHMM
YYMMDDHHMMSS
YYYYMMDDHHMMSS
TIME
Caùch söû duïng: time
Löu tröõ daïng giôø theo ñònh daïng HH:MM:SS vaø coù giaù trò töø –838:59:59 ñeán 838:59:59. Lyù
do maø giaù trò naøy lôùn nhö vaäy laø ñeå noù coù theå chöùa ñöôïc caùc keát quaû tính toaùn giôø giaác.
YEAR
Caùch söû duïng: year[(2|4)]
Chöùa döõ lieäu daïng naêm. Neáu söû duïng hai kyù töï ñeå bieåu thò naêm thì bieåu dieãn ñöôïc töø Coù giaù
trò töø 1970 cho ñeán 2069, neân nhôù: 70 ñeán 99 bieåu thò töø 1970 ñeán 1999, coøn 01 ñeán 69 bieåu
thò töø 2001 ñeán 2069.
Duøng 4 kyù töï thì bieåu dieãn ñöôïc töø 1901 ñeán 2155.
Taïo chæ muïc INDEX
Baét ñaàu töø phieân baûn 3.23.6 cuûa MySQL baïn coù theå taïo index treân baát kyø field naøo. Cho
pheùp 1 table coù 16 field chöùa index. Cuù phaùp nhö sau:
index index_name (indexed_column)
Maëc duø index_name laø tuyø choïn, nhöng baïn neân luoân luoân cho noù moät caùi teân. Sau naøy noù
raát caàn thieát khi baïn muoán xoaù boû index cuûa moät field naøo ñoù trong leänh SQL cuûa baïn.
Neáu baïn khoâng cho teân thì MySQL seõ choïn teân index cuûa field ñaàu tieân.
Coøn moät caùch nöõa ñeå taïo index laø khai baùo khoaù chính treân field ñoù. Chuù yù raèng baát kyø field
auto_increment (sort töï ñoäng) cuõng phaûi ñöôïc index, vaø baïn neân khai baùo noù laø khoaù chính.
Trong ví duï sau id_col ñöôïc index:
create table my_table (
id_col int unsigned auto_increment primary key,
another_col text
);
Khoaù chính coù theå cuõng ñöôïc khai baùo gioáng nhö caùc index khaùc ngay sau khi ñònh nghóa moät
field:
create table my_table (
id_col int unsigned not null auto_increment,
another_col text,
primary key(id_col)
);
Index coù theå traûi roäng ra hôn moät coät. Neáu nhö query söû duïng 2 haøng phoái hôïp vôùi nhau trong
khi thöïc hieän vieäc tìm kieám, baïn coù theå taïo moät index bao goàm luoân caû 2 vôùi caùc leänh sau:
create table mytable(
id_col int unsigned not null,
another_col char(200) not null,
index dual_col_index(id_col, another_col)
);
Index naøy seõ ñöôïc söû duïng cho vieäc tìm kieám vöøa treân id_col vöøa treân another_col. Caùc
index naøy laøm vieäc töø traùi sang phaûi. Do ñoù index naøy seõ ñöôïc söû duïng cho vieäc tìm kieám
exclusive treân id_col. Tuy nhieân, noù seõ khoâng exclusive cho vieäc tìm kieán treân another_col.
Coøn moät ñieàu veà index nöõa laø baïn coù theå taïo noù chæ treân moät phaàn cuûa field. Baét ñaàu töø phieân
baûn 3.23 cuûa MySQL baïn coù theå taïo index caùc field kieåu index tinytext, text, mediumtext vaø
longtext treân 255 kyù töï ñaàu. Ñoái vôùi char vaø varchar, baïn coù theå taïo index treân moät soá kyù töï
ñaàu cuûa field. Cuù phaùp cuûa noù nhö sau:
index index_name (column_name(column_length))
Ví duï:
create table my_table(
char_column char (255) not null,
text_column text not null,
index index_on_char (char_column(20)),
index index_on_text (text_column(200))
);
Moät index coù theå ñaûm baûo giaù trò duy nhaát toàn taïi trong moïi record cuûa table baèng caùch söû
duïng leänh unique.
create table my_table(
char_column char (255) not null,
text_column text not null,
unique index index_on_char (char_column));
Caùc loaïi Table
MySQL hoã trôï caùc daïng talble sau: ISAM, MyISAM, BDB vaø Heap. ISAM laø daïng table ñaõ
xöa vaø trong caùc öùng duïng môùi khoâng ñöôïc söû duïng. Daïng table maëc ñònh laø MyISAM. Cuù
phaùp ñeå khai baùo loaïi table naøy laø:
create table table_name type=table_type(
col_name column attribute
);
Table daïng MyISAM coù toác ñoä toát vaø tính oån ñònh cao. Khoâng caàn thieát phaûi ñònh nghóa moät
daïng table môùi naøo khaùc tröø phi baïn caàn duøng loaïi khaùc cho vì moät lyù do ñaëc bieät naøo ñoù.
Heap laø daïng table thöôøng truù trong boä nhôù. Chuùng khoâng ñöôïc löu tröõ trong ñóa cöùng hay caùc
thieát bò duøng ñeå tröõ tin. Cho neân neáu bò maát ñieän heap seõ maát theo. Vì ñöôïc tröõ trong boä nhôù
neân heap coù toác ñoä truy caäp cao. Tuy nhieân baïn chæ duøng cho caùc table taïm thôøi trong luùc
chaïy chöông trình.
Leänh Alter table
Neáu nhö baïn muoán thay ñoåi caùc thaønh phaàn cuûa table baïn seõ söû duïng leänh alter table. Baïn coù
theå thöïc hieän caùc thay ñoåi nhö: ñoåi teân table, field, index; theâm hoaëc xoaù field vaø index; ñònh
nghóa laïi caùc field vaø index. Cuù phaùp cô baûn cuûa leänh naøy laø:
alter table table_name
Caùc leänh coøn laïi tuyø thuoäc vaøo thao taùc maø chuùng ta seõ baøn tieáp theo ñaây:
Ñoåi teân Table
Cuù phaùp nhö sau:
alter table table_name rename new_table_name
If you have MySQL version 3.23.27 or higher you can make use of the
rename statement.The basic syntax is
rename table_name to new_table_name
Theâm vaø xoaù coät trong Table
Khi theâm field vaøo trong table, baïn seõ caàn phaûi coù nhöõng ñònh nghóa caàn thieát cho field ñoù.
Töø phieân baûn 3.22 cuûa MySQL cho pheùp baïn choïn vò trí ñeå ñaët field môùi vaøo trong table.
Chöùc naêng naøy khoâng baét buoäc.
alter table table_name add column column_name column attributes
Ví duï:
alter table my_table add column my_column text not null
Caùch söû duïng ñònh vò moät field trong table: Söû duïng leänh first ñeå cheøn field môùi vaøo vò trí ñaàu
cuûa table. After ñeå cheøn vaøo vò trí sau cuøng treân table:
alter table my_table add column my_next_col text not null first
alter table my_table add column my_next_col text not null after
my_other_column
Ñeå xoaù moät field, baïn thöïc hieän leänh sau:
alter table table_name drop column column name
Khi thöïc hieän leänh alter ñoái vôùi moät table, baïn chæ neân thöïc hieän moät thao taùc ñoái vôùi table maø thoâi. Ví duï: Baïn
thöïc hieän vieäc xoaù moät index, sau ñoù taïo moät index môùi, thì khoâng neân goäp chung vaøo moät leänh alter maø neân
thöïc hieän 2 laàn.
Theâm vaø xoaù Index
Baïn coù theå theâm index baèng caùch söû duïng leänh index, unique vaø primary key, töông töï nhö
vieäc söû duïng leänh create vaäy.
alter table my_table add index index_name (column_name1,
column_name2, ...)
alter table my_table add unique index_name(column_name)
alter table my_table add primary key(my_column)
Baïn cuõng coù theå boû index baèng caùch söû duïng leänh drop:
alter table table_name drop index index_name
alter table_name test10 drop primary key
Ñoåi thuoäc tính cuûa coät (field)
Thay ñoåi caùch thaønh toá cuûa field baèng leänh change hoaëc modify:
alter table table_name change original_column_name new_column_name
int not null
Leänh sau laø sai:
alter table table_name change my_col2 my_col3;
Neáu baïn muoán chæ ñoåi thuoäc tính cuûa field thì duøng leänh change vaø taïo field môùi cuøng teân
nhöng thay ñoåi thuoäc tính. Giaû duï baïn ñoåi field col_1 töø kieåu char(200) sang varchar(200):
alter table table_name change col_1 col_1 varchar(200)
Vôùi MySQL phieân baûn 2.22.16 trôû ñi baïn coù theå duøng leänh modify:
alter table table_name modify 1 col_1 varchar(200)
Leänh Insert
Baây giôø baïn ñaõ bieát taát caû nhöõng kieán thöùc caàn thieát ñeå taïo vaø thöïc hieän caùc thay ñoåi treân
ñònh daïng table, baây giôø baïn seõ tìm hieåu caùch thöùc ñeå nhaäp thoâng tin vaøo table. Baïn seõ thöïc
hieän vieäc naøy baèng leänh INSERT:
insert into table_name (column_1, column2, column3,...) values
(value1, value2, value3 ...)
Neáu trong moät fiedl cho pheùp giaù trò NULL baïn coù theå khoâng caàn ñöa vaøo trong leänh
INSERT.
Nhö baïn thaáy caùc chuoãi teân field vaø giaù trò ñeàu ñöôïc ñaët trong daáu ngoaëc ñôn (). Ngoaøi ra giaù
trò kieåu chuoãi phaûi ñöôïc bao boïc bôûi daáu nhaùy ñôn. Nhö vaäy neáu nhö trong chuoãi coù chöùa daáu
nhaùy ñôn vaø daáu ngoaëc ñôn thì sao? Ñeå traùnh tröôøng hôïp laãm laãn giöõa daáu chuoãi vaø daáu phaân
ñònh nghóa leänh SQL coù caùc qui ñònh raèng muoán ñöa kyù hieäu ñaëc bieät vaøo chuoãi thì phaûi ñaët
chuùng sau daáu 
‘ (single quote)
“ (double quote)
 (backslash)
% (percent sign)
_ (underscore)
Baïn coù theå thoaùt ra khoûi daáu nhaùy ñôn baèng caùch söû duïng 2 daáu ngoaëc ñôn ñoùng môû ().
Baïn söû duïng caùc kyù töï ñaëc bieät sau ñeå thöïc hieän moät thao taùc ñaëc thuø trong caâu leänh:
n (newline)
t (tab)
r (carriage return)
b (back space)
Neân löu yù moät ñieàu laø, baïn khoâng caàn phaûi lo laéng veà caùc kyù töï thoaùt ôû ñaây trong khi laäp
trình PHP. Baïn seõ gaëp ñöôïc nhöõng haøm vaø xaùc laäp trong PHP duøng ñeå thöïc hieän vieäc naøy
moät caùch töï ñoäng. Haøm addslashes() vaø caùc xaùc laäp trong php.ini seõ hoã trôï vieäc naøy.
Leänh Update
Leänh UPDATE coù moät chuùt khaùc bieät so vôùi caùc leänh maø chuùng ta ñaõ khaûo saùt, noù thöïc hieän
thoâng qua leänh WHERE. Cuù phaùp thoâng thöôøng laø:
update table_name set col_1=value1, col_2=value_2 where col=value
Xin nhaéc laïi laàn nöõa, neáu baïn muoán theâm vaøo moät chuoãi, baïn caàn phaûi bao noù trong caùc daáu
nhaùy ñôn vaø daáu thoaùt. Neân nhôù raèng leänh WHERE trong caâu leänh UPDATE coù theå thöïc hieän
baát kyø pheùp so saùnh naøo ôû phía sau noù. Thoâng thöôøng noù hay ñöôïc duøng ñeå ñònh xaùc ñònh moät
record ñôn vôùi khoaù chính. Trong table folks sau ID laø khoaù chính.
id fname lname salary
1 Don Liu 25,000
2 Don Corleone 800,000
3 Don Juan 32,000
4 Don Johnson 44,500
Caâu leänh sau seõ taùc ñoäng ñeán Don Corleone:
update folks set fname=’Vito’ where id=2
Nhö baïn thaáy, neáu nhö baïn duøng leänh UPDATE döïa treân field fname thì thaät khoâng neân chuùt
naøo, vì baïn coù theå caäp nhaät taát caû caùc field trong table naøy.
update folks set fname=’Vito’ where fname=’don’
Baïn cuõng coù theå duøng UPDATE ñeå thöïc hieän vieäc ñieàu chænh taêng löông ñoái vôùi nhaân vieân
chaúng haïn:
update folks set salary=50000 where salary<50,000
Leänh drop table/drop database
Leänh DROP duøng ñeå xoaù table hoaëc caû database. Neân nhôù moät ñieàu laø moät khi baïn thöïc hieän
leänh naøy roài thì baïn khoâng theå khoâi phuïc laïi döõ lieäu cuûa baïn. Haõy caån troïng!
drop table table_name
drop database database_name
Leänh DROP TABLE ñöôïc chuyeån ñoåi sang PHP thoâng qua haøm mysqlquery(). Neáu baïn
muoán xoaù database trong PHP, baïn caàn söû duïng haøm mysql_drop_db(). Seõ ñöôïc trình baøy caên
keõ ôû caùc phaàn sau!
Leänh show tables
Ñeå trình baøy moät danh saùch caùc table coù trong database, baïn söû duïng leänh SHOW TABLES.
Ñeå thöïc hieän ñöôïc leänh naøy baïn neân löu yù laø phaûi choïn database tröôùc ñaõ baèng leänh USE
DATABASE
Hình sau laø keát quaû cuûa vieäc thöïc hieän leänh SHOW TABLES töø daáu nhaéc leänh.
Leänh Show table
Trong PHP, baïn coù theå cho hieån thò moät danh saùch table baèng caùch söû duïng haøm
MYSQL_LIST_TABLES():
<?
mysql_connect(“localhost”, “root”, “”);
$result = mysql_list_tables(“test”);
while($row = mysql_fetch_array($result))
{
echo $row[0] . “<br>n”;
}
?>
Leänh show columns /show fields
Caùc leänh cho keát quaû gioáng nhau. Baây giôø baïn haõy duøng leänh CREATE ñaõ hoïc ñeå taïo moät
table sau ñoù duøng moät trong hai leänh treân ñeå cho hieån thò caùc field cuûa noù:
create table topics (
topic_id integer not null auto_increment primary key,
parent_id integer default 0 not null,
root_id integer default 0,
name varchar(255),
description text null,
create_dt timestamp,
modify_dt timestamp,
author varchar(255) null,
author_host varchar(255) null,
index my_index(parent_id)
)
Hình sau trình baøy keát quaû cuûa leänh SHOW FIELDS thöïc hieän töø daáu nhaéc leänh:
Leänh Show Fields
Baïn coù theå cho ra keá quaû töông töï trong PHP baèng caùch söû duïng haøm
MYSQL_FIELD_NAME(), MYSQL_FIELD_TYPE(), vaø MYSQL_FIELD_LEN(). Taát caû
caùc caùc haøm naøy ñöôïc trình baøy caën keõ ôû caùc phaàn sau.
$db = mysql_connect(“localhost”,”root”, “”)
or die (“Could not connect to localhost”);
mysql_select_db(“test”, $db)
or die (“Could not find test”);
$db_name =”topics”;
$query = “select * from $db_name”;
$result = mysql_query($query);
$num_fields = mysql_num_fields($result);
//create table header
echo “<table border = 1>”;
echo “<tr>”;
for ($i=0; $i<$num_fields; $i++)
{
echo “<th>”;
echo mysql_field_name ($result, $i);
echo “</th>”;
}
echo “</tr>”;
//end table header
//create table body
echo “<tr>”;
for ($i=0; $i<$num_fields; $i++)
{
echo “<td valign = top>”;
echo mysql_field_type ($result, $i) . “<br> n”;
echo “(“ . mysql_field_len ($result, $i) . “)<br> n”;
echo mysql_field_flags ($result, $i) . “<br> n”;
echo “</td>”;
}
echo “</tr>”;
//end table body
echo “</table>”;
Söû duïng phpMyAdmin
Toâi khoâng loaïi tröø tröôøng hôïp baïn laø tín ñaàu cuûa DAÁU NHAÉC LEÄNH. Coù khaû naêng laø baïn
khoâng thích GIAO DIEÄN ÑOÀ HOAÏ vì coù theå baïn cho raèng giao dieän naøy daønh cho nhöõng tay
mô maø thoâi. Nhöng toâi khuyeân baïn raèng baïn haõy taäp laøm vieäc vôùi GIAO DIEÄN ÑOÀ HOAÏ.
Baûn thaân toâi xuaát thaân töø thôøi daáu nhaéc coå loã, vaø coù theå noùi neáu nhö nhaém maét toâi vaãn goõ
ñöôïc taát caû caùc kyù töï treân phím nhanh hôn caû vieäc nhìn ñeå goõ chuùng. Tuy nhieân, trôøi phuù cho
baïn ñoâi maét baïn haõy bieát höôûng thuï khaû naêng cuûa noù ñöøng neân boû qua! Vaø toâi cuõng vaäy!
Ñöôïc vaäy thì chuùng ta haõy baét tay vaøo vieäc söû duïng chöông trình phpMyAdmin. Ñaây laø
chöông trình coù giao dieän ñoà hoaï hoã trôï moïi truy caäp treân CSDL MySQL. Neáu nhö baïn chöa
coù thì haõy chaïy ra caùc cöûa haøng ngoaøi Buøi Thò Xuaân hay Toân Thaát Tuøng kieám ngay moät ñóa
ñi. Khoâng thoâi thì download treân caùc website phpMyAdmin. Chöông trình naøy raát deã söû duïng.
Neáu nhö baïn caûm thaáy khoù thì haõy xem phaàn Phuï Luïc cuûa quyeån saùch, toâi coù höôùng daãn chi
tieát trong ñoù.
phpMyAdmin
Toùm taét
Trong chöông naøy baïn ñaõ tìm hieåu taát caû caùc leänh caàn thieát ñeå taïo vaø thao taùc vôùi CSDL
trong moâi tröôøng MySQL. Baïn ñaõ bieát muïc ñích cuûa index. Bieát caùc kieåu döõ lieäu vaø muïc ñích
söû duïng theo tuyø tröôøng hôïp. Ngoaøi ra toâi cuõng giôùi thieäu moät chöông trình quaûn lyù CSDL coù
giao dieän ñoà hoaï phpMyAdmin giuùp baïn thao taùc thuû coâng treân CSDL moät caùch deã daøng.
Trong phaàn III vaø IV baïn seõ tìm hieåu kyõ hôn vaø thöïc hieän nhöõng öùng duïng quan troïng cuûa
CSDL trong chöông trình. (Coøn tieáp)
Löu yù:
Baïn coù theå tìm thaáy caùc CD thieát keá web PHP taïi caùc cöûa haøng CD (Toân Thaát Tuøng, tp.HCM
chaúng haïn). Treân CD coù trình caøi ñaët Apache, PHP, MySQL thoâng duïng laø FOX. Ngoaøi ra
coøn coù caùc Website PHP maãu.
CAÙC LEÄNH ÔÛ BAØI HOÏC TREÂN TOÁT NHAÁT BAÏN NEÂN GOÕ LAÏI, KHOÂNG NEÂN COPY!
tongphuockhai@mail15.com
- Kieán thöùc laø kho baùu khoâng phaûi cuûa rieâng ai. Vì vaäy baïn ñöøng ngaàn ngaïi khi chia seû cho moïi ngöôøi.

More Related Content

Viewers also liked

Bài 3 Một số kỹ thuật lập trình PHP nâng cao - Xây dựng ứng dụng web
Bài 3 Một số kỹ thuật lập trình PHP nâng cao - Xây dựng ứng dụng webBài 3 Một số kỹ thuật lập trình PHP nâng cao - Xây dựng ứng dụng web
Bài 3 Một số kỹ thuật lập trình PHP nâng cao - Xây dựng ứng dụng web
MasterCode.vn
 
Bài 5 Làm việc với dữ liệu và công thức - Giáo trình FPT
Bài 5 Làm việc với dữ liệu và công thức - Giáo trình FPTBài 5 Làm việc với dữ liệu và công thức - Giáo trình FPT
Bài 5 Làm việc với dữ liệu và công thức - Giáo trình FPT
MasterCode.vn
 
BÀI 1 Những khái niệm đầu tiên về HTML5 - Giáo trình FPT
BÀI 1 Những khái niệm đầu tiên về HTML5 - Giáo trình FPTBÀI 1 Những khái niệm đầu tiên về HTML5 - Giáo trình FPT
BÀI 1 Những khái niệm đầu tiên về HTML5 - Giáo trình FPT
MasterCode.vn
 
Bài 4.2 - SQL (STRUCTURED QUERY LANGUAGE) - SQL server
Bài 4.2 - SQL (STRUCTURED QUERY LANGUAGE) - SQL serverBài 4.2 - SQL (STRUCTURED QUERY LANGUAGE) - SQL server
Bài 4.2 - SQL (STRUCTURED QUERY LANGUAGE) - SQL server
MasterCode.vn
 
BÀI 3 Làm việc với JAVASCRIPT và JQUERY - Giáo trình FPT
BÀI 3 Làm việc với JAVASCRIPT và JQUERY - Giáo trình FPTBÀI 3 Làm việc với JAVASCRIPT và JQUERY - Giáo trình FPT
BÀI 3 Làm việc với JAVASCRIPT và JQUERY - Giáo trình FPT
MasterCode.vn
 
Các thuật toán mã hóa
Các thuật toán mã hóaCác thuật toán mã hóa
Các thuật toán mã hóa
dlmonline24h
 
Slide4 html5
Slide4 html5Slide4 html5
Slide4 html5
tuanduongcntt
 
Bài 2 Các kỹ thuật lập trình MySQL với PHP nâng cao - Xây dựng ứng dụng web
Bài 2 Các kỹ thuật lập trình MySQL với PHP nâng cao - Xây dựng ứng dụng webBài 2 Các kỹ thuật lập trình MySQL với PHP nâng cao - Xây dựng ứng dụng web
Bài 2 Các kỹ thuật lập trình MySQL với PHP nâng cao - Xây dựng ứng dụng web
MasterCode.vn
 
Bài 1 quy trình xử lý sự cố phần mềm
Bài 1   quy trình xử lý sự cố phần mềmBài 1   quy trình xử lý sự cố phần mềm
Bài 1 quy trình xử lý sự cố phần mềmMasterCode.vn
 
Bài 7 Xây dựng website sử dụng PHP và MySQL - Giáo trình FPT
Bài 7 Xây dựng website sử dụng PHP và MySQL - Giáo trình FPTBài 7 Xây dựng website sử dụng PHP và MySQL - Giáo trình FPT
Bài 7 Xây dựng website sử dụng PHP và MySQL - Giáo trình FPT
MasterCode.vn
 
Bài 3 Lập trình PHP (phần 1) - Giáo trình FPT
Bài 3 Lập trình PHP (phần 1) - Giáo trình FPTBài 3 Lập trình PHP (phần 1) - Giáo trình FPT
Bài 3 Lập trình PHP (phần 1) - Giáo trình FPT
MasterCode.vn
 
Pdfc fast food-mastercode.vn
Pdfc fast food-mastercode.vnPdfc fast food-mastercode.vn
Pdfc fast food-mastercode.vn
MasterCode.vn
 
Bài 1 Lập trình website theo mô hình MVC - Xây dựng ứng dụng web
Bài 1 Lập trình website theo mô hình MVC - Xây dựng ứng dụng webBài 1 Lập trình website theo mô hình MVC - Xây dựng ứng dụng web
Bài 1 Lập trình website theo mô hình MVC - Xây dựng ứng dụng web
MasterCode.vn
 
Pdf bai tap_lap_trinh_win_form - mon_1-mastercode.vn
Pdf bai tap_lap_trinh_win_form - mon_1-mastercode.vnPdf bai tap_lap_trinh_win_form - mon_1-mastercode.vn
Pdf bai tap_lap_trinh_win_form - mon_1-mastercode.vn
MasterCode.vn
 
Pdf bai tap_nen_tang_lap_trinh_-_c#-mastercode.vn
Pdf bai tap_nen_tang_lap_trinh_-_c#-mastercode.vnPdf bai tap_nen_tang_lap_trinh_-_c#-mastercode.vn
Pdf bai tap_nen_tang_lap_trinh_-_c#-mastercode.vn
MasterCode.vn
 
Bài giảng HTML5-CSS3
Bài giảng HTML5-CSS3Bài giảng HTML5-CSS3
Bài giảng HTML5-CSS3
Lương Bá Hợp
 
Tài liệu HTML5-CSS3
Tài liệu HTML5-CSS3Tài liệu HTML5-CSS3
Tài liệu HTML5-CSS3
Lương Bá Hợp
 
Lập trình sáng tạo creative computing textbook mastercode.vn
Lập trình sáng tạo creative computing textbook mastercode.vnLập trình sáng tạo creative computing textbook mastercode.vn
Lập trình sáng tạo creative computing textbook mastercode.vn
MasterCode.vn
 

Viewers also liked (18)

Bài 3 Một số kỹ thuật lập trình PHP nâng cao - Xây dựng ứng dụng web
Bài 3 Một số kỹ thuật lập trình PHP nâng cao - Xây dựng ứng dụng webBài 3 Một số kỹ thuật lập trình PHP nâng cao - Xây dựng ứng dụng web
Bài 3 Một số kỹ thuật lập trình PHP nâng cao - Xây dựng ứng dụng web
 
Bài 5 Làm việc với dữ liệu và công thức - Giáo trình FPT
Bài 5 Làm việc với dữ liệu và công thức - Giáo trình FPTBài 5 Làm việc với dữ liệu và công thức - Giáo trình FPT
Bài 5 Làm việc với dữ liệu và công thức - Giáo trình FPT
 
BÀI 1 Những khái niệm đầu tiên về HTML5 - Giáo trình FPT
BÀI 1 Những khái niệm đầu tiên về HTML5 - Giáo trình FPTBÀI 1 Những khái niệm đầu tiên về HTML5 - Giáo trình FPT
BÀI 1 Những khái niệm đầu tiên về HTML5 - Giáo trình FPT
 
Bài 4.2 - SQL (STRUCTURED QUERY LANGUAGE) - SQL server
Bài 4.2 - SQL (STRUCTURED QUERY LANGUAGE) - SQL serverBài 4.2 - SQL (STRUCTURED QUERY LANGUAGE) - SQL server
Bài 4.2 - SQL (STRUCTURED QUERY LANGUAGE) - SQL server
 
BÀI 3 Làm việc với JAVASCRIPT và JQUERY - Giáo trình FPT
BÀI 3 Làm việc với JAVASCRIPT và JQUERY - Giáo trình FPTBÀI 3 Làm việc với JAVASCRIPT và JQUERY - Giáo trình FPT
BÀI 3 Làm việc với JAVASCRIPT và JQUERY - Giáo trình FPT
 
Các thuật toán mã hóa
Các thuật toán mã hóaCác thuật toán mã hóa
Các thuật toán mã hóa
 
Slide4 html5
Slide4 html5Slide4 html5
Slide4 html5
 
Bài 2 Các kỹ thuật lập trình MySQL với PHP nâng cao - Xây dựng ứng dụng web
Bài 2 Các kỹ thuật lập trình MySQL với PHP nâng cao - Xây dựng ứng dụng webBài 2 Các kỹ thuật lập trình MySQL với PHP nâng cao - Xây dựng ứng dụng web
Bài 2 Các kỹ thuật lập trình MySQL với PHP nâng cao - Xây dựng ứng dụng web
 
Bài 1 quy trình xử lý sự cố phần mềm
Bài 1   quy trình xử lý sự cố phần mềmBài 1   quy trình xử lý sự cố phần mềm
Bài 1 quy trình xử lý sự cố phần mềm
 
Bài 7 Xây dựng website sử dụng PHP và MySQL - Giáo trình FPT
Bài 7 Xây dựng website sử dụng PHP và MySQL - Giáo trình FPTBài 7 Xây dựng website sử dụng PHP và MySQL - Giáo trình FPT
Bài 7 Xây dựng website sử dụng PHP và MySQL - Giáo trình FPT
 
Bài 3 Lập trình PHP (phần 1) - Giáo trình FPT
Bài 3 Lập trình PHP (phần 1) - Giáo trình FPTBài 3 Lập trình PHP (phần 1) - Giáo trình FPT
Bài 3 Lập trình PHP (phần 1) - Giáo trình FPT
 
Pdfc fast food-mastercode.vn
Pdfc fast food-mastercode.vnPdfc fast food-mastercode.vn
Pdfc fast food-mastercode.vn
 
Bài 1 Lập trình website theo mô hình MVC - Xây dựng ứng dụng web
Bài 1 Lập trình website theo mô hình MVC - Xây dựng ứng dụng webBài 1 Lập trình website theo mô hình MVC - Xây dựng ứng dụng web
Bài 1 Lập trình website theo mô hình MVC - Xây dựng ứng dụng web
 
Pdf bai tap_lap_trinh_win_form - mon_1-mastercode.vn
Pdf bai tap_lap_trinh_win_form - mon_1-mastercode.vnPdf bai tap_lap_trinh_win_form - mon_1-mastercode.vn
Pdf bai tap_lap_trinh_win_form - mon_1-mastercode.vn
 
Pdf bai tap_nen_tang_lap_trinh_-_c#-mastercode.vn
Pdf bai tap_nen_tang_lap_trinh_-_c#-mastercode.vnPdf bai tap_nen_tang_lap_trinh_-_c#-mastercode.vn
Pdf bai tap_nen_tang_lap_trinh_-_c#-mastercode.vn
 
Bài giảng HTML5-CSS3
Bài giảng HTML5-CSS3Bài giảng HTML5-CSS3
Bài giảng HTML5-CSS3
 
Tài liệu HTML5-CSS3
Tài liệu HTML5-CSS3Tài liệu HTML5-CSS3
Tài liệu HTML5-CSS3
 
Lập trình sáng tạo creative computing textbook mastercode.vn
Lập trình sáng tạo creative computing textbook mastercode.vnLập trình sáng tạo creative computing textbook mastercode.vn
Lập trình sáng tạo creative computing textbook mastercode.vn
 

Similar to huong dan PHP-2

Bao thuc tap tot nghiep vo minh truong 10299191
Bao thuc tap tot nghiep vo minh truong 10299191Bao thuc tap tot nghiep vo minh truong 10299191
Bao thuc tap tot nghiep vo minh truong 10299191Cu Sock
 
Giáo trình thực hành sql
Giáo trình thực hành sqlGiáo trình thực hành sql
Giáo trình thực hành sqlThao Nguyen
 
Giao trinh thuc hanh sql
Giao trinh thuc hanh sqlGiao trinh thuc hanh sql
Giao trinh thuc hanh sqlĐinh Luận
 
Giao trinh thuc hanh sql
Giao trinh thuc hanh sqlGiao trinh thuc hanh sql
Giao trinh thuc hanh sqlNhóc Sơn
 
Ebook giao trinh thuc hanh sql
Ebook giao trinh thuc hanh sqlEbook giao trinh thuc hanh sql
Ebook giao trinh thuc hanh sqlChâu
 
Giáo trình SQL server tiếng việt
Giáo trình SQL server tiếng việtGiáo trình SQL server tiếng việt
Giáo trình SQL server tiếng việt
Thuyet Nguyen
 
Giáo trình SQL
Giáo trình SQLGiáo trình SQL
Giáo trình SQL
Hoài Phạm
 
Bai tap hp4 - sql server 2000
Bai tap   hp4 - sql server 2000Bai tap   hp4 - sql server 2000
Bai tap hp4 - sql server 2000vudung07b5
 
Ebook drupal 7 vn
Ebook drupal 7 vnEbook drupal 7 vn
Ebook drupal 7 vn
gaugauvn
 
Ctdl 2005 chuong 4
Ctdl 2005 chuong 4Ctdl 2005 chuong 4
Ctdl 2005 chuong 4Hồ Lợi
 
Ctdl 2005 chuong 2
Ctdl 2005 chuong 2Ctdl 2005 chuong 2
Ctdl 2005 chuong 2Hồ Lợi
 
Lap trinh web dong voi php my sql
Lap trinh web dong voi php my sqlLap trinh web dong voi php my sql
Lap trinh web dong voi php my sql
Thiết kế website - VINALINK DESIGN
 
Lap trinh web dong voi php my sql
Lap trinh web dong voi php my sqlLap trinh web dong voi php my sql
Lap trinh web dong voi php my sqlGiang Nguyễn
 
Final style ms_excel
Final style ms_excelFinal style ms_excel
Final style ms_excelKhôi
 
Excels
ExcelsExcels
ExcelsPVFCCo
 
1. ms excel ung dung trong kinh te (phan i)
1. ms excel ung dung trong kinh te (phan i)1. ms excel ung dung trong kinh te (phan i)
1. ms excel ung dung trong kinh te (phan i)Nam Hao
 
Ung dung excel trong kinh te
Ung dung excel trong kinh teUng dung excel trong kinh te
Ung dung excel trong kinh teHung Pham Thai
 
Chuong06
Chuong06Chuong06
Chuong06na
 
Giao trinh-autocad-2007-pham van hau
Giao trinh-autocad-2007-pham van hauGiao trinh-autocad-2007-pham van hau
Giao trinh-autocad-2007-pham van hau
DUNGZIDAN
 

Similar to huong dan PHP-2 (20)

Bao thuc tap tot nghiep vo minh truong 10299191
Bao thuc tap tot nghiep vo minh truong 10299191Bao thuc tap tot nghiep vo minh truong 10299191
Bao thuc tap tot nghiep vo minh truong 10299191
 
Giáo trình thực hành sql
Giáo trình thực hành sqlGiáo trình thực hành sql
Giáo trình thực hành sql
 
Giao trinh thuc hanh sql
Giao trinh thuc hanh sqlGiao trinh thuc hanh sql
Giao trinh thuc hanh sql
 
Giao trinh thuc hanh sql
Giao trinh thuc hanh sqlGiao trinh thuc hanh sql
Giao trinh thuc hanh sql
 
Chuong 02 access
Chuong 02   accessChuong 02   access
Chuong 02 access
 
Ebook giao trinh thuc hanh sql
Ebook giao trinh thuc hanh sqlEbook giao trinh thuc hanh sql
Ebook giao trinh thuc hanh sql
 
Giáo trình SQL server tiếng việt
Giáo trình SQL server tiếng việtGiáo trình SQL server tiếng việt
Giáo trình SQL server tiếng việt
 
Giáo trình SQL
Giáo trình SQLGiáo trình SQL
Giáo trình SQL
 
Bai tap hp4 - sql server 2000
Bai tap   hp4 - sql server 2000Bai tap   hp4 - sql server 2000
Bai tap hp4 - sql server 2000
 
Ebook drupal 7 vn
Ebook drupal 7 vnEbook drupal 7 vn
Ebook drupal 7 vn
 
Ctdl 2005 chuong 4
Ctdl 2005 chuong 4Ctdl 2005 chuong 4
Ctdl 2005 chuong 4
 
Ctdl 2005 chuong 2
Ctdl 2005 chuong 2Ctdl 2005 chuong 2
Ctdl 2005 chuong 2
 
Lap trinh web dong voi php my sql
Lap trinh web dong voi php my sqlLap trinh web dong voi php my sql
Lap trinh web dong voi php my sql
 
Lap trinh web dong voi php my sql
Lap trinh web dong voi php my sqlLap trinh web dong voi php my sql
Lap trinh web dong voi php my sql
 
Final style ms_excel
Final style ms_excelFinal style ms_excel
Final style ms_excel
 
Excels
ExcelsExcels
Excels
 
1. ms excel ung dung trong kinh te (phan i)
1. ms excel ung dung trong kinh te (phan i)1. ms excel ung dung trong kinh te (phan i)
1. ms excel ung dung trong kinh te (phan i)
 
Ung dung excel trong kinh te
Ung dung excel trong kinh teUng dung excel trong kinh te
Ung dung excel trong kinh te
 
Chuong06
Chuong06Chuong06
Chuong06
 
Giao trinh-autocad-2007-pham van hau
Giao trinh-autocad-2007-pham van hauGiao trinh-autocad-2007-pham van hau
Giao trinh-autocad-2007-pham van hau
 

More from xeroxk

Báo cáo NetCitizens Việt Nam- Tình hình sử dụng và tốc độ phát triển...
Báo cáo NetCitizens Việt Nam- Tình hình sử dụng và tốc độ phát triển...Báo cáo NetCitizens Việt Nam- Tình hình sử dụng và tốc độ phát triển...
Báo cáo NetCitizens Việt Nam- Tình hình sử dụng và tốc độ phát triển...
xeroxk
 
Hiệu ứng Nước trên Photoshop
Hiệu ứng Nước trên PhotoshopHiệu ứng Nước trên Photoshop
Hiệu ứng Nước trên Photoshopxeroxk
 
Powerpoint 2010
Powerpoint 2010Powerpoint 2010
Powerpoint 2010xeroxk
 
Một Số Thuật Ngữ Kinh Tế
Một Số Thuật Ngữ Kinh TếMột Số Thuật Ngữ Kinh Tế
Một Số Thuật Ngữ Kinh Tếxeroxk
 
Xây Dựng Thương Hiệu
Xây Dựng Thương HiệuXây Dựng Thương Hiệu
Xây Dựng Thương Hiệuxeroxk
 
Trò Chơi Tập Thể
Trò Chơi Tập ThểTrò Chơi Tập Thể
Trò Chơi Tập Thểxeroxk
 
Toefl grammar
Toefl grammarToefl grammar
Toefl grammar
xeroxk
 
Thơ Tình Thế Giới
Thơ Tình Thế GiớiThơ Tình Thế Giới
Thơ Tình Thế Giớixeroxk
 
Lab linux phần iv- Internet Services
Lab linux phần iv- Internet ServicesLab linux phần iv- Internet Services
Lab linux phần iv- Internet Servicesxeroxk
 
Lab linux phan iii
Lab linux phan iiiLab linux phan iii
Lab linux phan iiixeroxk
 
Lab linux phan i, ii.doc
Lab linux phan i, ii.docLab linux phan i, ii.doc
Lab linux phan i, ii.docxeroxk
 
Hướng Dẫn Sử Dụng excel 2010
Hướng Dẫn Sử Dụng excel 2010Hướng Dẫn Sử Dụng excel 2010
Hướng Dẫn Sử Dụng excel 2010xeroxk
 
Athena lab Hướng Dẫn Học CCNA
Athena lab Hướng Dẫn Học CCNAAthena lab Hướng Dẫn Học CCNA
Athena lab Hướng Dẫn Học CCNAxeroxk
 
Athena Bài Giảng Mạng Lan
Athena Bài Giảng Mạng LanAthena Bài Giảng Mạng Lan
Athena Bài Giảng Mạng Lanxeroxk
 
Athena Bài Giảng Mạng WLan
Athena Bài Giảng Mạng WLanAthena Bài Giảng Mạng WLan
Athena Bài Giảng Mạng WLanxeroxk
 
Module 10 configuring windows 7 media applications
Module 10   configuring windows 7 media applicationsModule 10   configuring windows 7 media applications
Module 10 configuring windows 7 media applications
xeroxk
 
Module 12 wireless
Module 12   wirelessModule 12   wireless
Module 12 wireless
xeroxk
 
Module 6 configuring user account security
Module 6   configuring user account securityModule 6   configuring user account security
Module 6 configuring user account security
xeroxk
 
Module 4 sharing files by using windows 7
Module 4   sharing files by using windows 7Module 4   sharing files by using windows 7
Module 4 sharing files by using windows 7
xeroxk
 

More from xeroxk (20)

Báo cáo NetCitizens Việt Nam- Tình hình sử dụng và tốc độ phát triển...
Báo cáo NetCitizens Việt Nam- Tình hình sử dụng và tốc độ phát triển...Báo cáo NetCitizens Việt Nam- Tình hình sử dụng và tốc độ phát triển...
Báo cáo NetCitizens Việt Nam- Tình hình sử dụng và tốc độ phát triển...
 
Hiệu ứng Nước trên Photoshop
Hiệu ứng Nước trên PhotoshopHiệu ứng Nước trên Photoshop
Hiệu ứng Nước trên Photoshop
 
Powerpoint 2010
Powerpoint 2010Powerpoint 2010
Powerpoint 2010
 
Một Số Thuật Ngữ Kinh Tế
Một Số Thuật Ngữ Kinh TếMột Số Thuật Ngữ Kinh Tế
Một Số Thuật Ngữ Kinh Tế
 
Xây Dựng Thương Hiệu
Xây Dựng Thương HiệuXây Dựng Thương Hiệu
Xây Dựng Thương Hiệu
 
Trò Chơi Tập Thể
Trò Chơi Tập ThểTrò Chơi Tập Thể
Trò Chơi Tập Thể
 
Toefl grammar
Toefl grammarToefl grammar
Toefl grammar
 
Thơ Tình Thế Giới
Thơ Tình Thế GiớiThơ Tình Thế Giới
Thơ Tình Thế Giới
 
Xml
XmlXml
Xml
 
Lab linux phần iv- Internet Services
Lab linux phần iv- Internet ServicesLab linux phần iv- Internet Services
Lab linux phần iv- Internet Services
 
Lab linux phan iii
Lab linux phan iiiLab linux phan iii
Lab linux phan iii
 
Lab linux phan i, ii.doc
Lab linux phan i, ii.docLab linux phan i, ii.doc
Lab linux phan i, ii.doc
 
Hướng Dẫn Sử Dụng excel 2010
Hướng Dẫn Sử Dụng excel 2010Hướng Dẫn Sử Dụng excel 2010
Hướng Dẫn Sử Dụng excel 2010
 
Athena lab Hướng Dẫn Học CCNA
Athena lab Hướng Dẫn Học CCNAAthena lab Hướng Dẫn Học CCNA
Athena lab Hướng Dẫn Học CCNA
 
Athena Bài Giảng Mạng Lan
Athena Bài Giảng Mạng LanAthena Bài Giảng Mạng Lan
Athena Bài Giảng Mạng Lan
 
Athena Bài Giảng Mạng WLan
Athena Bài Giảng Mạng WLanAthena Bài Giảng Mạng WLan
Athena Bài Giảng Mạng WLan
 
Module 10 configuring windows 7 media applications
Module 10   configuring windows 7 media applicationsModule 10   configuring windows 7 media applications
Module 10 configuring windows 7 media applications
 
Module 12 wireless
Module 12   wirelessModule 12   wireless
Module 12 wireless
 
Module 6 configuring user account security
Module 6   configuring user account securityModule 6   configuring user account security
Module 6 configuring user account security
 
Module 4 sharing files by using windows 7
Module 4   sharing files by using windows 7Module 4   sharing files by using windows 7
Module 4 sharing files by using windows 7
 

Recently uploaded

DANH SÁCH XÉT TUYỂN SỚM_NĂM 2023_học ba DPY.pdf
DANH SÁCH XÉT TUYỂN SỚM_NĂM 2023_học ba DPY.pdfDANH SÁCH XÉT TUYỂN SỚM_NĂM 2023_học ba DPY.pdf
DANH SÁCH XÉT TUYỂN SỚM_NĂM 2023_học ba DPY.pdf
thanhluan21
 
Tóm tắt Tư tưởng Hồ Chí Minhhhhhhhhhhhhh
Tóm tắt Tư tưởng Hồ Chí MinhhhhhhhhhhhhhTóm tắt Tư tưởng Hồ Chí Minhhhhhhhhhhhhh
Tóm tắt Tư tưởng Hồ Chí Minhhhhhhhhhhhhh
nnguyenthao204
 
Bài 4. Khảo sát mạch dao động điện từ.doc
Bài 4. Khảo sát mạch dao động điện từ.docBài 4. Khảo sát mạch dao động điện từ.doc
Bài 4. Khảo sát mạch dao động điện từ.doc
phamvanchinhlqd
 
NHO GIÁO VÀ ẢNH HƯỞNG ĐẾN ĐỜI SỐNG TINH THẦN
NHO GIÁO VÀ ẢNH HƯỞNG ĐẾN ĐỜI SỐNG TINH THẦNNHO GIÁO VÀ ẢNH HƯỞNG ĐẾN ĐỜI SỐNG TINH THẦN
NHO GIÁO VÀ ẢNH HƯỞNG ĐẾN ĐỜI SỐNG TINH THẦN
lamluanvan.net Viết thuê luận văn
 
Bài tập chương 5. Năng lượng phản ứng.docx
Bài tập chương 5. Năng lượng phản ứng.docxBài tập chương 5. Năng lượng phản ứng.docx
Bài tập chương 5. Năng lượng phản ứng.docx
gorse871
 
THONG BAO nop ho so xet tuyen TS6 24-25.pdf
THONG BAO nop ho so xet tuyen TS6 24-25.pdfTHONG BAO nop ho so xet tuyen TS6 24-25.pdf
THONG BAO nop ho so xet tuyen TS6 24-25.pdf
QucHHunhnh
 
CHỮ “TRÍ” THEO TƯ TƯỞNG NHO GIÁO VÀ Ý NGHĨA TRONG ĐỔI MỚI GIAÓ DỤC Ở VIỆT NAM...
CHỮ “TRÍ” THEO TƯ TƯỞNG NHO GIÁO VÀ Ý NGHĨA TRONG ĐỔI MỚI GIAÓ DỤC Ở VIỆT NAM...CHỮ “TRÍ” THEO TƯ TƯỞNG NHO GIÁO VÀ Ý NGHĨA TRONG ĐỔI MỚI GIAÓ DỤC Ở VIỆT NAM...
CHỮ “TRÍ” THEO TƯ TƯỞNG NHO GIÁO VÀ Ý NGHĨA TRONG ĐỔI MỚI GIAÓ DỤC Ở VIỆT NAM...
lamluanvan.net Viết thuê luận văn
 
thuvienhoclieu.com-De-thi-thu-TN-THPT-2024-Tieng-Anh-phat-trien-tu-de-minh-ho...
thuvienhoclieu.com-De-thi-thu-TN-THPT-2024-Tieng-Anh-phat-trien-tu-de-minh-ho...thuvienhoclieu.com-De-thi-thu-TN-THPT-2024-Tieng-Anh-phat-trien-tu-de-minh-ho...
thuvienhoclieu.com-De-thi-thu-TN-THPT-2024-Tieng-Anh-phat-trien-tu-de-minh-ho...
HngNguyn2390
 
Từ khoá Địa Lí giup ban dat 9 diem .docx
Từ khoá Địa Lí giup ban dat 9 diem .docxTừ khoá Địa Lí giup ban dat 9 diem .docx
Từ khoá Địa Lí giup ban dat 9 diem .docx
Nguyntrnhnganh
 
GƯƠNG ĐIỂN HÌNH NGƯỜI TỐT - VIỆC TỐT DƯƠNG THU NGA - NỮ KỸ THUẬT VIÊN PHỤC HỒ...
GƯƠNG ĐIỂN HÌNH NGƯỜI TỐT - VIỆC TỐT DƯƠNG THU NGA - NỮ KỸ THUẬT VIÊN PHỤC HỒ...GƯƠNG ĐIỂN HÌNH NGƯỜI TỐT - VIỆC TỐT DƯƠNG THU NGA - NỮ KỸ THUẬT VIÊN PHỤC HỒ...
GƯƠNG ĐIỂN HÌNH NGƯỜI TỐT - VIỆC TỐT DƯƠNG THU NGA - NỮ KỸ THUẬT VIÊN PHỤC HỒ...
lamluanvan.net Viết thuê luận văn
 
Tai-lieu-Boi-Duong-HSG-môn-Ngữ-Văn-THPT-Tập-1.docx
Tai-lieu-Boi-Duong-HSG-môn-Ngữ-Văn-THPT-Tập-1.docxTai-lieu-Boi-Duong-HSG-môn-Ngữ-Văn-THPT-Tập-1.docx
Tai-lieu-Boi-Duong-HSG-môn-Ngữ-Văn-THPT-Tập-1.docx
NhNguynTQunh
 
kltn_Nâng Cao Chất Lượng Đội Ngũ Công Chức Cấp Phường Trên Địa Bàn Quận Hà Đô...
kltn_Nâng Cao Chất Lượng Đội Ngũ Công Chức Cấp Phường Trên Địa Bàn Quận Hà Đô...kltn_Nâng Cao Chất Lượng Đội Ngũ Công Chức Cấp Phường Trên Địa Bàn Quận Hà Đô...
kltn_Nâng Cao Chất Lượng Đội Ngũ Công Chức Cấp Phường Trên Địa Bàn Quận Hà Đô...
Luận Văn Uy Tín
 
Diễn giải Tâm lý - Chiêm tinh Thầy Minh Tuệ
Diễn giải Tâm lý - Chiêm tinh Thầy Minh TuệDiễn giải Tâm lý - Chiêm tinh Thầy Minh Tuệ
Diễn giải Tâm lý - Chiêm tinh Thầy Minh Tuệ
Little Daisy
 
TỔNG HỢP 135 CÂU HỎI DI TRUYỀN PHÂN TỬ LUYỆN THI HỌC SINH GIỎI THPT MÔN SINH ...
TỔNG HỢP 135 CÂU HỎI DI TRUYỀN PHÂN TỬ LUYỆN THI HỌC SINH GIỎI THPT MÔN SINH ...TỔNG HỢP 135 CÂU HỎI DI TRUYỀN PHÂN TỬ LUYỆN THI HỌC SINH GIỎI THPT MÔN SINH ...
TỔNG HỢP 135 CÂU HỎI DI TRUYỀN PHÂN TỬ LUYỆN THI HỌC SINH GIỎI THPT MÔN SINH ...
Nguyen Thanh Tu Collection
 
CD6_DAI_CUONG_KIMLOAI_12CB218LTTTHU5.pdf
CD6_DAI_CUONG_KIMLOAI_12CB218LTTTHU5.pdfCD6_DAI_CUONG_KIMLOAI_12CB218LTTTHU5.pdf
CD6_DAI_CUONG_KIMLOAI_12CB218LTTTHU5.pdf
Nguyntrnhnganh
 
Các bình diện Ngôn ngữ học đối chiếu.pdf
Các bình diện Ngôn ngữ học đối chiếu.pdfCác bình diện Ngôn ngữ học đối chiếu.pdf
Các bình diện Ngôn ngữ học đối chiếu.pdf
linhlevietdav
 
khoaluan_Chính Sách Tiền Lương Tại Công Ty Cổ Phần Đầu Tư Hải Đường, Tỉnh Nam...
khoaluan_Chính Sách Tiền Lương Tại Công Ty Cổ Phần Đầu Tư Hải Đường, Tỉnh Nam...khoaluan_Chính Sách Tiền Lương Tại Công Ty Cổ Phần Đầu Tư Hải Đường, Tỉnh Nam...
khoaluan_Chính Sách Tiền Lương Tại Công Ty Cổ Phần Đầu Tư Hải Đường, Tỉnh Nam...
Luận Văn Uy Tín
 
Từ ngữ về con người và chiến tranh trong Nhật ký Đặng Thùy Trâm.pdf
Từ ngữ về con người và chiến tranh trong Nhật ký Đặng Thùy Trâm.pdfTừ ngữ về con người và chiến tranh trong Nhật ký Đặng Thùy Trâm.pdf
Từ ngữ về con người và chiến tranh trong Nhật ký Đặng Thùy Trâm.pdf
Man_Ebook
 
Biểu tượng trăng và bầu trời trong tác phẩm của Nguyễn Quang Thiều
Biểu tượng trăng và bầu trời trong tác phẩm của Nguyễn Quang ThiềuBiểu tượng trăng và bầu trời trong tác phẩm của Nguyễn Quang Thiều
Biểu tượng trăng và bầu trời trong tác phẩm của Nguyễn Quang Thiều
lamluanvan.net Viết thuê luận văn
 
CHIẾN LƯỢC DẠY TIẾNG ANH THEO CHƯƠNG TRÌNH GD 2018 CHO HỌC SINH TRUNG BÌNH YẾ...
CHIẾN LƯỢC DẠY TIẾNG ANH THEO CHƯƠNG TRÌNH GD 2018 CHO HỌC SINH TRUNG BÌNH YẾ...CHIẾN LƯỢC DẠY TIẾNG ANH THEO CHƯƠNG TRÌNH GD 2018 CHO HỌC SINH TRUNG BÌNH YẾ...
CHIẾN LƯỢC DẠY TIẾNG ANH THEO CHƯƠNG TRÌNH GD 2018 CHO HỌC SINH TRUNG BÌNH YẾ...
lamluanvan.net Viết thuê luận văn
 

Recently uploaded (20)

DANH SÁCH XÉT TUYỂN SỚM_NĂM 2023_học ba DPY.pdf
DANH SÁCH XÉT TUYỂN SỚM_NĂM 2023_học ba DPY.pdfDANH SÁCH XÉT TUYỂN SỚM_NĂM 2023_học ba DPY.pdf
DANH SÁCH XÉT TUYỂN SỚM_NĂM 2023_học ba DPY.pdf
 
Tóm tắt Tư tưởng Hồ Chí Minhhhhhhhhhhhhh
Tóm tắt Tư tưởng Hồ Chí MinhhhhhhhhhhhhhTóm tắt Tư tưởng Hồ Chí Minhhhhhhhhhhhhh
Tóm tắt Tư tưởng Hồ Chí Minhhhhhhhhhhhhh
 
Bài 4. Khảo sát mạch dao động điện từ.doc
Bài 4. Khảo sát mạch dao động điện từ.docBài 4. Khảo sát mạch dao động điện từ.doc
Bài 4. Khảo sát mạch dao động điện từ.doc
 
NHO GIÁO VÀ ẢNH HƯỞNG ĐẾN ĐỜI SỐNG TINH THẦN
NHO GIÁO VÀ ẢNH HƯỞNG ĐẾN ĐỜI SỐNG TINH THẦNNHO GIÁO VÀ ẢNH HƯỞNG ĐẾN ĐỜI SỐNG TINH THẦN
NHO GIÁO VÀ ẢNH HƯỞNG ĐẾN ĐỜI SỐNG TINH THẦN
 
Bài tập chương 5. Năng lượng phản ứng.docx
Bài tập chương 5. Năng lượng phản ứng.docxBài tập chương 5. Năng lượng phản ứng.docx
Bài tập chương 5. Năng lượng phản ứng.docx
 
THONG BAO nop ho so xet tuyen TS6 24-25.pdf
THONG BAO nop ho so xet tuyen TS6 24-25.pdfTHONG BAO nop ho so xet tuyen TS6 24-25.pdf
THONG BAO nop ho so xet tuyen TS6 24-25.pdf
 
CHỮ “TRÍ” THEO TƯ TƯỞNG NHO GIÁO VÀ Ý NGHĨA TRONG ĐỔI MỚI GIAÓ DỤC Ở VIỆT NAM...
CHỮ “TRÍ” THEO TƯ TƯỞNG NHO GIÁO VÀ Ý NGHĨA TRONG ĐỔI MỚI GIAÓ DỤC Ở VIỆT NAM...CHỮ “TRÍ” THEO TƯ TƯỞNG NHO GIÁO VÀ Ý NGHĨA TRONG ĐỔI MỚI GIAÓ DỤC Ở VIỆT NAM...
CHỮ “TRÍ” THEO TƯ TƯỞNG NHO GIÁO VÀ Ý NGHĨA TRONG ĐỔI MỚI GIAÓ DỤC Ở VIỆT NAM...
 
thuvienhoclieu.com-De-thi-thu-TN-THPT-2024-Tieng-Anh-phat-trien-tu-de-minh-ho...
thuvienhoclieu.com-De-thi-thu-TN-THPT-2024-Tieng-Anh-phat-trien-tu-de-minh-ho...thuvienhoclieu.com-De-thi-thu-TN-THPT-2024-Tieng-Anh-phat-trien-tu-de-minh-ho...
thuvienhoclieu.com-De-thi-thu-TN-THPT-2024-Tieng-Anh-phat-trien-tu-de-minh-ho...
 
Từ khoá Địa Lí giup ban dat 9 diem .docx
Từ khoá Địa Lí giup ban dat 9 diem .docxTừ khoá Địa Lí giup ban dat 9 diem .docx
Từ khoá Địa Lí giup ban dat 9 diem .docx
 
GƯƠNG ĐIỂN HÌNH NGƯỜI TỐT - VIỆC TỐT DƯƠNG THU NGA - NỮ KỸ THUẬT VIÊN PHỤC HỒ...
GƯƠNG ĐIỂN HÌNH NGƯỜI TỐT - VIỆC TỐT DƯƠNG THU NGA - NỮ KỸ THUẬT VIÊN PHỤC HỒ...GƯƠNG ĐIỂN HÌNH NGƯỜI TỐT - VIỆC TỐT DƯƠNG THU NGA - NỮ KỸ THUẬT VIÊN PHỤC HỒ...
GƯƠNG ĐIỂN HÌNH NGƯỜI TỐT - VIỆC TỐT DƯƠNG THU NGA - NỮ KỸ THUẬT VIÊN PHỤC HỒ...
 
Tai-lieu-Boi-Duong-HSG-môn-Ngữ-Văn-THPT-Tập-1.docx
Tai-lieu-Boi-Duong-HSG-môn-Ngữ-Văn-THPT-Tập-1.docxTai-lieu-Boi-Duong-HSG-môn-Ngữ-Văn-THPT-Tập-1.docx
Tai-lieu-Boi-Duong-HSG-môn-Ngữ-Văn-THPT-Tập-1.docx
 
kltn_Nâng Cao Chất Lượng Đội Ngũ Công Chức Cấp Phường Trên Địa Bàn Quận Hà Đô...
kltn_Nâng Cao Chất Lượng Đội Ngũ Công Chức Cấp Phường Trên Địa Bàn Quận Hà Đô...kltn_Nâng Cao Chất Lượng Đội Ngũ Công Chức Cấp Phường Trên Địa Bàn Quận Hà Đô...
kltn_Nâng Cao Chất Lượng Đội Ngũ Công Chức Cấp Phường Trên Địa Bàn Quận Hà Đô...
 
Diễn giải Tâm lý - Chiêm tinh Thầy Minh Tuệ
Diễn giải Tâm lý - Chiêm tinh Thầy Minh TuệDiễn giải Tâm lý - Chiêm tinh Thầy Minh Tuệ
Diễn giải Tâm lý - Chiêm tinh Thầy Minh Tuệ
 
TỔNG HỢP 135 CÂU HỎI DI TRUYỀN PHÂN TỬ LUYỆN THI HỌC SINH GIỎI THPT MÔN SINH ...
TỔNG HỢP 135 CÂU HỎI DI TRUYỀN PHÂN TỬ LUYỆN THI HỌC SINH GIỎI THPT MÔN SINH ...TỔNG HỢP 135 CÂU HỎI DI TRUYỀN PHÂN TỬ LUYỆN THI HỌC SINH GIỎI THPT MÔN SINH ...
TỔNG HỢP 135 CÂU HỎI DI TRUYỀN PHÂN TỬ LUYỆN THI HỌC SINH GIỎI THPT MÔN SINH ...
 
CD6_DAI_CUONG_KIMLOAI_12CB218LTTTHU5.pdf
CD6_DAI_CUONG_KIMLOAI_12CB218LTTTHU5.pdfCD6_DAI_CUONG_KIMLOAI_12CB218LTTTHU5.pdf
CD6_DAI_CUONG_KIMLOAI_12CB218LTTTHU5.pdf
 
Các bình diện Ngôn ngữ học đối chiếu.pdf
Các bình diện Ngôn ngữ học đối chiếu.pdfCác bình diện Ngôn ngữ học đối chiếu.pdf
Các bình diện Ngôn ngữ học đối chiếu.pdf
 
khoaluan_Chính Sách Tiền Lương Tại Công Ty Cổ Phần Đầu Tư Hải Đường, Tỉnh Nam...
khoaluan_Chính Sách Tiền Lương Tại Công Ty Cổ Phần Đầu Tư Hải Đường, Tỉnh Nam...khoaluan_Chính Sách Tiền Lương Tại Công Ty Cổ Phần Đầu Tư Hải Đường, Tỉnh Nam...
khoaluan_Chính Sách Tiền Lương Tại Công Ty Cổ Phần Đầu Tư Hải Đường, Tỉnh Nam...
 
Từ ngữ về con người và chiến tranh trong Nhật ký Đặng Thùy Trâm.pdf
Từ ngữ về con người và chiến tranh trong Nhật ký Đặng Thùy Trâm.pdfTừ ngữ về con người và chiến tranh trong Nhật ký Đặng Thùy Trâm.pdf
Từ ngữ về con người và chiến tranh trong Nhật ký Đặng Thùy Trâm.pdf
 
Biểu tượng trăng và bầu trời trong tác phẩm của Nguyễn Quang Thiều
Biểu tượng trăng và bầu trời trong tác phẩm của Nguyễn Quang ThiềuBiểu tượng trăng và bầu trời trong tác phẩm của Nguyễn Quang Thiều
Biểu tượng trăng và bầu trời trong tác phẩm của Nguyễn Quang Thiều
 
CHIẾN LƯỢC DẠY TIẾNG ANH THEO CHƯƠNG TRÌNH GD 2018 CHO HỌC SINH TRUNG BÌNH YẾ...
CHIẾN LƯỢC DẠY TIẾNG ANH THEO CHƯƠNG TRÌNH GD 2018 CHO HỌC SINH TRUNG BÌNH YẾ...CHIẾN LƯỢC DẠY TIẾNG ANH THEO CHƯƠNG TRÌNH GD 2018 CHO HỌC SINH TRUNG BÌNH YẾ...
CHIẾN LƯỢC DẠY TIẾNG ANH THEO CHƯƠNG TRÌNH GD 2018 CHO HỌC SINH TRUNG BÌNH YẾ...
 

huong dan PHP-2

  • 1. LAÄP TRÌNH WEB ĐỘNG VÔÙI PHP / MySQL GUESTBOOK CATALOG FORUM SHOPPING CART PHAÀN 2 Toáng Phöôùc Khaûi (toång hôïp& bieân dòch)
  • 2. Phöông phaùp truy xuaát CSDL MySQL 1- Töø Command Prompt 2- Baèng leänh PHP 3- Duøng phpMyadmin
  • 3. Ñeå hieåu ñöôïc chöông naøy moät caùch roõ raøng, tröôùc tieân baïn caàn phaûi coù moät soá kieán thöùc cô baûn veà Cô Sôû Döõ Lieäu quan heä. Neáu baïn ñaõ hoïc qua moät khoaù caên baûn veà MS Access trong chöông trình ñaøo taïo chöùng chæ B chaúng haïn thì haún nhieân baïn coù theå tieáp tuïc. Coøn neáu nhö baïn chöa bieát gì veà noù thì toâi seõ baøn ñeán noù trong phaàn Phuï Luïc cuûa giaùo trình naøy hoaëc baïn coù theå tìm ngay moät taøi lieäu tham khaûo veà CSDL, deã nhaát laø taøi lieäu vaø MS Access ... ... Toâi chaéc raèng baây giôø baïn ñaõ coù kieán thöùc veà CSDL vaø hieåu bieát Table laø gì roài! Coù haøng khoái coâng vieäc baïn seõ phaûi laøm vieäc ñoái vôùi caùc Table vaø baïn seõ ñöôïc höôùng daãn caën keõ trong quyeån saùch naøy. Baïn seõ phaûi vöôït qua moät soá kieán thöùc veà noù ñeå môùi coù theå thaønh thaïo trong thao taùc vôùi Table. Nhö baïn bieát ñaáy: Con ñöôøng ñi ñeán thaønh coâng khoâng coù traûi thaûm saün ñaâu! Neáu baïn ñaõ töøng laøm vieäc vôùi MS SQL Server hay Access chuùng ñeàu coù hoã trôï vieäc taïo CSDL raát laø deã daøng vôùi giao dieän tröïc quan. Ñoái vôùi MySQL baïn cuõng coù theå söû duïng coâng cuï tröïc quan ñoù laø phpMyadmin. Tuy nhieân, baïn phaûi hoïc caùch thao taùc vôùi CSDL baèng doøng leänh, toâi chaéc raèng ñieàu naøy seõ raát coù ích cho baïn. Muoán chöông trình cuûa baïn trong luùc chaïy thao taùc töï ñoäng vôùi CSDL thì baïn caàn haøng taù leänh PHP/SQL ñeå thöïc hieän caùc yeâu caàu cuûa chöông trình.
  • 4. Tröôùc khi chuùng ta taïo caùc table trong CSDL cuûa MySQL, coù moät vaøi thöù baïn caàn phaûi hieåu roõ. Nhöõng khaùi nieäm cô baûn maø toâi saép giôùi thieäu sau ñaây raát quan troïng. Baïn haõy chaéc raèng mình ñaõ naém kyõ veà chuùng tröôùc khi thöïc hieän vieäc thieát keá döõ lieäu. Null Vieäc ñaàu tieân baïn phaûi laøm trong vieäc thieát keá moät table laø quyeát ñònh xem moät field coù cho pheùp giaù trò NULL hay khoâng. Trong CSDL quan heä, giaù trò NULL cuûa moät field ñoàng nghóa vôùi noù coù theå chaáp nhaän khoâng coù döõ lieäu trong ñoù. Neân nhôù raèng giaù trò NULL khaùc vôùi giaù trò cuûa moät chuoãi khoâng coù kyù töï trong ñoù hoaëc soá coù giaù trò 0. Ñoâi khi trong chöông trình, baïn seõ thöïc hieän moät soá ñoäng taùc so saùnh xem moät chuoãi naøo ñoù coù chöùa giaù trò hay khoâng, noù coù theå laø moät caâu leänh IF. Xeùt moät ví duï PHP nhö sau: $var //this is a variable used in the test if ($var == “”) { echo “Var is an empty string”; } else { echo $var; }
  • 5. Neáu baïn thöïc hieän vieäc so saùnh xem giaù trò soá coù phaûi 0 hay khoâng thì cuõng thöïc hieän töông töï. Ñoäng taùc so saùnh treân seõ khoâng laøm vieäc ñöôïc ñoái vôùi giaù trò NULL. Baïn neân hieåu raèng NULL laø khoâng chöùa baát kyø giaù trò gì trong ñoù, cho neân vieäc so saùnh trò khoâng mang yù nghóa gì caû. Trong chöông 3 baïn seõ thaáy raèng ñoái vôùi giaù trò NULL ñoøi hoûi laäp trình vieân phaûi raát caân nhaéc khi vieát leänh lieân keát table. Trong leänh SELECT cuûa SQL, coù moät soá caùch ñeå baïn coù theå kieåm tra neáu nhö moät field chöùa giaù trò NULL. Tröôùc heát baïn haõy söû duïng haøm Isnull(). Giaû söû tìm moät record trong table maø giaù trò midle_name laø NULL, baïn coù theå söû duïng query sau: select * from names where isnull(middle_name); Hoaëc laáy caùc record maø middle_name khaùc NULL: select * from names where !isnull(middle_name); Baïn cuõng coù theå söû duïng is null vaø is not null: select * from users were addr2 is null; select * from users where addr2 is not null; Ñeå roõ hôn, baïn haõy xem chuyeän gì xaûy ra khi toâi coá gaéng lieân keát hai table sau:
  • 6. Khach_hang ten ho_lot ba_xa Trung Le Anh 1321 Khai Tong Phuoc Null Hon_nhan ba_xa ten ho_lot 1321 Diem Nguyen Thuy Neáu baïn muoán tìm teân caùc khaùch haøng vaø teân nhöõng baø xaõ cuûa hoï, baïn seõ phaûi lieân keát 2 table naøy thoâng qua field ba_xa. (Xin baïn chôù lo laéng khi chöa hieåu veà cuù phaùp, baïn seõ hoïc ngay ôû phaàn tieáp theo thoâi). SELECT * FROM khach_hang, hon_nhan WHERE khach_hang.ba_xa = hon_nhan.ba_xa
  • 7. Vieäc thöïc hieän naøy chæ ñuùng ñoái vôùi Trung, nhöng seõ coù vaán ñeà ñoái vôùi Khai bôûi vì anh ta haõy coøn ñoäc thaân vaø ba_xa cuûa anh ta laø NULL. Trong chöông 3 baïn seõ khaûo saùt kyõ hôn veà vaán ñeà naøy. Index Ngöôøi ta noùi raèng öu ñieåm vöôït troäi cuûa Heä quaûn trò CSDL quan heä laø noù thöïc hieän caùc vieäc tìm kieám hay saép xeáp nhöõng khoái löôïng döõ lieäu khoång loà moät caùch raát nhanh choùng. Sôû dó noù thöïc hieän ñöôïc vieäc naøy laø do noù coù chöùa moät cô caáu löu tröõ döõ lieäu goïi laø INDEX. INDEX cho pheùp database server taïo ñöôïc moät field ñaëc tröng tìm kieám vôùi toác ñoä khoù ngôø. Caùc INDEX ñaëc bieät hoã trôï moät hoaëc moät nhoùm caùc record trong moät table chöùa soá löôïng lôùn caùc record. Chuùng cuõng hoã trôï toác ñoä cho caùc haøm lieân keát hoaëc taùch nhoùm döõ lieäu nhö min(), max(), baïn seõ tìm hieåu ôû Chöông 3. Vôùi caùc tính naêng vöôït troäi naøy, taïi sao ngöôøi ta laïi khoâng taïo index trong taát caû caùc field cuûa moät table? Coù moät soá ñieàu trôû ngaïi nhö sau: Thöù nhaát, index coù seõ laøm chaäm moät soá tieán trình trong CSDL. Moãi laàn baûo trì caùc index Database Server phaûi maát khaù nhieàu thôøi gian. Coù moät vaøi tröôøng hôïp chính caùc index laøm cho chuùng chaäm haún. Neáu nhö treân table cuûa baïn taát caû caùc record ñeàu gioáng y nhö nhau thì khoâng coù lyù do gì ñeå baïn taïo index. Caùc index dö thöøa chæ laøm cho toán theâm khoâng gian ñóa cuûa baïn maø thoâi.
  • 8. Ñoái vôùi moät table coù gaén khoaù chính (primary key) thì thoâng thöôøng field coù khoaù naøy ñöôïc duøng vaøo vieäc tìm kieám cho neân index seõ ñöôïc gaùn töï ñoäng treân field naøy. Baïn seõ gaëp laïi raát nhieàu coâng vieäc taïo index ôû caùc phaàn tieáp theo sau. Leänh CREATE Database Tröôùc khi taïo ñöôïc moät Table thì ñieàu taát yeáu laø baïn phaûi taïo ñöôïc moät Database caùi ñaõ. Vieäc naøy deã daøng vaø nhanh choùng thoâi. Leänh CREATE ñöôïc söû duïng nhö sau: mysql> create database database_name; Neáu nhö baïn thaéc maéc raèng sau khi taïo database noù seõ naèm ôû trong thö muïc naøo treân oå ñóa cuûa baïn thì baïn haõy tìm trong ..mysqldata xem coù khoâng. Khi ñaët teân cho database, hay ñaët teân cho field vaø index gì ñaáy traùnh tröôøng traùnh tröôøng hôïp ñaët nhöõng caùi teân khoù nhôù hoaëc deã bò laãn loän. Ñoái vôùi moät soá heä thoáng Unix chaúng haïn coù söï phaân bieät chöõ HOA/thöôøng thì CSDL chaïy treân noù cuõng aûnh höôûng theo. Baïn haõy choïn moät quy öôùc cho rieâng mình trong vieäc ñaët teân ñeå khoûi nhaàm laãn veà sau. Chaúng haïn teân cuûa table vaø field ñeàu ñaët chöõ thöôøng chaúng haïn. Neân nhôù laø khoâng ñöôïc söû duïng khoaûng traéng.
  • 9. Baây giôø baïn tìm hieåu caû hai caùch taïo database: Caùch thöù nhaát taïo thuû coâng töø daáu nhaéc doøng leänh DOS, caùch thöù hai söû duïng caùc leänh trong PHP. Caùch thöù nhaát toâi ñaõ coù trình baøy ôû chöông giôùi thieäu vaø baïn ñaõ taïo moät database teân laø guestbook. Cuù phaùp taïo nhö sau: mysql> create database guestbook; Caùch thöù hai laø söû duïng leänh trong PHP, baïn coù theå duøng haøm mysql_create_db() hoaëc mysql_query(). Nhöng neân nhôù tröôùc khi taïo baïn phaûi thöïc hieän ñöôïc keát noái vôùi database server. $conn = mysql_connect(“localhost”,”username”, “password”) or die (“Could not connect to localhost”); mysql_create_db(“my_database”) or die (“Could not create database”); $string = “create database my_other_db”; mysql_query($string) or die(mysql_error());
  • 10. Leänh USE Database Sau khi ñaõ taïo ñöôïc moät database môùi trong database server baïn seõ baét ñaàu choïn noù ñeå söû duïng cho coâng vieäc cuûa mình. Caùch thöïc hieän nhö sau: 1. Command Prompt: mysql> use database_name; 2. Trong PHP: $conn = mysql_connect(“localhost”,”username”, “password”) or die (“Could not connect to localhost”); mysql_select_db(“test”, $conn) or die (“Could not select database”);
  • 11. Leänh CREATE Table Löu yù: Leänh naøy thöïc hieän sau khi ñaõ coù leänh CREATE Database. Moät khi baïn ñaõ taïo vaø choïn database, vieäc tieáp theo laø taïo moät table. Baïn seõ söû duïng leänh Create Table nhö sau: create table table_name ( column_1 column_type column_attributes, column_2 column_type column_attributes, primary key (column_name), index index_name(column_name) ) Ñoái vôùi thuoäc tính caùc field (coät) chuùng ta caàn baøn veà: - null hoaëc not null - default
  • 12. Neáu baïn khoâng ñònh nghóa NULL hay NOT NULL thì NULL seõ ñöôïc choïn laøm giaù trò maëc ñònh. Haõy xeùt ví duï sau: create table topics2 ( topic_id integer not null auto_increment, parent_id integer default 0 not null, root_id integer default 0, name varchar(255), description text null, create_dt timestamp, modify_dt timestamp, author varchar(255) null, author_host varchar(255) null, primary key(topic_id), index my_index(parent_id)) Trong ví duï treân baïn taïo ra moät table coù teân topics2, coù taát caû 8 field vaø coù 2 index, moät index cho khoaù chính vaø moät cho parent_id. Type cuûa caùc field treân laàn löôït laø integer, varchar, text, timestamp. Giaù trò ñöùng sau defaul laø giaù trò maëc ñònh baïn gaùn cho moät oâ trong record khi khoâng nhaäp lieäu vaøo.
  • 13. Baây giôø chuùng ta aùp duïng caùc leänh naøy vaøo moät chöông trình PHP ñeå taïo table, haøm mysql_query () ñöôïc söû duïng: $conn = mysql_connect(“localhost”,”username”, “password”) or die (“Could not connect to localhost”); mysql_select_db(“test”, $conn) or die(“could not select database”); $query = “create table my_table (col_1 int not null primary key, col_2 text)”; mysql_query($query) or die(mysql_error()); * Löu yù: username vaø password tuyø thuoäc vaøo MySQL cuûa baïn.Ví duï: $conn = mysql_connect(“localhost”,”minhtrung”, “zadfdfaked”) or Thoâng thöôøng caùc nhaø cung caáp host PHP söû duïng localhost, tuy nhieân moät soá hosting khoâng söû duïng localhost nhö Yahoo chaúng haïn. Do ñoù baïn caàn xem höôùng daãn cuûa nhaø cung caáp host.
  • 14. Kieåu döõ lieäu Baây giôø chuùng ta haõy baøn veà caùc kieåu döõ lieäu (type) gaùn cho field trong table. Coù raát nhieàu kieåu khaùc nhau chuùng ta seõ laàn löôït khaûo saùt töøng kieåu moät. Kieåu chuoãi vaên baûn MySQL coù 7 kieåu daønh cho döõ lieäu kieåu chuoãi vaên baûn: char varchar tinytext text mediumtext longtext enum
  • 15. CHAR Caùch söû duïng: char(length) Length coù giaù trò toái ña laø 255. Giaû söû baïn söû duïng khai baùo char(10) thì baïn chæ ñöôïc pheùp nhaäp vaøo toái ña 10 kyù töï maø thoâi. VARCHAR Caùch söû duïng: varchar(length) Kieåu naøy cuõng gaàn gioáng nhö kieåu CHAR coù ñoä daøi toái ña cuõng laø 255. Ñieåm khaùc bieät cuûa varchar laø noù chæ laø bieán löu tröõ ñoä daøi, cho neân noù seõ khoâng thay ñoåi khi giaù trò cuûa cuûa oâ döõ lieäu daøi hay ngaén. MySQL seõ sinh ra moät kyù duøng laøm bieán chöùa ñoä daøi cuûa field kieåu varchar. Ñoàng thôøi MySQL seõ thöïc hieän chöùc naêng loaïi boû caùc khoaûng troáng trong moãi oâ döõ lieäu neáu nhö khoâng ñöôïc söû duïng heát. USING CHAR OR VARCHAR Coù söï khaùc nhau trong vieäc söû duïng CHAR vaø VARCHAR. Sau ñaây laø phöông höôùng löïa choïn cuûa baïn. Giaû duï baïn taïo moät field laø ÑÒA CHÆ vaø baïn döï tính ñoä daøi toái ña laø 150. Coù nhöõng tröôøng hôïp ñòa chæ raát ngaén ví duï: 1 Leâ Lôïi, Q.1, TPHCM. Baïn chæ söû duïng coù 20 kyù töï, nhö vaäy coøn
  • 16. troáng raát nhieàu kyù töï khoâng duøng ñeán. Trong tröôøng hôïp naøy baïn neân söû duïng kieåu VARCHAR (150). Tröôøng hôïp field cuûa baïn laø MAÕ SOÁ chaúng haïn, vaø baïn cho ñoä daøi toái ña laø 6 theo quy öôùc taïo maõ cuûa baïn ví duï: KH0001 . Trong tröôøng hôïp naøy caùc oâ khaùc ñeàu ñöôïc nhaäp theo chuaån ñònh saün luoân luoân laø 6 kyù töï cho neân khoâng vieäc gì baïn phaûi söû duïng VARCHAR ñeå MySQL phaûi nhoïc coâng theo doõi ñoä daøi cuûa caùc oâ moãi khi nhaäp vaøo. Baïn chæ söû duïng VAR(6) laø ñöôïc. Trong tröôøng hôïp baïn choïn kieåu döõ lieäu laø varchar(4) thì MySQL seõ töï ñoäng ñoåi laïi laø kieåu char. TINYTEXT Caùch söû duïng: tinytext Ñaây laø moät trong boán kieåu text nhò phaân. Taát caû 4 kieåu naøy (tinytext, text, mediumtext, largetext) ñeàu laø kieåu bieán töông töï nhö varchar. Chuùng khæ khaùc nhau veà ñoä daøi cuûa cho pheùp cuûa kyù töï maø thoâi. Tuy nhieân, ñoái vôùi TINYTEXT thì cho pheùp ñoä daøi toái ña laø 255, gioáng nhö varchar(255). Cho pheùp taïo index treân toaøn boä caùc kyù töï cuûa field naøy.
  • 17. TEXT Caùch söû duïng: text Cho pheùp ñoä daøi toái ña laø 65,535 kyù töï. Coù theå taïo index treân 255 kyù töï ñaàu. MEDIUMTEXT Caùch söû duïng: midiumtext Cho pheùp ñoä daøi toái ña laø 16,777,215 kyù töï. Coù theå taïo index treân 255 kyù töï ñaàu. LONGTEXT Caùch söû duïng: longtext Cho pheùp ñoä daøi toái ña laø 4,294,967,295 kyù töï. Coù theå taïo index treân 255 kyù töï ñaàu. Tuy nhieân loaïi naøy khoâng thoâng duïng bôûi vì MySQL chæ hoã trôï chuoãi 16 trieäu bytes. ENUM Caùch söû duïng: enum (‘value1’, ‘value2’, ‘value3’ ...) [default ‘value’] Vôùi enum baïn coù theå giôùi haïn caùc giaù trò ñöôïc ñònh saün cho moät field. Cho pheùp baïn ñònh tröôùc toái ña 65.535 giaù trò. Thoâng thöôøng ngöôøi ta duøng kieåu naøy cho field chöùa giaù trò Yes hoaëc No. Ví duï:
  • 18. create table my_table ( id int auto_increment primary key, answer enum (‘yes’, ‘no’) default ‘no’ ); SET Caùch söû duïng: set (‘value1’, ‘value2’, ‘value3’ ...) [default ‘value’] Kieåu naøy ñònh nghóa moät taäp hôïp haøng loaït caùc giaù trò ñònh tröôùc. Tuy nhieân, caùch naøy ít ñöôïc duøng bôûi vì noù phaù vôõ caáu truùc thieát keá CSDL (moät field coù quaù nhieàu kieåu) vaø caùc baïn seõ khoâng thaáy toâi söû duïng trong quyeån saùch naøy. Kieåu döõ lieäu soá MySQL coù taát caû 7 kieåu soá. Löu yù raèng caùc kieåu sau ñaây laø gioáng nhau: int/ integer, double/double precision/real, decimal/numeric int/integer tinyint mediumint bigint
  • 19. float double/double precision/real decimal/numeric Ñoái vôùi taát caû kieåu soá, giaù trò lôùn nhaát cho pheùp laø 255. Ñoái vôùi moät soá kieåu cho pheùp baïn theå hieän caùc soá 0 ñöùng ñaàu. Giaû söû baïn coù moät field coù ñoä daøi laø 10 thì soá 25 trong oâ döõ lieäu seõ ñöôïc theå hieän 0000000025. Field soá coøn ñöôïc ñònh nghóa laø coù daáu (signed) hoaëc khoâng daáu (unsigned). Maëc ñòch laø coù. INT/INTEGER Caùch söû duïng: int(display size) [unsigned] [zerofill] Neáu baïn duøng khoâng daáu thì giaù trò cuûa field cho pheùp laø töø 0 ñeán 4.294.967.295. Neáu duøng coù daáu thì giaù trò töø –2.147.483.648 ñeán 2.147.483.647. Kieåu Int seõ söû duïng auto_increment (töï ñoäng theo chieàu taêng) ñeå ñònh nghóa khoaù chính cuûa table. create table my_table ( table_id int unsigned auto_increment primary key, next_column text );
  • 20. Ñeå yù raèng baïn söû duïng khoâng daáu (unsigned) bôûi vì auto_increment khoâng duøng cho caùc giaù trò aâm. TINYINT Caùch söû duïng: tinyint(display size) [unsigned] [zerofill] Neáu khoâng daáu, tinyint seõ chöùa caùc giaù trò nguyeân töø 0 ñeán 255. Neáu coù daáu thì töø -128 ñeán 127. MEDIUMINT Caùch söû duïng: mediumint(display size) [unsigned] [zerofill] Coù daáu: coù giaù trò töø -8.388.608 ñeán 8.388.607 Khoâng daáu: coù giaù trò töø 0 ñeán 1677215 BIGINT Caùch söû duïng: bigint(display size) [unsigned] [zerofill] Coù daáu: -9.223.372.036.854.775.808 ñeán 9.223.372.036.854.775.807 Khoâng daáu: from 0 to 18.446.744.073.709.551.615
  • 21. FLOAT Caùch söû duïng 1: FLOAT(precision) [zerofill] Vôùi caùch söû duïng naøy, cho pheùp chöùa caùc soá thaäp phaân khoâng daáu. Soá löôïng phaàn thaäp phaân coù theå laø <=24 ñoái vôùi loaïi single vaø 25 ñeán 53 ñoái vôùi loaïi double. Caùc version tröôùc ñaây cuûa MySQL, luoân chia laøm 2 loaïi: Caùch söû duïng 2: FLOAT[(M,D)] [ZEROFILL] Ñaây laø loaïi single vaø giaù trò coù theå laø töø -3,402823466E+38 ñeán -1,175494351E-38, soá 0, vaø töø 1,175494351E-38 ñeán 3,402823466E+38. M laø phaàn nguyeân, D laø phaàn thaäp phaân. ???? DOUBLE/DOUBLE PRECISION/REAL Caùch söû duïng 1: DOUBLE[(M,D)] [zerofill] Cho pheùp giaù trò töø -1,7976931348623157E+308 ñeán -2,2250738585072014E-308, soá 0 vaø 2,2250738585072014E-308 ñeán 1,7976931348623157E+308. M laø phaàn nguyeân, D laø phaàn thaäp phaân. Caùch söû duïng 2: DECIMAL[(M[,D])] [ZEROFILL] Caùc soá trong phaàn thaäp phaân ñöôïc löu tröõ nhö kyù töï. Moãi soá ñöôïc xem nhö moät kyù töï chuoãi. Neáu D = 0 thì seõ khoâng coù phaàn thaäp phaân. Giaù trò thaäp phaân gioáng nhö daïng Double. ????
  • 22. Kieåu döõ lieäu ngaøy, giôø MySQL coù 5 daïng ngaøy giôø: date _ time datetime _ year timestamp time year Ngaøy vaø giôø trong MySQL raát uyeån chuyeån, noù coù theå chaáp nhaän kieåu chuoãi hoaëc soá haõy xeùt ví duï sau: create table date_test( id int unsigned auto_increment, a_date date ); Sau ñoù duøng insert ñeå ñöa giaù trò ngaøy vaøo a_date: insert into date_test (a_date) values (‘00-06-01’); insert into date_test (a_date) values (‘2000-06-01’);
  • 23. insert into date_test (a_date) values (‘20000601’); insert into test6 (a_date) values (000601); MySQL töông thích vôùi vieäc nhaän giaù trò ngaøy laø kieåu chuoãi hôn. Cho neân "000501 laø choïn löïa thích hôïp hôn laø vieäc nhaäp moät soá nguyeân. Söû duïng giaù trò chuoãi cho ngaøy giuùp baïn seõ traùnh ñöôïc moät soá söï coá veà sau. MySQL coù hoã trôï moät soá haøm giuùp baïn trong vieäc ruùt trích döõ lieäu daïng ngaøy. DATE Caùch söû duïng: date Ñònh daïng cuûa ngaøy nhö sau: YYYY-MM-DD. Cho pheùp baïn caùc giaù trò töø 1000-01-01 ñeán 9999-12-31. DATETIME Caùch söû duïng: datetime [null | not null] [default] Ñònh daïng cuûa ngaøy giôø nhö sau: YYYY-MM-DD HH:MM:SS. Cho pheùp baïn caùc giaù trò töø 1000-01-01 00:00:00 ñeán 9999-12-31 23:59:59.
  • 24. TIMESTAMP Caùch söû duïng: timestamp(size) Ñaây laø kieåu döõ lieäu ghi nhaän töï ñoäng giôø giaác söûa ñoåi gaàn nhaát ñoái vôùi moät record, baát khi khi naøo noù ñöôïc taïo ra, hoaëc caäp nhaät ñeàu xaûy ra vieäc ghi nhaän naøy. Size cuûa noù coù theå ñònh nghóa trong khoaûng töø 2 ñeán 14. Baûng sau trình baøy caùc size. Giaù trò maëc ñònh laø 14. Size Ñònh daïng 2 4 6 8 10 12 14 YY YYMM YYMMDD YYYYMMDD YYMMDDHHMM YYMMDDHHMMSS YYYYMMDDHHMMSS
  • 25. TIME Caùch söû duïng: time Löu tröõ daïng giôø theo ñònh daïng HH:MM:SS vaø coù giaù trò töø –838:59:59 ñeán 838:59:59. Lyù do maø giaù trò naøy lôùn nhö vaäy laø ñeå noù coù theå chöùa ñöôïc caùc keát quaû tính toaùn giôø giaác. YEAR Caùch söû duïng: year[(2|4)] Chöùa döõ lieäu daïng naêm. Neáu söû duïng hai kyù töï ñeå bieåu thò naêm thì bieåu dieãn ñöôïc töø Coù giaù trò töø 1970 cho ñeán 2069, neân nhôù: 70 ñeán 99 bieåu thò töø 1970 ñeán 1999, coøn 01 ñeán 69 bieåu thò töø 2001 ñeán 2069. Duøng 4 kyù töï thì bieåu dieãn ñöôïc töø 1901 ñeán 2155.
  • 26. Taïo chæ muïc INDEX Baét ñaàu töø phieân baûn 3.23.6 cuûa MySQL baïn coù theå taïo index treân baát kyø field naøo. Cho pheùp 1 table coù 16 field chöùa index. Cuù phaùp nhö sau: index index_name (indexed_column) Maëc duø index_name laø tuyø choïn, nhöng baïn neân luoân luoân cho noù moät caùi teân. Sau naøy noù raát caàn thieát khi baïn muoán xoaù boû index cuûa moät field naøo ñoù trong leänh SQL cuûa baïn. Neáu baïn khoâng cho teân thì MySQL seõ choïn teân index cuûa field ñaàu tieân. Coøn moät caùch nöõa ñeå taïo index laø khai baùo khoaù chính treân field ñoù. Chuù yù raèng baát kyø field auto_increment (sort töï ñoäng) cuõng phaûi ñöôïc index, vaø baïn neân khai baùo noù laø khoaù chính. Trong ví duï sau id_col ñöôïc index: create table my_table ( id_col int unsigned auto_increment primary key, another_col text );
  • 27. Khoaù chính coù theå cuõng ñöôïc khai baùo gioáng nhö caùc index khaùc ngay sau khi ñònh nghóa moät field: create table my_table ( id_col int unsigned not null auto_increment, another_col text, primary key(id_col) ); Index coù theå traûi roäng ra hôn moät coät. Neáu nhö query söû duïng 2 haøng phoái hôïp vôùi nhau trong khi thöïc hieän vieäc tìm kieám, baïn coù theå taïo moät index bao goàm luoân caû 2 vôùi caùc leänh sau: create table mytable( id_col int unsigned not null, another_col char(200) not null, index dual_col_index(id_col, another_col) ); Index naøy seõ ñöôïc söû duïng cho vieäc tìm kieám vöøa treân id_col vöøa treân another_col. Caùc index naøy laøm vieäc töø traùi sang phaûi. Do ñoù index naøy seõ ñöôïc söû duïng cho vieäc tìm kieám exclusive treân id_col. Tuy nhieân, noù seõ khoâng exclusive cho vieäc tìm kieán treân another_col.
  • 28. Coøn moät ñieàu veà index nöõa laø baïn coù theå taïo noù chæ treân moät phaàn cuûa field. Baét ñaàu töø phieân baûn 3.23 cuûa MySQL baïn coù theå taïo index caùc field kieåu index tinytext, text, mediumtext vaø longtext treân 255 kyù töï ñaàu. Ñoái vôùi char vaø varchar, baïn coù theå taïo index treân moät soá kyù töï ñaàu cuûa field. Cuù phaùp cuûa noù nhö sau: index index_name (column_name(column_length)) Ví duï: create table my_table( char_column char (255) not null, text_column text not null, index index_on_char (char_column(20)), index index_on_text (text_column(200)) ); Moät index coù theå ñaûm baûo giaù trò duy nhaát toàn taïi trong moïi record cuûa table baèng caùch söû duïng leänh unique. create table my_table( char_column char (255) not null, text_column text not null, unique index index_on_char (char_column));
  • 29. Caùc loaïi Table MySQL hoã trôï caùc daïng talble sau: ISAM, MyISAM, BDB vaø Heap. ISAM laø daïng table ñaõ xöa vaø trong caùc öùng duïng môùi khoâng ñöôïc söû duïng. Daïng table maëc ñònh laø MyISAM. Cuù phaùp ñeå khai baùo loaïi table naøy laø: create table table_name type=table_type( col_name column attribute ); Table daïng MyISAM coù toác ñoä toát vaø tính oån ñònh cao. Khoâng caàn thieát phaûi ñònh nghóa moät daïng table môùi naøo khaùc tröø phi baïn caàn duøng loaïi khaùc cho vì moät lyù do ñaëc bieät naøo ñoù. Heap laø daïng table thöôøng truù trong boä nhôù. Chuùng khoâng ñöôïc löu tröõ trong ñóa cöùng hay caùc thieát bò duøng ñeå tröõ tin. Cho neân neáu bò maát ñieän heap seõ maát theo. Vì ñöôïc tröõ trong boä nhôù neân heap coù toác ñoä truy caäp cao. Tuy nhieân baïn chæ duøng cho caùc table taïm thôøi trong luùc chaïy chöông trình.
  • 30. Leänh Alter table Neáu nhö baïn muoán thay ñoåi caùc thaønh phaàn cuûa table baïn seõ söû duïng leänh alter table. Baïn coù theå thöïc hieän caùc thay ñoåi nhö: ñoåi teân table, field, index; theâm hoaëc xoaù field vaø index; ñònh nghóa laïi caùc field vaø index. Cuù phaùp cô baûn cuûa leänh naøy laø: alter table table_name Caùc leänh coøn laïi tuyø thuoäc vaøo thao taùc maø chuùng ta seõ baøn tieáp theo ñaây: Ñoåi teân Table Cuù phaùp nhö sau: alter table table_name rename new_table_name If you have MySQL version 3.23.27 or higher you can make use of the rename statement.The basic syntax is rename table_name to new_table_name
  • 31. Theâm vaø xoaù coät trong Table Khi theâm field vaøo trong table, baïn seõ caàn phaûi coù nhöõng ñònh nghóa caàn thieát cho field ñoù. Töø phieân baûn 3.22 cuûa MySQL cho pheùp baïn choïn vò trí ñeå ñaët field môùi vaøo trong table. Chöùc naêng naøy khoâng baét buoäc. alter table table_name add column column_name column attributes Ví duï: alter table my_table add column my_column text not null Caùch söû duïng ñònh vò moät field trong table: Söû duïng leänh first ñeå cheøn field môùi vaøo vò trí ñaàu cuûa table. After ñeå cheøn vaøo vò trí sau cuøng treân table: alter table my_table add column my_next_col text not null first alter table my_table add column my_next_col text not null after my_other_column Ñeå xoaù moät field, baïn thöïc hieän leänh sau:
  • 32. alter table table_name drop column column name Khi thöïc hieän leänh alter ñoái vôùi moät table, baïn chæ neân thöïc hieän moät thao taùc ñoái vôùi table maø thoâi. Ví duï: Baïn thöïc hieän vieäc xoaù moät index, sau ñoù taïo moät index môùi, thì khoâng neân goäp chung vaøo moät leänh alter maø neân thöïc hieän 2 laàn. Theâm vaø xoaù Index Baïn coù theå theâm index baèng caùch söû duïng leänh index, unique vaø primary key, töông töï nhö vieäc söû duïng leänh create vaäy. alter table my_table add index index_name (column_name1, column_name2, ...) alter table my_table add unique index_name(column_name) alter table my_table add primary key(my_column) Baïn cuõng coù theå boû index baèng caùch söû duïng leänh drop: alter table table_name drop index index_name alter table_name test10 drop primary key
  • 33. Ñoåi thuoäc tính cuûa coät (field) Thay ñoåi caùch thaønh toá cuûa field baèng leänh change hoaëc modify: alter table table_name change original_column_name new_column_name int not null Leänh sau laø sai: alter table table_name change my_col2 my_col3; Neáu baïn muoán chæ ñoåi thuoäc tính cuûa field thì duøng leänh change vaø taïo field môùi cuøng teân nhöng thay ñoåi thuoäc tính. Giaû duï baïn ñoåi field col_1 töø kieåu char(200) sang varchar(200): alter table table_name change col_1 col_1 varchar(200) Vôùi MySQL phieân baûn 2.22.16 trôû ñi baïn coù theå duøng leänh modify: alter table table_name modify 1 col_1 varchar(200)
  • 34. Leänh Insert Baây giôø baïn ñaõ bieát taát caû nhöõng kieán thöùc caàn thieát ñeå taïo vaø thöïc hieän caùc thay ñoåi treân ñònh daïng table, baây giôø baïn seõ tìm hieåu caùch thöùc ñeå nhaäp thoâng tin vaøo table. Baïn seõ thöïc hieän vieäc naøy baèng leänh INSERT: insert into table_name (column_1, column2, column3,...) values (value1, value2, value3 ...) Neáu trong moät fiedl cho pheùp giaù trò NULL baïn coù theå khoâng caàn ñöa vaøo trong leänh INSERT. Nhö baïn thaáy caùc chuoãi teân field vaø giaù trò ñeàu ñöôïc ñaët trong daáu ngoaëc ñôn (). Ngoaøi ra giaù trò kieåu chuoãi phaûi ñöôïc bao boïc bôûi daáu nhaùy ñôn. Nhö vaäy neáu nhö trong chuoãi coù chöùa daáu nhaùy ñôn vaø daáu ngoaëc ñôn thì sao? Ñeå traùnh tröôøng hôïp laãm laãn giöõa daáu chuoãi vaø daáu phaân ñònh nghóa leänh SQL coù caùc qui ñònh raèng muoán ñöa kyù hieäu ñaëc bieät vaøo chuoãi thì phaûi ñaët chuùng sau daáu ‘ (single quote) “ (double quote) (backslash)
  • 35. % (percent sign) _ (underscore) Baïn coù theå thoaùt ra khoûi daáu nhaùy ñôn baèng caùch söû duïng 2 daáu ngoaëc ñôn ñoùng môû (). Baïn söû duïng caùc kyù töï ñaëc bieät sau ñeå thöïc hieän moät thao taùc ñaëc thuø trong caâu leänh: n (newline) t (tab) r (carriage return) b (back space) Neân löu yù moät ñieàu laø, baïn khoâng caàn phaûi lo laéng veà caùc kyù töï thoaùt ôû ñaây trong khi laäp trình PHP. Baïn seõ gaëp ñöôïc nhöõng haøm vaø xaùc laäp trong PHP duøng ñeå thöïc hieän vieäc naøy moät caùch töï ñoäng. Haøm addslashes() vaø caùc xaùc laäp trong php.ini seõ hoã trôï vieäc naøy.
  • 36. Leänh Update Leänh UPDATE coù moät chuùt khaùc bieät so vôùi caùc leänh maø chuùng ta ñaõ khaûo saùt, noù thöïc hieän thoâng qua leänh WHERE. Cuù phaùp thoâng thöôøng laø: update table_name set col_1=value1, col_2=value_2 where col=value Xin nhaéc laïi laàn nöõa, neáu baïn muoán theâm vaøo moät chuoãi, baïn caàn phaûi bao noù trong caùc daáu nhaùy ñôn vaø daáu thoaùt. Neân nhôù raèng leänh WHERE trong caâu leänh UPDATE coù theå thöïc hieän baát kyø pheùp so saùnh naøo ôû phía sau noù. Thoâng thöôøng noù hay ñöôïc duøng ñeå ñònh xaùc ñònh moät record ñôn vôùi khoaù chính. Trong table folks sau ID laø khoaù chính. id fname lname salary 1 Don Liu 25,000 2 Don Corleone 800,000 3 Don Juan 32,000 4 Don Johnson 44,500
  • 37. Caâu leänh sau seõ taùc ñoäng ñeán Don Corleone: update folks set fname=’Vito’ where id=2 Nhö baïn thaáy, neáu nhö baïn duøng leänh UPDATE döïa treân field fname thì thaät khoâng neân chuùt naøo, vì baïn coù theå caäp nhaät taát caû caùc field trong table naøy. update folks set fname=’Vito’ where fname=’don’ Baïn cuõng coù theå duøng UPDATE ñeå thöïc hieän vieäc ñieàu chænh taêng löông ñoái vôùi nhaân vieân chaúng haïn: update folks set salary=50000 where salary<50,000
  • 38. Leänh drop table/drop database Leänh DROP duøng ñeå xoaù table hoaëc caû database. Neân nhôù moät ñieàu laø moät khi baïn thöïc hieän leänh naøy roài thì baïn khoâng theå khoâi phuïc laïi döõ lieäu cuûa baïn. Haõy caån troïng! drop table table_name drop database database_name Leänh DROP TABLE ñöôïc chuyeån ñoåi sang PHP thoâng qua haøm mysqlquery(). Neáu baïn muoán xoaù database trong PHP, baïn caàn söû duïng haøm mysql_drop_db(). Seõ ñöôïc trình baøy caên keõ ôû caùc phaàn sau! Leänh show tables Ñeå trình baøy moät danh saùch caùc table coù trong database, baïn söû duïng leänh SHOW TABLES. Ñeå thöïc hieän ñöôïc leänh naøy baïn neân löu yù laø phaûi choïn database tröôùc ñaõ baèng leänh USE DATABASE Hình sau laø keát quaû cuûa vieäc thöïc hieän leänh SHOW TABLES töø daáu nhaéc leänh.
  • 40. Trong PHP, baïn coù theå cho hieån thò moät danh saùch table baèng caùch söû duïng haøm MYSQL_LIST_TABLES(): <? mysql_connect(“localhost”, “root”, “”); $result = mysql_list_tables(“test”); while($row = mysql_fetch_array($result)) { echo $row[0] . “<br>n”; } ?> Leänh show columns /show fields Caùc leänh cho keát quaû gioáng nhau. Baây giôø baïn haõy duøng leänh CREATE ñaõ hoïc ñeå taïo moät table sau ñoù duøng moät trong hai leänh treân ñeå cho hieån thò caùc field cuûa noù: create table topics ( topic_id integer not null auto_increment primary key, parent_id integer default 0 not null, root_id integer default 0, name varchar(255),
  • 41. description text null, create_dt timestamp, modify_dt timestamp, author varchar(255) null, author_host varchar(255) null, index my_index(parent_id) ) Hình sau trình baøy keát quaû cuûa leänh SHOW FIELDS thöïc hieän töø daáu nhaéc leänh: Leänh Show Fields
  • 42. Baïn coù theå cho ra keá quaû töông töï trong PHP baèng caùch söû duïng haøm MYSQL_FIELD_NAME(), MYSQL_FIELD_TYPE(), vaø MYSQL_FIELD_LEN(). Taát caû caùc caùc haøm naøy ñöôïc trình baøy caën keõ ôû caùc phaàn sau. $db = mysql_connect(“localhost”,”root”, “”) or die (“Could not connect to localhost”); mysql_select_db(“test”, $db) or die (“Could not find test”); $db_name =”topics”; $query = “select * from $db_name”; $result = mysql_query($query); $num_fields = mysql_num_fields($result); //create table header echo “<table border = 1>”; echo “<tr>”; for ($i=0; $i<$num_fields; $i++) { echo “<th>”; echo mysql_field_name ($result, $i); echo “</th>”;
  • 43. } echo “</tr>”; //end table header //create table body echo “<tr>”; for ($i=0; $i<$num_fields; $i++) { echo “<td valign = top>”; echo mysql_field_type ($result, $i) . “<br> n”; echo “(“ . mysql_field_len ($result, $i) . “)<br> n”; echo mysql_field_flags ($result, $i) . “<br> n”; echo “</td>”; } echo “</tr>”; //end table body echo “</table>”;
  • 44. Söû duïng phpMyAdmin Toâi khoâng loaïi tröø tröôøng hôïp baïn laø tín ñaàu cuûa DAÁU NHAÉC LEÄNH. Coù khaû naêng laø baïn khoâng thích GIAO DIEÄN ÑOÀ HOAÏ vì coù theå baïn cho raèng giao dieän naøy daønh cho nhöõng tay mô maø thoâi. Nhöng toâi khuyeân baïn raèng baïn haõy taäp laøm vieäc vôùi GIAO DIEÄN ÑOÀ HOAÏ. Baûn thaân toâi xuaát thaân töø thôøi daáu nhaéc coå loã, vaø coù theå noùi neáu nhö nhaém maét toâi vaãn goõ ñöôïc taát caû caùc kyù töï treân phím nhanh hôn caû vieäc nhìn ñeå goõ chuùng. Tuy nhieân, trôøi phuù cho baïn ñoâi maét baïn haõy bieát höôûng thuï khaû naêng cuûa noù ñöøng neân boû qua! Vaø toâi cuõng vaäy! Ñöôïc vaäy thì chuùng ta haõy baét tay vaøo vieäc söû duïng chöông trình phpMyAdmin. Ñaây laø chöông trình coù giao dieän ñoà hoaï hoã trôï moïi truy caäp treân CSDL MySQL. Neáu nhö baïn chöa coù thì haõy chaïy ra caùc cöûa haøng ngoaøi Buøi Thò Xuaân hay Toân Thaát Tuøng kieám ngay moät ñóa ñi. Khoâng thoâi thì download treân caùc website phpMyAdmin. Chöông trình naøy raát deã söû duïng. Neáu nhö baïn caûm thaáy khoù thì haõy xem phaàn Phuï Luïc cuûa quyeån saùch, toâi coù höôùng daãn chi tieát trong ñoù.
  • 46.
  • 47. Toùm taét Trong chöông naøy baïn ñaõ tìm hieåu taát caû caùc leänh caàn thieát ñeå taïo vaø thao taùc vôùi CSDL trong moâi tröôøng MySQL. Baïn ñaõ bieát muïc ñích cuûa index. Bieát caùc kieåu döõ lieäu vaø muïc ñích söû duïng theo tuyø tröôøng hôïp. Ngoaøi ra toâi cuõng giôùi thieäu moät chöông trình quaûn lyù CSDL coù giao dieän ñoà hoaï phpMyAdmin giuùp baïn thao taùc thuû coâng treân CSDL moät caùch deã daøng. Trong phaàn III vaø IV baïn seõ tìm hieåu kyõ hôn vaø thöïc hieän nhöõng öùng duïng quan troïng cuûa CSDL trong chöông trình. (Coøn tieáp) Löu yù: Baïn coù theå tìm thaáy caùc CD thieát keá web PHP taïi caùc cöûa haøng CD (Toân Thaát Tuøng, tp.HCM chaúng haïn). Treân CD coù trình caøi ñaët Apache, PHP, MySQL thoâng duïng laø FOX. Ngoaøi ra coøn coù caùc Website PHP maãu. CAÙC LEÄNH ÔÛ BAØI HOÏC TREÂN TOÁT NHAÁT BAÏN NEÂN GOÕ LAÏI, KHOÂNG NEÂN COPY! tongphuockhai@mail15.com - Kieán thöùc laø kho baùu khoâng phaûi cuûa rieâng ai. Vì vaäy baïn ñöøng ngaàn ngaïi khi chia seû cho moïi ngöôøi.