Tải bản đầy đủ (.pdf) (20 trang)

Bài giảng Phát triển ứng dụng Web – Web Programming: Chương 11 - ThS. Lương Trần Hy Hiến

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.17 MB, 20 trang )

<span class='text_page_counter'>(1)</span><div class='page_container' data-page=1>

<b>Kết nối PHP với MySQL</b>


<b>Kết nối PHP với MySQL</b>



</div>
<span class='text_page_counter'>(2)</span><div class='page_container' data-page=2>

1. Các kiểu dữ liệu cơ bản trong MySQL
2. Các lệnh thông dụng trong MySQL


3. Kết nối MySQL từ PHP


4. Quy trình kết nối vào MySQL


5. Các bước truy cập CSDL MySQL


</div>
<span class='text_page_counter'>(3)</span><div class='page_container' data-page=3>

<b>Kiểu</b> <b>Mô tả</b>


<b>char(length)</b> <b>tối đa 255 ký tự, chiều dài cố định = </b><i><b>length</b></i>


<b>varchar(length)</b> <b>tối đa 255 ký tự, chiều dài động <= </b><i><b>length</b></i>


<b>text</b> <b>tối đa 65536 ký tự</b>


<b>int(length)</b> <b>-2.147.483.648 đến +2.147.483.647</b>


</div>
<span class='text_page_counter'>(4)</span><div class='page_container' data-page=4>

<b>4</b>


<b>Kiểu</b> <b>Mô tả</b>


<b>enum(“option1”,</b>
<b>“option2”,…)</b>


<b>tập hợp tự định nghĩa, tối đa 65.535 </b>
<b>giá trị</b>



<b>date</b> <b>yyyy-mm-dd</b>
<b>time</b> <b>hh:mm:ss</b>


</div>
<span class='text_page_counter'>(5)</span><div class='page_container' data-page=5>

<b>Kiểu</b> <b>Mô tả</b>
<b>CREATE</b> <b>tạo CSDL hoặc bảng</b>
<b>ALTER</b> <b>thay đổi bảng có sẵn</b>
<b>SELECT</b> <b>chọn dữ liệu từ bảng</b>
<b>DELETE</b> <b>xóa dữ liệu khỏi bảng</b>


<b>DESCRIBE</b> <b>xem thông tin mô tả về cấu trúc bảng</b>
<b>INSERT INTO ghi giá trị vào bảng</b>


</div>
<span class='text_page_counter'>(6)</span><div class='page_container' data-page=6>

<b>6</b>


CREATE INDEX <i>indexname</i> ON <i>tablename</i> (column [ASC|DESC], ...);


CREATE PROCEDURE <i>procedurename</i>( [<i>parameters</i>] ) BEGIN ... END;


CREATE TABLE <i>tablename</i>


(


column datatype [NULL|NOT NULL] [CONSTRAINTS],


column datatype [NULL|NOT NULL] [CONSTRAINTS],


...
);



CREATE USER <i>username</i>[@<i>hostname</i>] [IDENTIFIED BY [PASSWORD]


'<i>password</i>'];


</div>
<span class='text_page_counter'>(7)</span><div class='page_container' data-page=7>

(


ADD column datatype [NULL|NOT NULL]
[CONSTRAINTS],


CHANGE column columns datatype [NULL|NOT


NULL] [CONSTRAINTS],


DROP column,
...


</div>
<span class='text_page_counter'>(8)</span><div class='page_container' data-page=8>

<b>8</b>


SELECT <i>columnname</i>, ...
FROM <i>tablename</i>, ...


[WHERE ...]
[UNION ...]


[GROUP BY ...]
[HAVING ...]


[ORDER BY ...];


</div>
<span class='text_page_counter'>(9)</span><div class='page_container' data-page=9>

[WHERE ...];


VD:


</div>
<span class='text_page_counter'>(10)</span><div class='page_container' data-page=10>

<b>10</b>


INSERT INTO <i>tablename</i> [(columns, ...)]


VALUES(values, ...);


INSERT INTO <i>tablename VALUES(value1, value2, …, </i>
<i>valuen);</i>


<i>VD: </i>


<i>INSERT INTO</i> <i>ketqua (mamon, diem) VALUES</i>


<i>(‘LTWEB’, 10);</i>


</div>
<span class='text_page_counter'>(11)</span><div class='page_container' data-page=11>

UPDATE <i>tablename</i>


SET <i>columname</i> = value, ...
[WHERE ...];


VD:


</div>
<span class='text_page_counter'>(12)</span><div class='page_container' data-page=12>

<b>12</b>


DROP DATABASE | INDEX | PROCEDURE |


TABLE | TRIGGER | USER | VIEW itemname;
VD:



</div>
<span class='text_page_counter'>(13)</span><div class='page_container' data-page=13>

mysql [-h <i>hostname</i>] [-P <i>portnumber</i>] -u <i>username</i> -p
mysql [-h hostname] [-P portnumber] --user=<i>user</i>


--password=<i>pass</i>


Nhập lệnh sau dấu nhắc lệnh <i>mysql></i>


</div>
<span class='text_page_counter'>(14)</span><div class='page_container' data-page=14>

<b>14</b>


• Một số công cụ thông dụng



SQLyog Enterprise
phpMyAdmin


MySQL Query Browser
MySQL Maestros


Navicat


</div>
<span class='text_page_counter'>(15)</span><div class='page_container' data-page=15>

mysql <sub>mysqli</sub>


Sử dụng hàm


mysqli


Sử dụng lớp


 mysqli



 mysqli_stmt
 mysqli_result


Sử dụng hàm


mysql


</div>
<span class='text_page_counter'>(16)</span><div class='page_container' data-page=16>

<b>16</b>


• Thiết lập trong php.ini


extension=php_mysqli.dll


• Ưu điểm


– Hỗ trợ lập trình hướng đối tượng
– Hỗ trợ nhân bản và phân tán CSDL
– Nén và mã hóa dữ liệu trên kết nối
– Tối ưu hiệu năng và mã


• Nhược điểm


</div>
<span class='text_page_counter'>(17)</span><div class='page_container' data-page=17>

2. Chọn CSDL


3. Chọn bảng mã (nếu cần)
4. Xử lý CSDL


5. Dọn dẹp


</div>
<span class='text_page_counter'>(18)</span><div class='page_container' data-page=18>

<b>18</b>



// OOP mysqli


$mysqli = new mysqli('<i>hostname</i>',
'<i>username</i>', '<i>password</i>', '<i>dbname</i>');
// mysqli


</div>
<span class='text_page_counter'>(19)</span><div class='page_container' data-page=19>

// OOP mysqli


$mysqli->select_db('dbname');
// mysqli


</div>
<span class='text_page_counter'>(20)</span><div class='page_container' data-page=20>

<b>20</b>


// OOP mysqli


mysqli->query($link, "SET NAMES ‘<i><b>character set</b></i>’")
// mysqli


mysqli_query($link, "SET NAMES ‘<i><b>character set</b></i>’")


</div>

<!--links-->

×