第1章 初識MySQL 1 1.1 數據庫基礎 1 1.1.1 什么是數據庫 1 1.1.2 表 2 1.1.3 數據類型 2 1.1.4 主鍵 2 1.2 數據庫技術構成 3 1.2.1 數據庫系統(tǒng) 3 1.2.2 SQL語言 4 1.2.3 數據庫訪問接口 5 1.3 什么是MySQL 6 1.3.1 客戶機-服務器軟件 6 1.3.2 MySQL版本 6 1.3.3 MySQL的優(yōu)勢 7 1.3.4 MySQL 5.7的新功能 8 1.4 MySQL工具 8 1.4.1 MySQL命令行實用程序 9 1.4.2 MySQL Workbench 10 1.5 如何學習MySQL 10 第2章 MySQL的安裝與配置 12 2.1 Windows平臺下安裝與配置MySQL 5.7 12 2.1.1 安裝MySQL 5.7 12 2.1.2 配置MySQL 5.7 18 2.2 啟動服務并登錄MySQL數據庫 22 2.2.1 啟動MySQL服務 22 2.2.2 登錄MySQL數據庫 24 2.2.3 配置Path變量 27 2.3 MySQL常用圖形管理工具 28 2.4 Linux平臺下安裝與配置MySQL 5.7 29 2.4.1 Linux操作系統(tǒng)下的MySQL版本介紹 29 2.4.2 安裝和配置MySQL的RPM包 31 2.4.3 安裝和配置MySQL的源碼包 35 2.5 專家解惑 36 2.6 經典習題 36 第3章 數據庫的基本操作 37 3.1 創(chuàng)建數據庫 37 3.2 刪除數據庫 39 3.3 數據庫存儲引擎 39 3.3.1 MySQL存儲引擎簡介 39 3.3.2 InnoDB存儲引擎 41 3.3.3 MyISAM存儲引擎 42 3.3.4 MEMORY存儲引擎 43 3.3.5 存儲引擎的選擇 43 3.4 綜合案例——數據庫的創(chuàng)建和刪除 44 3.5 專家解惑 46 3.6 經典習題 46 第4章 數據表的基本操作 47 4.1 創(chuàng)建數據表 47 4.1.1 創(chuàng)建表的語法形式 47 4.1.2 使用主鍵約束 49 4.1.3 使用外鍵約束 50 4.1.4 使用非空約束 51 4.1.5 使用唯一性約束 52 4.1.6 使用默認約束 53 4.1.7 設置表的屬性值自動增加 53 4.2 查看數據表結構 54 4.2.1 查看表基本結構語句DESCRIBE 54 4.2.2 查看表詳細結構語句SHOW CREATE TABLE 55 4.3 修改數據表 56 4.3.1 修改表名 57 4.3.2 修改字段的數據類型 57 4.3.3 修改字段名 58 4.3.4 添加字段 59 4.3.5 刪除字段 62 4.3.6 修改字段的排列位置 63 4.3.7 更改表的存儲引擎 64 4.3.8 刪除表的外鍵約束 65 4.4 刪除數據表 67 4.4.1 刪除沒有被關聯(lián)的表 67 4.4.2 刪除被其他表關聯(lián)的主表 67 4.5 綜合案例——數據表的基本操作 69 4.6 專家解惑 77 4.7 經典習題 78 第5章 數據類型和運算符 80 5.1 MySQL數據類型介紹 80 5.1.1 整數類型 80 5.1.2 浮點數類型和定點數類型 82 5.1.3 日期與時間類型 84 5.1.4 文本字符串類型 96 5.1.5 二進制字符串類型 101 5.2 如何選擇數據類型 104 5.3 常見運算符介紹 105 5.3.1 運算符概述 105 5.3.2 算術運算符 106 5.3.3 比較運算符 107 5.3.4 邏輯運算符 116 5.3.5 位運算符 119 5.3.6 運算符的優(yōu)先級 122 5.4 綜合案例——運算符的使用 123 5.5 專家解惑 125 5.6 經典習題 126 第6章 MySQL函數 127 6.1 MySQL函數簡介 127 6.2 數學函數 128 6.2.1 絕對值函數ABS(x)和返回圓周率的函數PI() 128 6.2.2 平方根函數SQRT(x)和求余函數MOD(x,y) 128 6.2.3 獲取整數的函數CEIL(x)、CEILING(x)和FLOOR(x) 129 6.2.4 獲取隨機數的函數RAND()和RAND(x) 130 6.2.5 函數ROUND(x)、ROUND(x,y)和TRUNCATE(x,y) 130 6.2.6 符號函數SIGN(x) 131 6.2.7 冪運算函數POW(x,y)、POWER(x,y)和EXP(x) 132 6.2.8 對數運算函數LOG(x)和LOG10(x) 132 6.2.9 角度與弧度相互轉換的函數RADIANS(x)和DEGREES(x) 133 6.2.10 正弦函數SIN(x)和反正弦函數ASIN(x) 133 6.2.11 余弦函數COS(x)和反余弦函數ACOS(x) 134 6.2.12 正切函數、反正切函數和余切函數 134 6.3 字符串函數 135 6.3.1 計算字符串字符數的函數和字符串長度的函數 135 6.3.2 合并字符串函數CONCAT(s1,s2,…)、CONCAT_WS(x,s1,s2,…) 136 6.3.3 替換字符串的函數INSERT(s1,x,len,s2) 137 6.3.4 字母大小寫轉換函數 137 6.3.5 獲取指定長度的字符串的函數LEFT(s,n)和RIGHT(s,n) 138 6.3.6 填充字符串的函數LPAD(s1,len,s2)和RPAD(s1,len,s2) 139 6.3.7 刪除空格的函數LTRIM(s)、RTRIM(s)和TRIM(s) 139 6.3.8 刪除指定字符串的函數TRIM(s1 FROM s) 140 6.3.9 重復生成字符串的函數REPEAT(s,n) 141 6.3.10 空格函數SPACE(n)和替換函數REPLACE(s,s1,s2) 141 6.3.11 比較字符串大小的函數STRCMP(s1,s2) 142 6.3.12 獲取子串的函數SUBSTRING(s,n,len)和MID(s,n,len) 142 6.3.13 匹配子串開始位置的函數 143 6.3.14 字符串逆序的函數REVERSE(s) 143 6.3.15 返回指定位置的字符串的函數 144 6.3.16 返回指定字符串位置的函數FIELD(s,s1,s2,…) 144 6.3.17 返回子串位置的函數FIND_IN_SET(s1,s2) 145 6.3.18 選取字符串的函數MAKE_SET(x,s1,s2,…) 145 6.4 日期和時間函數 146 6.4.1 獲取當前日期的函數和獲取當前時間的函數 146 6.4.2 獲取當前日期和時間的函數 146 6.4.3 UNIX時間戳函數 147 6.4.4 返回UTC日期的函數和返回UTC時間的函數 148 6.4.5 獲取月份的函數MONTH(date)和MONTHNAME(date) 148 6.4.6 獲取星期的函數DAYNAME(d)、DAYOFWEEK(d)和WEEKDAY(d) 149 6.4.7 獲取星期數的函數WEEK(d)和WEEKOFYEAR(d) 150 6.4.8 獲取天數的函數DAYOFYEAR(d)和DAYOFMONTH(d) 151 6.4.9 獲取年份、季度、小時、分鐘和秒鐘的函數 151 6.4.10 獲取日期的指定值的函數EXTRACT(type FROM date) 152 6.4.11 時間和秒鐘轉換的函數 153 6.4.12 計算日期和時間的函數 153 6.4.13 將日期和時間格式化的函數 156 6.5 條件判斷函數 159 6.5.1 IF(expr,v1,v2)函數 159 6.5.2 IFNULL(v1,v2)函數 160 6.5.3 CASE函數 160 6.6 系統(tǒng)信息函數 161 6.6.1 獲取MySQL版本號、連接數和數據庫名的函數 161 6.6.2 獲取用戶名的函數 163 6.6.3 獲取字符串的字符集和排序方式的函數 163 6.6.4 獲取最后一個自動生成的ID值的函數 164 6.7 加/解密函數 166 6.7.1 加密函數PASSWORD(str) 166 6.7.2 加密函數MD5(str) 167 6.7.3 加密函數ENCODE(str,pswd_str) 167 6.7.4 解密函數DECODE(crypt_str,pswd_str) 167 6.8 其他函數 168 6.8.1 格式化函數FORMAT(x,n) 168 6.8.2 不同進制的數字進行轉換的函數 168 6.8.3 IP地址與數字相互轉換的函數 169 6.8.4 加鎖函數和解鎖函數 170 6.8.5 重復執(zhí)行指定操作的函數 170 6.8.6 改變字符集的函數 171 6.8.7 改變數據類型的函數 172 6.9 綜合案例——MySQL函數的使用 172 6.10 專家解惑 176 6.11 經典習題 176 第7章 查詢數據 178 ......
第22章 PHP操作MySQL數據庫 573 22.1 PHP訪問MySQL數據庫的一般步驟 573 22.2 連接數據庫前的準備工作 574 22.3 PHP操作MySQL數據庫的函數 575 22.3.1 通過MySQLi類庫訪問MySQL數據庫 575 22.3.2 使用MySQLi_connect()函數連接MySQL服務器 577 22.3.3 使用MySQLi_select_db()函數選擇數據庫文件 577 22.3.4 使用MySQLi_query()函數執(zhí)行SQL語句 578 22.3.5 使用MySQLi_fetch_assoc ()函數從數組結果集中獲取信息 578 22.3.6 使用MySQLi_fetch_object()函數從結果中獲取一行作為對象 578 22.3.7 使用MySQLi_num_rows()函數獲取查詢結果集中的記錄數 579 22.3.8 使用MySQLi_free_result()函數釋放資源 579 22.3.9 使用MySQLi_close()函數關閉連接 579 22.4 綜合實例1——使用insert語句動態(tài)添加用戶信息 580 22.5 綜合實例2——使用select語句查詢數據信息 583 22.6 專家解惑 585 22.7 經典習題 585 第23章 新聞發(fā)布系統(tǒng)數據庫設計 586 23.1 系統(tǒng)概述 586 23.2 系統(tǒng)功能 587 23.3 數據庫設計和實現 588 23.3.1 設計表 588 23.3.2 設計索引 592 23.3.3 設計視圖 593 23.3.4 設計觸發(fā)器 594 23.4 案例總結 595 第24章 論壇管理系統(tǒng)數據庫設計 596 24.1 系統(tǒng)概述 596 24.2 系統(tǒng)功能 597 24.3 數據庫設計和實現 598 24.3.1 設計方案圖表 598 24.3.2 設計表 600 24.3.3 設計索引 603 24.3.4 設計視圖 604 24.3.5 設計觸發(fā)器 605 24.4 案例總結 606