
第1篇 mysql数据库基础
第1章 数据库概述( 教学视频:10分钟) 2
11 数据库理论基础 2
111 数据存储方式 2
112 数据库泛型 3
113 数据库在开发中作用 4
12 数据库技术构成 4
121 数据库系统 4
122 sql语言 5
123 数据库访问技术 5
13 mysql基础 6
131 常见数据库系统 6
132 为什么要使用mysql 7
133 mysql版本和获取 8
14 如何学习数据库 9
15 常见问题及解答 10
16 小结 10
17 本章习题 10
第2章 windows平台下安装与配置mysql( 教学视频:52分钟) 11
21 安装与配置mysql 11
211 安装mysql 11
212 配置mysql 14
22 启动服务并登录mysql数据库 19
221 启动mysql服务 19
222 登录mysql数据库 20
223 配置path变量 22
23 更改mysql的配置 23
231 通过配置向导来更改配置 23
232 手工更改配置 24
24 mysql常用图形管理工具 27
25 使用免安装的mysql 28
26 上机实践 30
27 常见问题及解答 31
28 小结 31
29 本章习题 31
第3章 linux平台下安装与配置mysql( 教学视频:7分钟) 32
31 linux *** 作系统下的mysql版本介绍 32
32 安装和配置mysql的rpm包 33
33 安装和配置mysql的二进制包 37
34 安装和配置mysql的源码包 41
35 上机实践 45
36 常见问题及解答 46
37 小结 46
38 本章习题 47
第2篇 mysql数据库基本 *** 作
第4章 mysql数据类型( 教学视频:92分钟) 50
41 mysql数据类型介绍 50
411 整数类型 50
412 浮点数类型和定点数类型 52
413 日期与时间类型 53
414 字符串类型 60
415 二进制类型 63
42 如何选择数据类型 65
43 常见问题及解答 67
44 小结 67
45 本章习题 67
第5章 *** 作数据库( 教学视频:29分钟) 68
51 创建数据库 68
52 删除数据库 69
53 数据库存储引擎 70
531 mysql存储引擎简介 70
532 innodb存储引擎 73
533 myisam存储引擎 73
534 memory存储引擎 74
535 存储引擎的选择 74
54 本章实例 75
55 上机实践 77
56 常见问题及解答 78
57 小结 78
58 本章习题 78
第6章 创建、修改和删除表( 教学视频:113分钟) 79
61 创建表 79
611 创建表的语法形式 79
612 设置表的主键 80
613 设置表的外键 81
614 设置表的非空约束 82
615 设置表的唯一性约束 82
616 设置表的属性值自动增加 82
617 设置表的属性的默认值 83
62 查看表结构 84
621 查看表基本结构语句describe 84
622 查看表详细结构语句show create table 84
63 修改表 85
631 修改表名 85
632 修改字段的数据类型 86
633 修改字段名 87
634 增加字段 89
635 删除字段 93
636 修改字段的排列位置 94
637 更改表的存储引擎 96
638 删除表的外键约束 97
64 删除表 98
641 删除没有被关联的普通表 98
642 删除被其他表关联的父表 99
65 本章实例 100
66 上机实践 106
67 常见问题及解答 109
68 小结 110
69 本章习题 110
第7章 索引( 教学视频:82分钟) 112
71 索引简介 112
711 索引的含义和特点 112
712 索引的分类 113
713 索引的设计原则 114
72 创建索引 115
721 创建表的时候创建索引 115
722 在已经存在的表上创建索引 119
723 用alter table语句来创建索引 121
73 删除索引 123
74 本章实例 124
75 上机实践 128
76 常见问题及解答 130
77 小结 130
78 本章习题 130
第8章 视图( 教学视频:80分钟) 131
81 视图简介 131
811 视图的含义 131
812 视图的作用 132
82 创建视图 133
821 创建视图的语法形式 133
822 在单表上创建视图 134
823 在多表上创建视图 135
83 查看视图 136
831 describe语句查看视图基本信息 136
832 show table status语句查看视图基本信息 137
833 show create view语句查看视图详细信息 138
834 在views表中查看视图详细信息 139
84 修改视图 140
841 create or replace view语句修改视图 140
842 alter语句修改视图 141
85 更新视图 142
86 删除视图 145
87 本章实例 146
88 上机实践 150
89 常见问题及解答 152
810 小结 152
811 本章习题 153
第9章 触发器( 教学视频:59分钟) 154
91 创建触发器 154
911 创建只有一个执行语句的触发器 154
912 创建有多个执行语句的触发器 155
92 查看触发器 156
921 show triggers语句查看触发器信息 156
922 在triggers表中查看触发器信息 157
93 触发器的使用 159
94 删除触发器 160
95 本章实例 160
96 上机实践 163
97 常见问题及解答 164
98 小结 164
99 本章习题 165
第3篇 sql查询语句
第10章 查询数据( 教学视频:207分钟) 168
101 基本查询语句 168
102 单表查询 170
1021 查询所有字段 170
1022 查询指定字段 171
1023 查询指定记录 172
1024 带in关键字的查询 173
1025 带between and的范围查询 174
1026 带like的字符匹配查询 175
1027 查询空值 177
1028 带and的多条件查询 178
1029 带or的多条件查询 179
10210 查询结果不重复 181
10211 对查询结果排序 182
10212 分组查询 184
10213 用limit限制查询结果的数量 188
103 使用集合函数查询 190
1031 count()函数 190
1032 sum()函数 191
1033 avg()函数 192
1034 max()函数 193
1035 min()函数 194
104 连接查询 195
1041 内连接查询 195
1042 外连接查询 196
1043 复合条件连接查询 198
105 子查询 199
1051 带in关键字的子查询 199
1052 带比较运算符的子查询 200
1053 带exists关键字的子查询 203
1054 带any关键字的子查询 205
1055 带all关键字的子查询 206
106 合并查询结果 207
107 为表和字段取别名 208
1071 为表取别名 208
1072 为字段取别名 209
108 使用正则表达式查询 211
1081 查询以特定字符或字符串开头的记录 211
1082 查询以特定字符或字符串结尾的记录 212
1083 用符号“”来替代字符串中的任意一个字符 213
1084 匹配指定字符中的任意一个 213
1085 匹配指定字符以外的字符 214
1086 匹配指定字符串 215
1087 使用“”和“+”来匹配多个字符 216
1088 使用{m}或者{m,n}来指定字符串连续出现的次数 216
109 本章实例 217
1010 上机实践 228
1011 常见问题及解答 232
1012 小结 233
1013 本章习题 233
第11章 插入、更新与删除数据( 教学视频:45分钟) 234
111 插入数据 234
1111 为表的所有字段插入数据 234
1112 为表的指定字段插入数据 236
1113 同时插入多条记录 238
1114 将查询结果插入到表中 239
112 更新数据 240
113 删除数据 242
114 本章实例 244
115 上机实践 248
116 常见问题及解答 250
117 小结 250
118 本章习题 250
第12章 mysql运算符( 教学视频:75分钟) 252
121 运算符简介 252
122 算术运算符 253
123 比较运算符 254
124 逻辑运算符 260
125 位运算符 263
126 运算符的优先级 265
127 本章实例 266
128 上机实践 267
129 常见问题及解答 268
1210 小结 268
1211 本章习题 269
第13章 mysql函数( 教学视频:132分钟) 270
131 mysql函数简介 270
132 数学函数 271
1321 绝对值函数abs(x)和返回圆周率的函数pi() 272
1322 平方根函数sqrt(x)和求余函数mod(x,y) 272
1323 获取整数的函数ceil(x)、ceiling(x)和floor(x) 272
1324 获取随机数的函数rand()和rand(x) 273
1325 四舍五入函数round(x)、round(x,y)和truncate(x,y) 273
1326 符号函数sign(x) 274
1327 幂运算函数pow(x,y)、power(x,y)和exp(x) 274
1328 对数运算函数log(x)和log10(x) 274
1329 角度与弧度相互转换的函数radians(x)和degrees(x) 275
13210 正弦函数sin(x)和反正弦函数asin(x) 275
13211 余弦函数cos(x)和反余弦函数acos(x) 276
13212 正切函数、反正切函数和余切函数 276
133 字符串函数 277
1331 计算字符串字符数的函数和字符串长度的函数 278
1332 合并字符串的函数concat(s1,s2,…) 和concat_ws(x,s1,s2,…) 278
1333 替换字符串的函数insert(s1,x,len,s2) 278
1334 字母大小写转换函数 279
1335 获取指定长度的字符串的函数left(s,n)和right(s,n) 279
1336 填充字符串的函数lpad(s1,len,s2)和rpad(s1,len,s2) 279
1337 删除空格的函数ltrim(s)、rtrim(s)和trim(s) 280
1338 删除指定字符串的函数trim(s1 from s) 280
1339 重复生成字符串的函数repeat(s,n) 281
13310 空格函数space(n)和替换函数replace(s,s1,s2) 281
13311 比较字符串大小的函数strcmp(s1,s2) 281
13312 获取子串的函数substring(s,n,len)和mid(s,n,len) 281
13313 匹配子串开始位置的函数 282
13314 字符串逆序的函数reverse(s) 282
13315 返回指定位置的字符串的函数 282
13316 返回指定字符串位置的函数field(s,s1,s2,…) 283
13317 返回子串位置的函数find_in_set(s1,s2) 283
13318 选取字符串的函数make_set(x,s1,s2,…) 283
134 日期和时间函数 284
1341 获取当前日期的函数和获取当前时间的函数 285
1342 获取当前日期和时间的函数 285
1343 unix时间戳函数 286
1344 返回utc日期的函数和返回utc时间的函数 286
1345 获取月份的函数month(d)和monthname(d) 286
1346 获取星期的函数dayname(d)、dayofweek(d)和weekday(d) 287
1347 获取星期数的函数week(d)和weekofyear(d) 287
1348 获取天数的函数dayofyear(d)和dayofmonth(d) 288
1349 获取年份、季度、小时、分钟和秒钟的函数 288
13410 获取日期的指定值的函数extract(type from d) 288
13411 时间和秒钟转换的函数 289
13412 计算日期和时间的函数 289
13413 将日期和时间格式化的函数 291
135 条件判断函数 294
1351 if(expr,v1,v2)函数 294
1352 ifnull(v1,v2)函数 295
1353 case函数 295
136 系统信息函数 296
1361 获取mysql版本号、连接数和数据库名的函数 297
1362 获取用户名的函数 297
1363 获取字符串的字符集和排序方式的函数 298
1364 获取最后一个自动生成的id值的函数 298
137 加密函数 299
1371 加密函数password(str) 299
1372 加密函数md5(str) 299
1373 加密函数encode(str,pswd_str) 300
1374 解密函数decode(crypt_str,pswd_str) 300
138 其他函数 300
1381 格式化函数format(x,n) 300
1382 不同进制的数字进行转换的函数 301
1383 ip地址与数字相互转换的函数 301
1384 加锁函数和解锁函数 302
1385 重复执行指定 *** 作的函数 303
1386 改变字符集的函数 303
1387 改变字段数据类型的函数 303
139 本章实例 304
1310 上机实践 307
1311 常见问题及解答 308
1312 小结 308
1313 本章习题 309
第14章 存储过程和函数( 教学视频:78分钟) 310
141 创建存储过程和函数 310
1411 创建存储过程 310
1412 创建存储函数 312
1413 变量的使用 313
1414 定义条件和处理程序 313
1415 光标的使用 315
1416 流程控制的使用 316
142 调用存储过程和函数 319
1421 调用存储过程 319
1422 调用存储函数 320
143 查看存储过程和函数 321
1431 show status语句查看存储过程和函数的状态 321
1432 show create语句查看存储过程和函数的定义 321
1433 从information_schemaroutines表中查看存储过程和函数的信息 322
144 修改存储过程和函数 323
145 删除存储过程和函数 324
146 本章实例 325
147 上机实践 327
148 常见问题及解答 328
149 小结 329
1410 本章习题 329
第4篇 mysql数据库高级管理
第15章 mysql用户管理( 教学视频:75分钟) 332
151 权限表 332
1511 user表 332
1512 db表和host表 333
1513 tables_priv表和columns_priv表 334
1514 procs_priv表 334
152 账户管理 335
1521 登录和退出mysql服务器 335
1522 新建普通用户 336
1523 删除普通用户 338
1524 root用户修改自己的密码 339
1525 root用户修改普通用户密码 340
1526 普通用户修改密码 342
1527 root用户密码丢失的解决办法 342
153 权限管理 344
1531 mysql的各种权限 344
1532 授权 345
1533 收回权限 346
1534 查看权限 347
154 本章实例 348
155 上机实践 349
156 常见问题及解答 350
157 小结 351
158 本章习题 351
第16章 数据备份与还原( 教学视频:56分钟) 352
161 数据备份 352
1611 使用mysqldump命令备份 352
1612 直接复制整个数据库目录 354
1613 使用mysqlhotcopy工具快速备份 355
162 数据还原 355
1621 使用mysql命令还原 356
1622 直接复制到数据库目录 356
163 数据库迁移 357
1631 相同版本的mysql数据库之间的迁移 357
1632 不同版本的mysql数据库之间的迁移 357
1633 不同数据库之间迁移 358
164 表的导出和导入 358
1641 用select…into outfile导出文本文件 358
1642 用mysqldump命令导出文本文件 359
1643 用mysql命令导出文本文件 360
1644 用load data infile方式导入文本文件 361
1645 用mysqlimport命令导入文本文件 362
165 本章实例 362
166 上机实践 365
167 常见问题及解答 366
168 小结 366
169 本章习题 367
第17章 mysql日志( 教学视频:54分钟) 368
171 日志简介 368
172 二进制日志 369
1721 启动和设置二进制日志 369
1722 查看二进制日志 370
1723 删除二进制日志 370
1724 使用二进制日志还原数据库 371
1725 暂时停止二进制日志功能 372
173 错误日志 372
1731 启动和设置错误日志 372
1732 查看错误日志 373
1733 删除错误日志 373
174 通用查询日志 374
1741 启动和设置通用查询日志 374
1742 查看通用查询日志 374
1743 删除通用查询日志 375
175 慢查询日志 375
1751 启动和设置慢查询日志 375
1752 查看慢查询日志 376
1753 删除慢查询日志 376
176 本章实例 376
177 上机实践 380
178 常见问题及解答 381
179 小结 381
1710 本章习题 381
第18章 性能优化( 教学视频:48分钟) 382
181 优化简介 382
182 优化查询 383
1821 分析查询语句 383
1822 索引对查询速度的影响 384
1823 使用索引查询 385
1824 优化子查询 387
183 优化数据库结构 388
1831 将字段很多的表分解成多个表 388
1832 增加中间表 388
1833 增加冗余字段 389
1834 优化插入记录的速度 390
1835 分析表、检查表和优化表 391
184 优化mysql服务器 392
1841 优化服务器硬件 392
1842 优化mysql的参数 393
185 本章实例 394
186 上机实践 395
187 常见问题及解答 396
188 小结 397
189 本章习题 397
第5篇 mysql应用与实战开发
第19章 java访问mysql数据库( 教学视频:45分钟) 400
191 java连接mysql数据库 400
1911 下载jdbc驱动mysql connector/j 400
1912 安装mysql connector/j驱动 400
1913 连接mysql数据库 402
192 java *** 作mysql数据库 403
1921 创建statement对象 403
1922 使用select语句查询数据 403
1923 插入、更新或者删除数据 404
1924 执行任意sql语句 405
1925 关闭创建的对象 406
193 java备份与还原mysql数据库 406
1931 java备份mysql数据库 406
1932 java还原mysql数据库 407
194 本章实例 407
195 上机实践 410
196 常见问题及解答 413
197 小结 413
198 本章习题 414
第20章 php访问mysql数据库( 教学视频:44分钟) 415
201 php连接mysql数据库 415
2011 windows *** 作系统下配置php 415
2012 linux *** 作系统下配置php 417
2013 连接mysql数据库 418
202 php *** 作mysql数据库 419
2021 执行sql语句 419
2022 处理查询结果 420
2023 获取查询结果的字段名 421
2024 一次执行多个sql语句 421
2025 处理带参数的sql语句 422
2026 关闭创建的对象 423
203 php备份与还原mysql数据库 424
2031 php备份mysql数据库 424
2032 php还原mysql数据库 424
204 本章实例 425
205 上机实践 426
206 常见问题及解答 427
207 小结 427
208 本章习题 428
第21章 c#访问mysql数据库( 教学视频:55分钟) 429
211 c#连接mysql数据库 429
2111 下载connector/net驱动程序 429
2112 安装connector/net驱动程序 430
2113 使用connector/net驱动程序 431
2114 连接mysql数据库 432
212 c# *** 作mysql数据库 433
2121 创建mysqlcommand对象 433
2122 插入、更新或者删除数据 434
2123 使用select语句查询数据 434
2124 一次执行多个select语句 435
2125 处理select语句只返回一个值的情况 436
2126 处理带参数的sql语句 437
2127 使用dataset对象和datatable对象 438
2128 关闭创建的对象 438
213 c#备份与还原mysql数据库 439
2131 c#备份mysql数据库 439
2132 c#还原mysql数据库 440
214 本章实例 440
215 上机实践 443
216 常见问题及解答 445
217 小结 445
218 本章习题 445
第22章 驾校学员管理系统( 教学视频:95分钟) 446
221 系统概述 446
222 系统功能 446
223 数据库设计 447
2231 设计表 447
2232 设计索引 452
2233 设计视图 453
2234 设计触发器 454
224 系统实现 455
2241 构建工程 455
2242 访问和 *** 作mysql数据库的代码 455
225 用户管理模块 458
2251 用户登录功能 458
2252 修改密码 459
226 学籍管理模块 460
2261 添加学员的学籍信息 460
2262 查询学员的学籍信息 461
2263 修改学员的学籍信息 462
2264 删除学员的学籍信息 462
227 体检管理模块 462
228 成绩管理模块 464
229 证书管理模块 465
2210 小结 466
前言
第一篇 基础知识
第1章 初识庐山真面目——MySQL数据库
视频讲解:4分钟
11 为什么选择MySQL数据库
111 什么是MySQL数据库
112 MySQL的优势
113 MySQL的发展史
12 MySQL特性
13 MySQL的应用环境
14 MySQL的管理软件
15 如何学MySQL
151 如何学好MySQL
152 MySQL学习常见问题
16 小结
17 习题
第2章 再识庐山真面目——简单的MySQL环境
视频讲解:37分钟
21 数据根源——MySQL下载
22 搭建桥梁——MySQL环境安装
23 启动、连接、断开和停止MySQL服务器
231 启动和停止MySQL服务器
232 连接和断开MySQL服务器
24 使用免安装的MySQL
25 MySQL Workbench图形化管理工具
251 MySQL Workbench安装
252 创建数据库和数据表
253 添加数据
254 数据的导入和导出
26 phpMyAdmin图形化管理工具
261 数据库 *** 作管理
262 管理数据表
263 管理数据记录
264 导入导出数据
265 phpMyAdmin设置编码格式
266 phpMyAdmin添加服务器新用户
267 phpMyAdmin中重置MySQL服务器登录密码
27 上机实践
271 启动、停止服务器
272 连接MySQL服务器
28 小结
29 习题
第3章 如何存储和获取数据——MySQL存储引擎、数据类型和运算符
视频讲解:34分钟
31 最常用的引擎类型——MySQL存储引擎
311 什么是MySQL存储引擎
312 查询MySQL中支持的存储引擎
313 InnoDB存储引擎
314 MyISAM存储引擎
315 MEMORY存储引擎
316 如何选择存储引擎
317 设置数据表的存储引擎
32 数据是如何分类的——MySQL数据类型
321 数字类型
322 字符串类型
323 日期和时间数据类型
33 最基本的程序元素——MySQL运算符
331 算术运算符
332 比较运算符
333 逻辑运算符
334 位运算符
335 运算符的优先级
34 上机实践
341 查看存储引擎、创建和删除数据库
342 位运算的比较
343 逻辑运算符的使用
35 小结
36 习题
第4章 最实用的编程语句——MySQL基本 *** 作
视频讲解:38分钟
41 MySQL数据库 *** 作
411 创建数据库CREATE DATABASE
412 查看数据库SHOW DATABASES
413 选择数据库USE DATABASE
414 删除数据库DROP DATABASE
42 MySQL数据表 *** 作
421 创建数据表CREATE TABLE
422 查看表结构SHOW COLUMNS或DESCRIBE
423 修改表结构ALTER TABLE
424 重命名表RENAME TABLE
425 删除表DROP TABLE
43 MySQL语句 *** 作
431 插入记录INSERT
432 查询数据库记录SELECT
433 修改记录UPDATE
434 删除记录DELETE
44 上机实践
441 *** 作teacher表
442 存在外键约束时,不能删除、更新主表
443 登录数据库系统
45 小结
46 习题
第5章 在迷宫中寻找出口——掌握函数
视频讲解:37分钟
51 程序的灵魂——MySQL函数
52 数字的趣味——数学函数
521 ABS(x)函数
522 FLOOR(x)函数
523 RAND()函数
524 PI()函数
525 TRUNCATE(x,y)函数
526 ROUND(x)函数和ROUND(x,y)函数
527 SQRT(x)函数
53 让字符舞起来——字符串函数
531 INSERT(s1,x,len,s2)函数
532 UPPER(s)函数和UCASE(s)函数
533 LEFT(s,n)函数
534 RTRIM(s)函数
535 SUBSTRING(s,n,len)函数
536 REVERSE(s)函数
537 FIELD(s,s1,s2,…)函数
54 时间如宝——日期和时间函数
541 CURDATE()函数和CURRENT_DATE()函数
542 CURTIME()函数和CURRENT_TIME()函数
543 NOW()函数
544 DATEDIFF(d1,d2)函数
545 ADDDATE(d,n)函数
546 ADDDATE(d,INTERVAL expr type)函数
547 SUBDATE(d,n)函数
55 多种选择——条件判断函数
56 系统信息函数
561 获取MySQL版本号、连接数和数据库名的函数
562 获取用户名的函数
563 获取字符串的字符集和排序方式的函数
57 安全设置——加密函数
571 加密函数PASSWORD(str)
572 加密函数MD5(str)
58 其他函数
581 格式化函数FORMAT(x,n)
582 改变字符集的函数
583 改变字段数据类型的函数
59 上机实践
591 字符串函数的使用
592 查看当前数据库版本号
593 生成3个1~100之间的随机整数
510 小结
511 习题
第6章 不可不知的查询方法——数据查询
视频讲解:52分钟
61 简单明了——基本查询语句
62 最通俗易懂——单表查询
621 查询所有字段
622 查询指定字段
623 查询指定数据
624 带IN关键字的查询
625 带BETWEEN AND的范围查询
626 带LIKE的字符匹配查询
627 用IS NULL关键字查询空值
628 带AND的多条件查询
629 带OR的多条件查询
6210 用DISTINCT关键字去除结果中的重复行
6211 用ORDER BY关键字对查询结果排序
6212 用GROUP BY关键字分组查询
6213 用LIMIT限制查询结果的数量
63 掺杂数字趣味——聚合函数查询
631 COUNT()函数
632 SUM()函数
633 AVG()函数
634 MAX()函数
635 MIN()函数
64 串联一起——连接查询
641 内连接查询
642 外连接查询
643 复合条件连接查询
65 从外到内——子查询
651 带IN关键字的子查询
652 带比较运算符的子查询
653 带EXISTS关键字的子查询
654 带ANY关键字的子查询
655 带ALL关键字的子查询
66 合并查询结果
67 字段昵称——定义表和字段的别名
671 为表取别名
672 为字段取别名
68 使用正则表达式查询
681 匹配指定字符中的任意一个
682 使用“”和“+”来匹配多个字符
69 上机实践
691 使用聚合函数SUM对学生成绩进行汇总
692 查询大于指定条件的记录
693 使用比较运算符进行子查询
610 小结
611 习题
第二篇 核心技术
第7章 让程序速度加快——MySQL索引
视频讲解:23分钟
71 MySQL索引概貌
711 MySQL索引概述
712 MySQL索引分类
72 创建索引
721 在建立数据表时创建索引
722 在已建立的数据表中创建索引
723 修改数据表结构添加索引
73 删除索引
74 上机实践
741 使用CREATE INDEX创建索引
742 使用ALTER TABLE语句创建全文索引
743 删除唯一索引
75 小结
76 习题
第8章 一次编写多次调用——MySQL存储过程
视频讲解:33分钟
81 创建存储过程和存储函数
811 创建存储过程
812 创建存储函数
813 变量的应用
814 光标的运用
82 流程控制语句
821 IF语句
822 CASE语句
823 WHILE循环语句
824 LOOP循环语句
825 REPEAT循环语句
83 调用存储过程和存储函数
831 调用存储过程
832 调用存储函数
84 查看存储过程和函数
841 SHOW STATUS语句
842 SHOW CREATE语句
85 修改存储过程和函数
86 删除存储过程和函数
87 捕获存储过程中的错误
871 定义条件
872 定义处理程序
88 上机实践
881 使用存储过程实现用户注册(PHP)
882 修改存储函数
883 从information_schemaRoutines表中查看存储过程
89 小结
810 习题
第9章 定时炸d——触发器
视频讲解:22分钟
91 MySQL触发器
911 创建MySQL触发器
912 创建具有多个执行语句的触发器
92 查看触发器
921 SHOW TRIGGERS
922 查看triggers表中触发器信息
93 应用触发器
94 删除触发器
95 上机实践
951 创建一个由INSERT触发的触发器
952 获取数据库中的触发器
953 使用DROP TIRGGER删除触发器
96 小结
97 习题
第10章 虚拟世界——MySQL视图
视频讲解:22分钟
101 MySQL视图
1011 视图的概念
1012 视图的作用
102 创建视图
1021 查看用户是否具有创建视图的权限
1022 创建视图
1023 创建视图的注意事项
103 查看视图
104 修改视图
105 更新视图
106 删除视图
107 上机实践
1071 在views表中查看视图详细信息
1072 在单表上创建视图
1073 使用MySQL视图查询学生信息表
108 小结
109 习题
第11章 让程序听话——MySQL事务
视频讲解:15分钟
111 MySQL事务概述
1111 原子性
1112 一致性
1113 孤立性
1114 持久性
112 MySQL事务的创建与存在周期
1121 初始化事务
1122 创建事务
1123 应用SELECT语句查看数据是否被正确输入
1124 提交事务
1125 撤销事务(事务回滚)
1126 事务的存在周期
113 MySQL行为
1131 自动提交
1132 事务的孤立级
1133 修改事务的孤立级
114 事务和性能
1141 应用小事务
1142 选择合适的孤立级
1143 死锁的概念与避免
115 MySQL伪事务
1151 用表锁定代替事务
1152 应用表锁实现伪事务
116 上机实践
1161 使用事务处理技术实现银行的安全转账(PHP)
1162 批处理中使用事务(Java)
117 小结
118 习题
第12章 实施管理任务——MySQL系统管理
视频讲解:18分钟
121 MySQL系统管理
1211 管理职责概述
1212 日常管理
1213 安全问题
1214 数据库修复和维护
122 数据目录的位置
123 数据目录的结构
124 MySQL服务器如何提供对数据的访问
125 MySQL数据库在文件系统里如何表示
126 MySQL数据表在文件系统里如何表示
1261 ISAM数据表
1262 MyISAM数据表
1263 MERGE数据表
1264 BDB数据表
1265 InnoDB数据表
1266 HEAP数据表
127 SQL语句如何映射为数据表文件 *** 作
1271 创建数据表
1272 更新数据表
1273 删除数据表
128 *** 作系统对数据库和数据表命名的限制
129 数据目录的结构对系统性能的影响
1210 MySQL状态文件和日志文件
1211 小结
1212 习题
第三篇 高级技术
第13章 保存数据必备——数据库备份与还原
视频讲解:3分钟
131 数据备份
1311 使用mysqldump命令备份
1312 直接复制整个数据库目录
1313 使用mysqlhotcopy工具快速备份
132 数据还原
1321 使用mysql命令还原
1322 直接复制到数据库目录
133 数据库迁移
1331 MySQL相同版本的数据库之间的迁移
1332 不同数据库之间的迁移
134 表的导出和导入
1341 用SELECTINTO OUTFILE导出文本文件
1342 用mysqldump命令导出文本文件
1343 用mysql命令导出文本文件
135 上机实践
1351 将表中的内容导出到文件中
1352 使用mysql命令导出HTML文件
1353 导出XML文件
136 小结
137 习题
第14章 提高程序的便捷——MySQL性能优化
视频讲解:11分钟
141 优化简介
142 优化查询
1421 分析语句查询
1422 索引对查询速度的影响
1423 使用索引查询
143 优化数据库结构
1431 将字段很多的表分解成多个表
1432 增加中间表
1433 优化插入记录的速度
1434 分析表、检查表和优化表
144 查询高速缓存
1441 检验高速缓存是否开启
1442 使用高速缓存
145 优化多表查询
146 优化表设计
147 上机实践
1471 查看MySQL服务器的连接、查询次数
1472 检查表
1473 优化表
148 小结
149 习题
第15章 进入了武器库——MySQL数据库安全技术
视频讲解:11分钟
151 MySQL基本的安全保护策略
152 用户和权限管理
1521 使用CREATE USER命令创建用户
1522 使用DROP USER命令删除用户
1523 使用RENAME USER命令重命名用户
1524 GRANT和REVOKE命令
153 MySQL数据库安全技术的常见问题
1531 权限更改何时生效
1532 设置账户密码
1533 使密码更安全
154 小结
155 习题
第16章 琐碎小事——MySQL日常管理
视频讲解:8分钟
161 连接故障恢复
1611 MySQL套接字被误删
1612 忘记root口令
162 日志文件管理
1621 错误日志
1622 通用查询日志
1623 二进制日志
1624 慢速查询日志
1625 日志文件维护
1626 日志失效处理
163 MySQL服务器镜像配置
1631 镜像机制概念
1632 建立主-从镜像关系
1633 MySQL双机热备份
164 MySQL服务器的一些优化配置
1641 对MySQL服务器的连接监听情况进行控制
1642 启用或禁用LOAD DATA语句的LOCAL能力
1643 国际化和本地化
1644 对老数据表进行转换以激活MySQL 41的字符集支持
165 优化MySQL服务器
1651 服务器参数变量的设置
1652 通用的MySQL服务器变量
1653 InnoDB处理程序变量
166 运行多个MySQL服务器
1661 运行多个MySQL服务器需要注意的问题
1662 设置MySQL服务器启动选项的策略
1663 用mysql_multi脚本启动多个MySQL服务器
1664 在Windows系统上运行多个MySQL服务器
167 小结
168 习题
第17章 更上一层楼——PHP访问MySQL数据库
视频讲解:39分钟
171 PHP语言概述
1711 什么是PHP
1712 为什么选择PHP
1713 PHP的工作原理
1714 PHP结合数据库应用的优势
172 PHP *** 作MySQL数据库的步骤
173 使用PHP *** 作MySQL数据库
1731 mysql_connect()函数连接MySQL服务器
1732 mysql_select_db()函数连接MySQL数据库
1733 mysql_query()函数执行SQL语句
1734 mysql_fetch_array()函数将结果集返回到数组中
1735 mysql_fetch_row()函数从结果集中获取一行作为枚举数组
1736 mysql_num_rows()函数获取查询结果集中的记录数
1737 mysql_free_result()函数释放内存
1738 mysql_close()函数关闭连接
174 PHP管理MySQL数据库中的数据
1741 向数据库中添加数据
1742 浏览数据库中数据
1743 编辑数据库数据
1744 删除数据
1745 批量删除数据
175 常见问题与解决方法
176 MySQL与PHP的应用实例——迷你日记
1761 迷你日记概述
1762 数据库设计
1763 用户登录
1764 发表日记
1765 分页显示日记列表
1766 d出窗口修改日记
1767 查询日记
1768 应用JavaScript实现批量删除
177 小结
178 习题
第四篇 项目实战
第18章 Java与MySQL数据库——图书管理系统
视频讲解:89分钟
181 开发背景
182 系统分析
1821 需求分析
1822 可行性研究
183 系统设计
1831 系统目标
1832 系统功能结构
1833 系统流程图
1834 文件夹组织结构
184 系统预览
185 数据库设计
1851 数据库分析
1852 数据库概念设计
1853 数据库逻辑结构
186 公共模块设计
1861 数据库连接及 *** 作类的编写
1862 字符串处理类的编写
1863 配置解决中文乱码的过滤器
187 主界面设计
1871 主界面概述
1872 主界面技术分析
1873 主界面的实现过程
188 管理员模块设计
1881 管理员模块概述
1882 管理员模块技术分析
1883 系统登录的实现过程
1884 查看管理员的实现过程
1885 添加管理员的实现过程
1886 设置管理员权限的实现过程
1887 删除管理员的实现过程
1888 单元测试
189 图书借还模块设计
1891 图书借还模块概述
1892 图书借还模块技术分析
1893 图书借阅的实现过程
1894 图书续借的实现过程
1895 图书归还的实现过程
1896 图书借阅查询的实现过程
1897 单元测试
1810 开发问题解析
18101 如何自动计算图书归还日期
18102 如何对图书借阅信息进行统计排行
1811 小结
第19章 C语言与MySQL数据库——图书管理系统
视频讲解:52分钟
191 需求分析
192 系统设计
1921 系统目标
1922 系统功能结构
1923 系统预览
1924 开发及运行环境
193 数据库设计
1931 安装MySQL数据库
1932 启动MySQL数据库
1933 创建数据库
1934 数据表结构
194 C语言开发数据库程序的流程
1941 在C语言中引入如下头文件
1942 引入库函数
195 数据库管理模块设计
1951 MySQL常用数据库 *** 作函数
1952 连接MySQL数据库
1953 查询图书表记录
1954 插入图书表记录
1955 修改图书表记录
1956 删除图书表记录
196 文件引用
197 变量和函数定义
198 管理模块设计
1981 显示主菜单信息
1982 显示所有图书信息
1983 添加图书信息
1984 修改图书信息
1985 删除图书信息
1986 查询图书信息
199 小结
MySQL的窗口函数最主要作用是对数据进行分组 *** 作(可以进行分组排序,求TopN,移动平均,聚合计算等),也就是相当于说在当前的详细级别视图里,对更低级别的数据进行计算呈现(可以与Tableau的表计算函数进行对比学习),比如说目前的表格是全国数据,但是要对不同省份的数据进行分组计算,这个时候使用窗口函数就会很方便。
在MySQL中,窗口函数要在80版本之后才能使用,如果是低版本的话,只能使用设置变量的方式完成以上内容的实现,设置变量在逻辑上会比窗口函数更加难以理解和使用,使用窗口函数可以大大的提高效率。
在很多SQL的教程中,说到窗口函数的时候,都只是说窗口函数的排序优势而已,但是在实际工作中,其用处远远不止这些。
以下为窗口函数的情况:
并不能
这种需求 要么在代码端直接判断出表名,然后查询, 要么写存储过程或者函数,同样也是要进行逻辑判断的
如果就非得要一个SELECT出来结果, 那就用UNION, 把不同条件的几个查询强制拼接在一起, 选择逻辑当作每一个查询的where条件来作为开关
首先mysql是c++开发的。
github地址:https://githubcom/mysql/mysql-server
很多大型软件基本都是c/c++开发的。你会了c/c++基本就具备了领略程序世界的大门的钥匙。
mysql是一个完善的数据库软件。
最上层:处理连接,授权认证,安全等
第二层:核心服务功能:查询解析,分析,优化,缓存以及所有内置函数(日期,时间,数据,加密等),存储过程,触发器,视图等。
第三层:存储引擎,存储引擎负责mysql中数据的存储和提取。每个引擎各有优势。服务器通过API与存储引擎进行通信。接口屏蔽了不同引擎的差异,对上层的查询过程透明。
你如果去读它,你基本就可以深入到这些业务点中。然后获取的提升绝对不是一星半点。你会发现开发一个web应用,开发一个中间件如此简单。你获取的是大神级工程师的开发思想,技巧。
举个例子:MVCC ,innodb 隔离性实现的技术。
设计原理很简单,也很巧妙。对数据安全和高并发做了平衡处理。
这个是单纯学习计算机语言,算法数据结构给不了的体验。
当前,你得能看的下去,你有那个恒心。吹牛逼就不要在这里问了?
首先,能看懂 MySQL 源码的人物,我感觉肯定在技术上是一位大牛,能够将 C/C++ 语言的 MySQL 源码看懂,肯定也是一位非常有耐心的技术人,能够耐着性子去专研。 如果能够将Mysql源码研究的很透彻的话,我相信出去到大厂找数据库内核开发的岗位时,绝对是一个非常巨大的优势。
能看懂 Mysql 的源码,首先第一点需要对 C/C++ 语言的知识点非常的熟悉,因为 MySQL 底层几乎都是 C/C++ 语言写的,比如指针等。 对于 MySQL 源码能够看得的话,我相信在和别人谈论数据库相关的问题时,其实也会更加有专业性和深度,能够快速的理解对方所说的数据库问题。
同时,如果对 MySQL 源码有着很深入了解的话,其实对于数据库的相关配置优化等也会掌握的更好,因为你对底层原理了解的很透彻,对于自己做的每一件事情都是有理有据。每个数据库参数是什么含义,为什么要这样设置,背后都有你自己的理解和原因。这对于公司来说,也是非常需要这样的人才。
当初我校招的时候,其实准备想投数据库开发相关的岗位,当时其实自己也自学过 MySQL 底层的原理(不过我没有去研究过源码)。 MySQL 最主要的还是底层可插拔式的存储引擎,比如 InnoDB、MYISAM等,重点是 InnoDB存储引擎。学习看 MySQL 源码的话,我建议可以选择其中一个模块开始入手。
我刚开始看 《MySQL 技术内幕:InnoDB存储引擎》 这本书的时候,上面讲解的非常多的 MySQL InnoDB 的原理。先从原理知识入手,再去看源码会更加好一些,因为你掌握了整体的代码逻辑方向。说实话直接上手看 MySQL 源码,将会是很难的一件事情。我相信那些能够看懂 MySQL 源码的人,肯定在看源码之前,有一定的技术知识储备。
新同学在去研究某一门开源技术组件的源码时,不建议直接上手去看代码,你应该是先去整体了解一下该技术组件的整体原理和框架,源码层则是更加细节方面的实现,你应该带着某一个问题去看,有针对性和目的性的去看源码,这样你的提升才会更加的快速。
我会持续大数据、数据库方面的内容,如果你有任何问题,也欢迎关注私信我,我会认真解答每一个问题。期待您的关注
阅读代码,一般都是一件繁复的工作。程序员,只要工作需要、或有足够的时间,都能够胜任阅读代码的工作,特别是数据库这类功能具体的系统。如果软件的功能不确定,阅读起来确实有莫名的困难。年轻时,得到“一套”Z80汇编码,闲来无聊,尝试阅读,数周过去,不得要领。直到在一个忽略了的简单文档的阐述上下文中,意识到代码可能是实现“导d”稳定飞行的侧滚控制系统时,阅读中的问题瞬间都消失了。
拜托啦,我不只能看懂你的SQL,我还可以看懂VB、C++、数据库我也看
mysql可以使用自定义函数。MySQL不仅提供了很多很方便的内置函数,用户还可以自定义函数。不同于MongoDB对Js函数的良好支持,MySQL的自定义函数用起来感觉处处掣肘,不推荐用来处理复杂的业务逻辑。MySQL自定义函数默认是和库进行绑定的。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)