SELECT VERSION(), DATABASE();
若 DATABASE() 返回 NULL,說明未執行 USE db_name。
SELECT * FROM Tecmint WHERE user != 'SAM'; -- 或 user <> 'SAM'
= 配合 AND:WHERE user='SAM' AND root='phil'!= 配合 OR:WHERE user!='SAM' OR root!='phil'(德摩根律則:非(且) = 非 或 非)SELECT name, IFNULL(id, 'Unknown') AS id FROM taxpayer; -- id 為 NULL 時顯示 'Unknown',否則顯示原值
-- 前 1 行 SELECT * FROM profile LIMIT 1; -- 前 5 行 SELECT * FROM profile LIMIT 5; -- 按出生日期排序取最早 1 行 SELECT * FROM profile ORDER BY birth LIMIT 1;
選 MySQL 核心理由:開源免費、輕量級、命令行/圖形工具生態成熟、Query Browser/Workbench 管理便捷、社區活躍、雲廠商托管完善。
選 Oracle 場景:極高併發核心交易、複雜 PL/SQL 邏輯下沉、成熟 RAC 集群、合規要求商業支持。
SELECT CURRENT_DATE(); -- 或 CURDATE()
mysql -u USER_NAME -xml -e "SELECT * FROM table_name" > table_name.xml
小表可用 phpMyAdmin/Navicat 圖形化導出。
| 特性 | mysql_connect | mysql_pconnect |
|---|---|---|
| 連接模式 | 短連接(請求結束自動斷開) | 長連接(進程級持久化,跨請求復用) |
| 關閉方式 | mysql_close() 顯式關閉 | 不可主動關閉,進程結束自動回收 |
| 適用場景 | 低併發、PHP-FPM 模式 | 高併發、持久進程(如 CLI 常駐、Swoole) |
| 風險 | 頻繁建連開銷大 | 連接泄漏導致 max_connections 擊穿、事務殘留 |
現代建議:PHP 7+ 棄用 mysql_* 全系,改用 mysqli 或 PDO,連接池由中間件(ProxySQL、Swoole)管理。
SHOW INDEX FROM mysql.user;
重點關注 Key_name、Column_name、Cardinality(基數)、Index_type(BTREE/FULLTEXT/SPATIAL)。
CSV 引擎:以純文本 CSV 文件存儲數據,可直接用 Excel/文本編輯器查看,**不支持索引、不支持事務、全表鎖**。EXPLAIN 中 type=ALL/index/range/ref/eq_ref/const/system 的性能遞增順序。INSERT ... ON DUPLICATE KEY UPDATE 並解釋鎖行行為。