Đào Tạo PHP & Mysql

Học PHP Online - PHP Framework - Tự Học PHP

Lập Trình PHP Căn Bản

Bài 9: Cơ bản về ngôn ngữ SQL và Mysql

Mysql là hệ quản trị dữ liệu miễn phí, được tích hợp sử dụng chung với apache, PHP. Chính yếu tố phát triển trong cộng đồng mã nguồn mở nên mysql đã qua rất nhiều sự hỗ trợ của những lập trình viên yêu thích mã nguồn mở. Mysql cũng có cùng một cách truy xuất và mã lệnh tương tự với ngôn ngữ SQL. Nhưng Mysql không bao quát toàn bộ những câu truy vấn cao cấp như SQL. Về bản chất Mysql chỉ đáp ứng việc truy xuất đơn giản trong quá trình vận hành của website nhưng hầu hết có thể giải quyết các bài toán trong PHP.


1- Cách khởi động và sử dụng MYSQL.


Chúng ta sử dụng command như sau:


Mysql –hname –uuser –ppass

Để truy cập vào cơ sở dữ liệu.

Hoặc sử dụng bộ appserv để vào nhanh hơn theo đường dẫn sau:

Start/ Appserv/ Mysql command Line client

Sau đó nhập password mà chúng ta đã đặt vào.


2- Những định nghĩa cơ bản:


a) Định nghĩa cơ sở dữ liệu, bảng, cột:


Cơ sở dữ liệu: là tên của cơ sở dữ liệu chúng ta muốn sử dụng

Bảng: Là 1 bảng giá trị nằm trong cơ sở dữ liệu.

Cột là 1 giá trị nằm trong bảng. Dùng để lưu trữ các trường dữ liệu.

Thuộc tính


Ví dụ:


PHP Example


Như vậy ta có thể hiểu như sau:

1 cơ sở dữ liệu có thể bao gồm nhiều bảng.

1 bảng có thể bao gồm nhiều cột

1 cột có thể có hoặc không có những thuộc tính.


b) Định nghĩa 1 số thuật ngữ:


NULL : Giá trị cho phép rỗng.

AUTO_INCREMENT : Cho phép giá trị tăng dần (tự động).

UNSIGNED : Phải là số nguyên dương

PRIMARY KEY : Cho phép nó là khóa chính trong bảng.


c)Loại dữ liệu trong Mysql:


Ở đây chúng tả chỉ giới thiệu 1 số loại thông dụng: 1 số dữ liệu khác có thể tham khảo trên trang chủ của mysql.

PHP Example


3- Những cú pháp cơ bản:


Cú pháp tạo 1 cơ sở dữ liệu:


CREATE DATABASE tên_cơ_sở_dữ_liệu;

Cú pháp sử dụng cơ sở dữ liệu: Use tên_database;

Cú pháp thoát khỏi cơ sở dữ liệu: Exit


Cú pháp tạo 1 bảng trong cơ sở dữ liệu:


CREATE TABLE user (<tên_cột> <mô_tả>,…,<tên_cột_n>…..<mô_tả_n>)

Ví dụ:


mysql> create table user(user_id INT(15) UNSIGNED NOT NULL AUTO_INCREMENT, username VARCHAR(255) NOT NULL, password CHAR(50) NOT NULL, email VARCHAR(200) NOT NULL, PRIMARY KEY (user_id));

Hiển thị có bao nhiều bảng: show tables;

Hiển thị có bao nhiêu cột trong bảng: show columns from table;

Thêm 1 cột vào bảng :


ALTER TABLE tên_bảng ADD <tên_cột> <thuộc_tính> AFTER <tên_cột>

Ví dụ:


mysql> alter table user add sex varchar(200) NOT NULL after email;

4- Thêm giá trị vào bảng:


Cú pháp:

INSERT INTO Tên_bảng(tên_cột) VALUES(Giá_trị_tương_ứng);

Ví dụ:


mysql> insert into user(username,password,email,sex,home) values("Lanna","12345","lanna@yahoo.com","F","www.abc.com");


5- Truy xuất dữ liệu:


Cú pháp:

SELECT tên_cột FROM Tên_bảng;

Ví dụ:


mysql> select user_id,username from user;

6- Truy xuất dữ liệu với điều kiện:


Cú pháp:

SELECT tên_cột FROM Tên_bảng WHERE điều kiện;
Ví dụ:

mysql> select user_id,username from user where user_id=2;

7- Truy cập dữ liệu và sắp xếp theo trình tự


Cú pháp:


SELECT tên_cột FROM Tên_bảng

WHERE điều kiện (có thể có where hoặc không)

ORDER BY Theo quy ước sắp xếp.


Trong đó quy ước sắp xếp bao gồm hai thông số là ASC (từ trên xuống dưới), DESC (từ dưới lên trên).


mysql> select user_id,username from user order by username ASC ;

8- Truy cập dữ liệu có giới hạn :


Cú pháp:


SELECT tên_cột FROM Tên_bảng

WHERE điều kiện (có thể có where hoặc không)

LIMIT vị trí bắt đầu, số record muốn lấy ra


Ví dụ:

mysql> select user_id,username from user order by username ASC limit 0,10 ;

9- Cập nhật dữ liệu trong bảng:


Cú pháp:


Update tên_bảng set tên_cột=Giá trị mới

WHERE (điều kiện).


Nếu không có ràng buộc điều kiện, chúng sẽ cập nhật toàn bộ giá trị mới của các record trong bảng.

Ví dụ:


mysql> update user set email="admin@qhonline.info" where user_id=1 ;

10- Xóa dữ liệu trong bảng:


Cú pháp:


DELETE FROM tên_bảng WHERE (điều kiện).

Nếu không có ràng buộc điều kiện, chúng sẽ xó toàn bộ giá trị của các record trong bảng.


Ví dụ


mysql>delete from user where user_id=1 ;


(Bùi Quốc Huy)
106086
Bạn vẫn chưa hiểu rõ vấn đề ?. Bạn vẫn còn nhiều điều thắc mắc ?. Bạn gặp lỗi khi thực hành mã lệnh trên ?. Hãy tham gia diễn đàn QHOnline.Info để nhận được sự giúp đỡ từ phía cộng đồng nhanh nhất. Đồng thời tải những tài liệu giá trị tại diễn đàn. Việc đăng ký là hoàn toàn miễn phí, hãy đăng ký ngay để chúng tôi giúp đỡ bạn nhé.

Ghi rõ nguồn từ website QHOnline.Info - Khi bạn phát hành lại thông tin từ website này

Phản hồi của bạn Tiếng Anh Telex VNI VIQR





php starter (12:42 22/01/2010)

rat chi la co ban .

Reply

harvard (19:25 17/03/2010)

tại sao anh không thao tác luôn trên Appserv luôn? thế có nhanh hơn không...

Reply

huy (22:40 25/04/2010)

Rất hay, mình đang học PHP và My SQL,
Bạn có thể cho mình hỏi cách tạo CSDL một cách cơ bản và khoa học nhất. có VD thì tốt quá...Thank trước.

Reply

Ngô Đình Long (09:50 29/04/2010)

Mình đang muốn học MY SQL ở TP HCM bạn có thể giúp mình học tốt đc k?
mình thấy bạn làm rất cơ bản và cẩn thận....
giúp mình nhé liên hệ qua mail nhé.Thanks

Reply

cuncom (20:34 08/05/2010)

hay thiệt đó

Reply

Vũ Quang Khánh (01:00 27/05/2010)

Mình đang lúng túng trong việc học đến phần Mysql, hiện tớ đang đọc giáo trình Lập trình web bằng PHP và Mysql của Minh Khai Pub nhưng hơi khó hiểu đến đoạn này nên rất mừng vì các bạn đã có được một bài giảng đơn giản và dễ hiểu!

Reply

ĐINH HÙNG (01:56 30/06/2010)

khong biet cai nay co ap dung voi sql server 200 dc ko nhỉ

Reply

pham thanh nhuan (13:33 28/08/2010)

Bạn có thể nào truy vấn đến nhiều bản ko vậy?

Reply

nguyen van sang (22:00 29/08/2010)

bai nay hay lam!

Reply

laothanhcachmang (09:14 22/09/2010)

cảm ơn bài viết rất chi tiết và dễ hiểu

Reply

nguyễn tấn duy (15:14 15/10/2010)

anh ơi mấy cái code về sql ở trên minh dùng chương trình soạn thảo nào để gõ vào vậy? notepad hay phần mềm nào khác, xin chỉ em cách dowload phần mềm về sử dụng. em cảm ơn!

Reply

tuyet (10:05 30/10/2010)

Cho m hoi: code viet tao va thao tac tren CSDL thi viet o dau vay? thanks.

Reply

Lê Thanh Hùng (16:33 23/11/2010)

Bạn có thể dùng vertrigo hoặc thuê 1 host nhỏ rồi Làm bài tập. Theo mình thì Thuê 1 host nhỏ làm cho quen ...

Reply

phạm ngọc Đạt (23:21 22/02/2011)

Anh viết rất hay và rất tỉ mỉ , em cũng đang trong thời gian nghiên cứu về php va sql . thank you anh nhé .mong anh cho vidu tỉ mỉ hơn nữa anh nhé .

Reply

tiensinh88 (07:22 07/03/2011)

thanks nhé, mình đang học mýql = cách dùng cmd, cáh này học từ căn bản.thanks

Reply

Keane (15:17 20/03/2011)

Anh ơi bài viết của anh quá hay và bổ ích luôn ý. Em tìm đỏ mắt mới ra 1 page chỉ dẫn căn bản thế này. Tks anh nhá.
Anh add nick Yahoo của em nhé: humorboy9x.
Rất mong được học hỏi anh :x

Reply

luu thuy ngan (11:11 09/04/2011)

anh cho em hoi sau khi tao bang xong. de yeu cau dat dieu kien cho mot thuoc tinh 'x' chi duoc mang cac gia tri thuoc ("a","b","c","d") thi fai lam the nao a?. em tu hoc va cam thay kho khan voi mon nay. rat mong anh giup do.

e thu dung alter table tenbang check (tenthuoctinh in (mien gia tri)) roi nhung ko duoc. e tim trong sach cung ko noi ve cau truc cua lenh check. anh giup e voi!

Reply

Đinh Hoàng Sanh (11:45 18/04/2011)

rất cơ bản nhưng mình muốn có một ví dụ cơ bản hơn không nếu vậy thì hay biết mấy ,thank mọi người nhiều php quá hay

Reply

nobita_1992 (11:51 19/05/2011)

thank nhe!!! học cơ bản tốt thì mới học nâng cao được!!!.....!

Reply

bùi tiến nam (21:48 25/05/2011)

quá hay thanhs you nhé

Reply

Chí Phèo (16:56 27/05/2011)

hi...thanks... Mình mới tập tành, có gì các bạn chỉ bảo mình với nha...

Reply

vuhoangminhtien (14:21 29/08/2011)

bai viet kha co ban va de hieu,nhung cach trinh bay con chua tot.

Reply

hoaluuli (21:05 06/09/2011)

bây jờ em mới bắt đầu tìm hiểu về PHP. Anh có thể gởi cho em tất cả các bài học mà anh đã đăng lên QHOnline.Info dcj ko ạ?Em cảm ơn anh Huy nhiều.

Reply

trangiaquyet (03:34 17/09/2011)

cam on ban rat nhieu.....

Reply

nguyễn đình lực (11:15 25/09/2011)

bạn đang hướng dẫn sử dụng sql bao nhiêu vây?
mà như vậy các bước đơn giản quá bạn cụ thể hơn đi

Reply

Nhớ Mãi (11:29 28/09/2011)

anh ơi, em rất thích cách trình bày vấn đề của anh. Anh có thể cho em mail để em tiện hỏi bài anh được không ạ. Em là sv nam 2 trường DH SPKT hưng yên, em bây giờ đang bắt đầu học về sql. Anh vui lòng giúp em được không ạ ?
Em cảm ơn anh nhiều ạ

Reply

Kenny (15:14 28/09/2011)

Chào em,

Cám ơn em đã yêu thích cách viết của anh. Rất vui lòng vì có thể giúp đỡ được mọi người.

Nếu trong quá trình tìm hiểu mà em gặp khó khăn gì. Cứ đặt câu hỏi và gửi về địa chỉ email sau: kenny@qhonline.info.

Anh sẽ cố gắng thu xếp thời gian và trả lời cho em sớm.

Chúc em có những giây phút thoải mãi trên QHOnline.Info nhé.

Best,

Nguyễn Hoàng Duy (15:23 19/10/2011)

thầy cho em hỏi: nếu mình có nhiều database trong mysql thì câu lệnh nào đề show ra hết database???

Reply

chau652 (11:05 20/10/2011)

em đang học đến phần PHP MySQL nhưng vẫn chưa hiểu rõ lắm. em vừa tìm được trang web của anh. thấy rất hay. anh có thể hướng dẫn giùm em được không?
em thường online qua nick yahoo. nick của em.
nuhoang_banggia652.
anh add nick của em nhé.

Reply

khacvinh (12:50 29/10/2011)

rất hay ,ngắn gọn ,dễ hiểu

rainy (20:59 13/12/2011)

minh dang lần mò học SQL các bác cho minh hỏi. SQL phai code trên cái gì thế

Reply

Nguyễn Quý (22:40 15/02/2012)

site này rất hay! Nhưng hi vọng tác giả sẽ có ví dụ cụ thể về phần này!

Ngô Thưởng (21:03 02/01/2012)

em đag làm php trên hosting.
Vậy hàm mysql_connect() config thế nào ạ ?
Hiện em để @mysql_connect('localhost','db_user','dbpass');
Nhưng khi chạy toàn báo :Access denied for user 'a2395802_vic'@'localhost' (using password: NO).
Mong thầy giải đáp giúp e với ạ

Reply

hoàng việt (22:44 06/04/2012)

cái đó là connect đến csdl đó bạn
thường thì nằm trong config
liên kết đến csdl chũng ta mới có thể thao tác được như muốn nhập vào học là try xuất nó ra trình duyệt của mình

Nguyễn Hữu Định (05:57 01/03/2012)

Tôi muốn hỏi, khi tôi tạo một bảng dữ liệu có trường ID là IDENTITY, vậy khi tôi sử dụng lệnh INSERT dữ liệu thì làm sao để nhận được ID của dữ liệu vừa INSERT?

Reply

Nguyễn Tấn Tâm (19:45 22/03/2012)

id ở đây thầy cho tự động tăng bạn ơi !!

Benh gut (12:20 15/03/2012)

Ngắn gọn và dễ hiểu. Cảm ơn bạn :)

Reply

Phùng Quang Quân (17:35 11/04/2012)

góp s ban quản trị nè:
sao anh k cho load dữ liệu về?. chứ cứ muốn tham khảo lại phải vào server. Đã vậy khi kk dùng thẻ "<a>" để mở 1 trang mới. Mỗi khi đọc xong 1 bài lại phải back lại. Ức chế lắm

Reply

nguyen thiem (09:00 24/04/2012)

tks bài viết của tác giả nhiều :)

Reply

Nguyễn Đức Thành (16:51 10/05/2012)

Thầy ơi cho em hỏi muốn tạo 1 database rồi import data có có sawnz vào data vừa tạo mà dùng commad thì làm ntn ak?

Reply

đinh thị thảo nguyên (15:24 04/06/2012)

em dag mun tim hieu ve ngon ngu php nhung k biet bat dau tu dau k bjt la se viet code tren phan mem nao. cho e hoi la co the vjet tren dreamwear k zay.mong cac a chi giup e

Reply

uk may ngoan (23:35 17/08/2012)

mới thì nên dùng notepad++ nhé.sai nhiều thì nhớ nhiều mà:d

vu dinh thuc (21:57 24/07/2012)

minh khong biet viet code php o dau. minh da cai xamp roi

Reply

kha (10:57 24/08/2012)

cám ơn nhiều lắm! mình đang gặp lỗi in dữ liệu vào mysql nhưng bây giờ làm được rồi

Reply

Chung (20:25 31/08/2012)

Quá tuyệt, mình mới bắt đầu mà gặp những điều căn bản thế này thì còn gì bằng, Thanks nhiều

Reply

Trần Thị Phương Thảo (00:07 02/10/2012)

tks bạn Huy nhiu nhe chux p koa 1 thang moi zz naz gap nhju may man va thanh cong nua nhe,co the llac vs p wa email va nick chat dc ko,vj mjh hoc nam 2 ben khoa cong nghe thong tin nhung chuyen nganh GIS nen mjh mun hoc tap nhung anh chj dj trc tks p nhju nhe chux p koa that nhju sk ak!

Reply

Hồ Trọng Nghĩa (15:42 26/10/2012)

Em là học viên của việt chuyên, em không nhớ khóa mấy nữa, lớp do thầy dạy.Trong quá trình em có sai xót mong thầy giúp em với!!cảm ơn thầy nhiều

Reply

trần nam đoàn (08:39 10/11/2012)

admin có thể giúp e cách lấy 10 or cách lấy những bản ghi cuối cùng trong csdl được không e xin cảm ơn!!!

Reply

Y Lương (13:52 24/02/2013)

bài viết hay lắm

Reply

namfatminh (21:04 26/02/2013)

em không rõ đưa một video vào mysql như thế nào, ai giúp em nha! thanks

Reply

PHP MYSQL Online - Hoc PHP - Dao Tao PHP - Học PHP - CakePHP Framework - Lap Trinh PHP Can Ban - Lap Trinh PHP Nang Cao - PHP Framework - Tài liệu,Thư viện
Copyright 2008-2012 © QHOnline.Info | Powered By QHOnline Version 2.0 - XHTML Valid