MySQL“一课一得”:学习之旅与深刻领悟

数据驱动的现代世界中,MySQL无疑是数据库领域的一颗璀璨明星。通过本次MySQL课程的学习,我深刻感受到了其强大的功能和灵活的应用性。接下来,我将结合实操体验,分享我的学习收获和心得,希望能够帮助大家更好地掌握MySQL。

MySQL 是当下最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 可以说是最流行的技术。选择 MySQL 数据库已是既成事实,绝大多数使用 Linux 操作系统的互联网网站都在使用 MySQL 作为其后端的数据库存储方式,从大型的 BAT 门户到电商平台、分类门户等无一例外。

原因有以下几点:

MySQL 性能卓越,服务稳定,很少出现异常宕机的情况。
MySQL 开放源代码且无版权制约,自主性强,使用成本低。
MySQL 历史悠久,社区及用户非常活跃,遇到问题,可以寻求帮助。
MySQL 软件体积小,安装使用简单,并且易于维护,安装及维护成本低。
MySQL 品牌口碑效应好,使得企业无须考虑即可直接用之。
LAMP、LNMP、LNMT(tomcat)等流行 Web 架构都含有 MySQL。
MySQL 支持多种操作系统,提供了多种 API,支持多种开发语言,特别是对流行的 Java、Python、PHP 等语言都有很好的支持。

数据库分类

  • SQL Sever: 微软的产品,.Net 程序员的最爱,适合中大型项目。
  • Oracle: 甲骨文产品,适合大型项目和复杂的业务逻辑,并发性一般来说不如 MySQL。 
  • MySQL:世界上最受欢迎的数据库,属于甲骨文,并发性好,不适合做复杂的业务。主要用在电商,SNS,论坛。对简单的 SQL 处理效果好。
  • PostgreSQL:加州大学伯克利分校计算机系开发的关系型数据库,不管是私用,商用,还是学术研究,都可以免费使用、修改和分发。
  • SQLite: 是一款轻型的数据库,是遵守 ACID 的关系型数据库管理系统,它包含在一个相对小的C库中。它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。
  • H2: 是一个用 Java 开发的嵌入式数据库,它本身只是一个类库,可以直接嵌入到应用项目中。

一、环境搭建与基础认识

在学习的初期,我首先按照教程指引成功安装了MySQL数据库,并配置了相应的环境。这个过程中,我了解了MySQL的基本架构、运行机制和它作为一个关系型数据库管理系统(RDBMS)的核心特性。通过实际操作,我熟悉了MySQL的命令行界面和图形界面管理工具,为后续的学习打下了坚实的基础。

 二、SQL基础操作与实战演练

在掌握了SQL的基础语法后,我通过实际操作创建了多个数据表,并进行了数据的增删改查。我深入学习了SELECT、INSERT、UPDATE、DELETE等SQL语句的用法,并了解了如何根据实际需求编写高效的SQL查询语句。通过大量的练习,我掌握了SQL语句的编写技巧和优化方法,提高了自己的动手能力和解决问题的能力。

三、索引与事务管理的深入理解 

随着学习的深入,我详细了解了索引在提升查询效率中的重要作用。我学习了B-Tree索引、Hash索引等不同类型的索引,并掌握了如何根据实际需求选择合适的索引。通过实际操作,我感受到了索引对查询性能的巨大提升。同时,我也深入学习了事务的概念和用法,了解了事务的ACID属性(原子性、一致性、隔离性、持久性)对于保证数据完整性和一致性的重要意义。我通过编写事务相关的SQL语句,体验了事务的工作原理和应用场景。

 

# 取模运算: % mod
SELECT 12 % 3,12 % 5, 12 MOD -5,-12 % 5,-12 % -5
FROM DUAL; # 结果的符号只与被模数有关
+--------+--------+-----------+---------+----------+
| 12 % 3 | 12 % 5 | 12 MOD -5 | -12 % 5 | -12 % -5 |
+--------+--------+-----------+---------+----------+
|      0 |      2 |         2 |      -2 |       -2 |
+--------+--------+-----------+---------+----------+

四、实操练习,巩固与提高 

我通过大量的实操练习巩固了所学知识,并提高了自己的动手能力和解决问题的能力。在实操中,我遇到了很多问题,但通过查阅资料和反复尝试,我最终都找到了解决方案。这些实践经历不仅让我更加深入地理解了MySQL的知识点,还让我学会了如何分析和解决问题。

条件查询:

DQL(数据查询语言)
语法:

SELECT

字段列表

FROM

表名字段

WHERE

条件列表

GROUPBY

分组字段列表

HAVING

分组后的条件列表

ORDERBY

排序字段列表

LIMIT

分页参数

基础查询
查询多个字段:SELECT 字段1, 字段2, 字段3, ... FROM 表名;SELECT * FROM 表名;

设置别名:SELECT 字段1 [ AS 别名1 ], 字段2 [ AS 别名2 ], 字段3 [ AS 别名3 ], ... FROM 表名;SELECT 字段1 [ 别名1 ], 字段2 [ 别名2 ], 字段3 [ 别名3 ], ... FROM 表名;

去除重复记录:SELECT DISTINCT 字段列表 FROM 表名;

转义:SELECT * FROM 表名 WHERE name LIKE '/_张三' ESCAPE '/'/ 之后的_不作为通配符

条件查询
语法:SELECT 字段列表 FROM 表名 WHERE 条件列表;

条件:

比较运算符功能
>大于
>=大于等于
<小于
=等于
<> 或 !=不等于
BETWEEN ... AND ...在某个范围内(含最小、最大值)
IN(...)在in之后的列表中的值,多选一
LIKE 占位符模糊匹配(_匹配单个字符,%匹配任意个字符)
IS NULL是NULL

 

逻辑运算符功能
AND 或 &&并且(多个条件同时成立)
OR 或 ||或者(多个条件任意一个成立)
NOT 或 !非,不是

聚合查询(聚合函数)

常见聚合函数:

函数

功能

count

统计数量

max

最大值

min

最小值

avg

平均值

sum

求和

权限控制

常用权限:

权限

说明

ALL, ALL PRIVILEGES

所有权限

SELECT

查询数据

INSERT

插入数据

UPDATE

修改数据

DELETE

删除数据

ALTER

修改表

DROP

删除数据库/表/视图

CREATE

创建数据库/表

字符串函数

常用函数:

函数功能
CONCAT(s1, s2, ..., sn)字符串拼接,将s1, s2, ..., sn拼接成一个字符串
LOWER(str)将字符串全部转为小写
UPPER(str)将字符串全部转为大写
LPAD(str, n, pad)左填充,用字符串pad对str的左边进行填充,达到n个字符串长度
RPAD(str, n, pad)右填充,用字符串pad对str的右边进行填充,达到n个字符串长度
TRIM(str)去掉字符串头部和尾部的空格
SUBSTRING(str, start, len)返回从字符串str从start位置起的len个长度的字符串
REPLACE(column, source, replace)替换字符串

六、展望未来,持续学习

虽然我已经掌握了MySQL的基础知识,但学习之路永无止境。我将继续深入学习MySQL的高级特性和应用场景,如存储过程、触发器、分区表等。同时,我也将关注MySQL的最新发展动态和技术趋势,以便更好地应对未来的挑战和需求。我相信通过不断的学习和实践,我将能够在MySQL领域取得更大的进步和成就。。

  • 33
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值