第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 数据库系统 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的优势 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操作系统下的MySQL版本介绍 29 2.4.2 安装和配置MySQL的RPM包 31 2.4.3 安装和配置MySQL的源码包 35 2.5 专家解惑 36 2.6 经典习题 36 第3章 数据库的基本操作 37 3.1 创建数据库 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 综合案例——数据库的创建和删除 44 3.5 专家解惑 46 3.6 经典习题 46 第4章 数据表的基本操作 47 4.1 创建数据表 47 4.1.1 创建表的语法形式 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 删除没有被关联的表 67 4.4.2 删除被其他表关联的主表 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 运算符的优先级 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 系统信息函数 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 重复执行指定操作的函数 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()函数执行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语句动态添加用户信息 580 22.5 综合实例2——使用select语句查询数据信息 583 22.6 专家解惑 585 22.7 经典习题 585 第23章 新闻发布系统数据库设计 586 23.1 系统概述 586 23.2 系统功能 587 23.3 数据库设计和实现 588 23.3.1 设计表 588 23.3.2 设计索引 592 23.3.3 设计视图 593 23.3.4 设计触发器 594 23.4 案例总结 595 第24章 论坛管理系统数据库设计 596 24.1 系统概述 596 24.2 系统功能 597 24.3 数据库设计和实现 598 24.3.1 设计方案图表 598 24.3.2 设计表 600 24.3.3 设计索引 603 24.3.4 设计视图 604 24.3.5 设计触发器 605 24.4 案例总结 606