MySQL 是快速、多執行緒、全功能的 SQL 伺服器,支援 ANSI/ODBC 標準,免費授權 (GPL),是電子商務與動態網站的首選資料庫。本文說明整合優勢、基本架構、Tcl 與 C++ 存取範例、交易處理概念。
mysqld 伺服器控制多個資料庫mysqld 運行於可從網路存取的主機(最好與 Web 同機或鄰近)交易 = 必須原子性執行的一系列資料庫變更(全做或全不做)。
package require mysqltcl
set db [mysqlconnect -host localhost -user root -password pass -db test]
mysqluse $db "SELECT * FROM users"
while {[mysqlfetch $db row]} {
puts "User: $row(name), Email: $row(email)"
}
mysqlclose $db
#include#include MYSQL *conn = mysql_init(NULL); mysql_real_connect(conn, "localhost", "root", "pass", "test", 0, NULL, 0); mysql_query(conn, "SELECT * FROM users"); MYSQL_RES *res = mysql_store_result(conn); while (MYSQL_ROW row = mysql_fetch_row(res)) { std::cout << "User: " << row[0] << ", Email: " << row[1] << std::endl; } mysql_free_result(res); mysql_close(conn);
MySQL 以開源、高效、易整合三大優勢,成為 Linux 平台 Web 應用的標準資料庫。理解交易處理機制、選擇適當存取介面、善用連線池,是打造穩定高效應用的關鍵。