บทที่ 3 พื้นฐาน MySQL + PHPmyAdmin

พื้นฐาน MySQL + PHPmyAdmin

การนำ PHP ไปใช้เพื่อติดต่อกับระบบฐานข้อมูลนั้นทำได้ง่าย เพราะ PHP ได้เตรียมฟังก์ชันที่ใช้สำหรับการติดต่อไว้แล้ว โดยฟังก์ชันที่เตรียมไว้จะแบ่งตามระบบฐานข้อมูลที่แตกต่างกัน

คำสั่ง SQL (structure query language) เป็นคำสั่งที่ใช้ในการติดต่อกับระบบฐานข้อมูล   เช่น  

                              คำสั่งที่ใช้อ่านข้อมูล

                                       SELECT [ALL | DISTINCT] select_list [INTO new_table_]

                                        FROM table_source
                                        [WHERE search_condition]
                                        [GROUP BY group_by_expression]
                                        [HAVING search_condition]
                                        [ORDER BY order_expression [ASC | DESC] ]

                              คำสั่งที่ใช้ลบข้อมูล

                                        DELETE

                                                    [FROM]
                                                           { table_name WITH ( <table_hint_limited> […n] )
                                                           | view_name |rowset_function_limited }
                                                              [FROM {<table_source>} […n] ]
                                                    [WHERE <search_condition> ]

                              คำสั่งที่ใช้เพิ่มข้อมูล

                                      INSERT [INTO]

                     { table_name WITH ( <table_hint_limited> […n])
                      | view_name | rowset_function_limited }
                      { [(column_list)]
                      { VALUES { (   DEFAULT | NULL | expression } [,…n] )
                       | derived_table | execute_statement } }

                              คำสั่งที่ใช้แก้ไขข้อมูล

                                  UPDATE { table_name WITH ( <table_hint_limited> […n])
                                           | view_name | rowset_function_limited }
                                          SET
                                          Column_name = { expression | DEFAULT | NULL }
                                          { [FROM {<table_source>} [,…n]
                                          [ WHERE <search_condition>] }

MySQL คือ Open Source   เป็นระบบฐานข้อมูลที่ใช้งานร่วมกับ PHP ใช้ได้ง่าย ระบบมีประสิทธิ์ภาพสูง และเป็นแบบ RDBMS (ralational database management system)

ดังนั้น มายเอสคิวแอล (MySQL) คือ โปรแกรมระบบจัดการฐานข้อมูล มีหน้าที่เก็บข้อมูลอย่างเป็นระบบ รองรับคำสั่งเอสคิวแอล (SQL = Structured Query Language) เป็นเครื่องมือสำหรับเก็บข้อมูล

ประวัติ MySQL

ซึ่งตอนแรก MySQL นั้นเป็นของบริษัท MySQL AB แต่ในปัจจุบันผู้ที่เป็นเจ้าของ MySQL คือ บริษัท Oracle โดย MySQL นั้นถือว่าเป็นฐานข้อมูลที่ได้รับความนิยมในการนำมาใช้งานบน Web Application เป็นอย่างมาก ซึ่งเป็นส่วนหนึ่งในสิ่งที่เรียกว่า LAMP (Linux, Apache, MySQL และ PHP)

โดยตัวอย่าง Web Application ที่มีการใช้ MySQL เช่น TYPO3, Joomla, WordPress, phpBB, MyBB, Drupal รวมไปทั้งเว็บไซต์ขนาดใหญ่ที่มีการใช้ MySQL ในส่วนหนึ่งของ Production เช่น Wikipedia, Google (ไม่ใช่ส่วนของการค้นหา), Facebook, Twitter, Flickr,Nokia.com และ YouTube เป็นต้น

คุณสมบัติ  MySQL (Feature)
MySQL มี Feature อยู่อย่างมากมาย โดยจะขอแนะนำเฉพาะที่สำคัญเท่านั้นครับ
1. สนับสนุน Cross-platform support
2. รองรับ Stored procedures
3. รองรับ Triggers และ Cursors
4. สนับสนุน Information schema
5. สนับสนุน SSL
6. รองรับการทำ Query caching
7. รองรับการทำ Sub-SELECTs
8. รอบรับการทำ Replication ทั้งแบบ Master-Master Replication และ Master-Slave Replication
9. Full-text indexing และ searching using MyISAM engine
10. รองรับ Unicode

*** เอกสารประกอบการสอน MySQL ***

*** phpMyAdmin ทําหนาที่เปนโปรแกรมบริหารจัดการฐานขอมูลของ MySQL (เอกสารประกอบ) ***


 

MySQL Functions
Note: Most MySQL functions accept link_identifier as the last optional parameter. If it is not provided, last opened connection is used. If it doesn't exist, connection is tried to establish with default parameters defined in php.ini. If it is not successful, functions return FALSE.
Table of Contents
mysql_affected_rows — Get number of affected rows in previous MySQL operation
mysql_change_user — Change logged in user of the active connection
mysql_client_encoding — Returns the name of the character set
mysql_close — Close MySQL connection
mysql_connect — Open a connection to a MySQL Server
mysql_create_db — Create a MySQL database "เป็นฟังก์ชันที่ใช้สร้างฐานข้อมูล"
mysql_data_seek — Move internal result pointer
mysql_db_name — Get result data
mysql_db_query — Send a MySQL query ใช้ส่งคำสั่งไปยัง  MySQL เหมือนกับฟังก์ชัน mysql_query() แต่สามารถกำหนดฐานข้อมูลที่ต้องการจะติดต่อได้
mysql_drop_db — Drop (delete) a MySQL database เป็นฟังก์ชันที่ใช้ลบ(drop) ฐานข้อมูลออกจากระบบฐานข้อมูลของ MySQL
mysql_errno — Returns the numerical value of the error message from previous MySQL operation เป็นฟังก์ชันที่ใช้ในการรับค่าเลขรหัสของความผิดพลาด(error number)ที่เกิดขึ้นครั้งสุดท้ายเมื่อมีการติดต่อกับ MySQL และให้ค่าเป็น 0 หากไม่มีข้อผิดพลาด
mysql_error — Returns the text of the error message from previous MySQL operation "เป็นฟังก์ชันที่ใช้ในการรับข้อความรายละเอียดของความผิดพลาด (error description)ที่เกิดขึ้นครั้งสุดท้ายเมื่อมีการติดต่อกับ MySQL และให้ค่าเป็นสตริงว่าง (‘’) หากไม่มีข้อผิดพลาด"   

mysql_escape_string — Escapes a string for use in a mysql_query
mysql_fetch_array — Fetch a result row as an associative array, a numeric array, or both ใช้อ่านค่าของข้อมูลจากการใช้คำสั่ง SELECT ของฟังก์ชัน mysql_query หรือ mysql_db_query ให้อยู่ในรูปของตัวแปรอาร์เรย์ซึ่ง mysql_fetch_array
mysql_fetch_assoc — Fetch a result row as an associative array
mysql_fetch_field — Get column information from a result and return as an object  เป็นฟังก์ชันที่ใช้อ่านรายละเอียดของคอลัมน์ซึ่งจะเก็บอยู่ในรูปของออปเจค(object)
mysql_fetch_lengths — Get the length of each output in a result
mysql_fetch_object — Fetch a result row as an object
mysql_fetch_row — Get a result row as an enumerated array ทำงานเหมือนกับฟังก์ชัน mysql_fetch_array() แต่ดัชนีที่ใช้กำหนดข้อมูลในอาร์เรย์นั้นต้องเป็นเลขลำดับของคอลัมน์เท่านั้นไม่สามารถใช้ดัชนีเป็นชื่อของคอลัมน์ได้เหมือนกับฟังก์ชัน mysql_fetch_array()
mysql_field_flags — Get the flags associated with the specified field in a result
mysql_field_len — Returns the length of the specified field
mysql_field_name — Get the name of the specified field in a result
mysql_field_seek — Set result pointer to a specified field offset
mysql_field_table — Get name of the table the specified field is in
mysql_field_type — Get the type of the specified field in a result
mysql_free_result — Free result memory
mysql_get_client_info — Get MySQL client info
mysql_get_host_info — Get MySQL host info
mysql_get_proto_info — Get MySQL protocol info
mysql_get_server_info — Get MySQL server info
mysql_info — Get information about the most recent query
mysql_insert_id — Get the ID generated from the previous INSERT operation
mysql_list_dbs — List databases available on a MySQL server
mysql_list_fields — List MySQL table fields
mysql_list_processes — List MySQL processes
mysql_list_tables — List tables in a MySQL database
mysql_num_fields — Get number of fields in result
mysql_num_rows — Get number of rows in result
mysql_pconnect — Open a persistent connection to a MySQL server
mysql_ping — Ping a server connection or reconnect if there is no connection
mysql_query — Send a MySQL query เป็นฟังก์ชันที่ใช้ส่งคำสั่ง(SELECT, INSERT, DELETE)ไปทำงานที่ระบบฐานข้อมูลของ MySQL ซึ่งการทำงานจะเหมือนกับ function mysql_db_query()
mysql_real_escape_string — Escapes special characters in a string for use in a SQL statement
mysql_result — Get result data เป็นฟังก์ชันที่ใช้อ่านข้อมูลของคอลัมน์โดยต้องมีการระบุแถวและชื่อคอลัมน์ที่ต้องการอ่านข้อมูล
mysql_select_db — Select a MySQL database เป็นฟังก์ชันที่ใช้ในการเลือกหรือเปลี่ยนการเข้าไปใช้ข้อมูลในฐานข้อมูลนั้น
mysql_set_charset — Sets the client character set
mysql_stat — Get current system status
mysql_tablename — Get table name of field
mysql_thread_id — Return the current thread ID
mysql_unbuffered_query — Send an SQL query to MySQL, without fetching and buffering the result rows