和 Excel 类比,为什么要学习数据库
- 对应sheet,但每列都有明确的名称和数据类型,好处是:在运算、查询、处理时,省去了大略容错和类型转换的时间,因为当Excel处理几万数据就很吃力时,MySQL处理几百万数据比较轻松。
- 由于MySQL中,不同数据表之间关联查询非常方便,不需要在一个表里放大量重复数据,导致维护困难。
- 数据库是服务,可以很多人同时管理和查询数据无压力,Excel数据很难多人共同维护和使用。
数据类型
- 从大的方面来说:分为数字、日期时间、字符串 3 类
- 数字分为整形、小数等等,整形又分为 tinyint、smallint、int、bigint 等等,为什么分的这么细?因为:1. 可以节约存储空间(对专门存放大量数据的数据库来说这点很重要),2. 查询时速度更快,性能更好。
- 另外,还有json、binary(二进制)、geometry(地理空间)等
快速 docker 方式安装MySQL
docker pull mysql:latest
docker run --restart=always --name study-mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:latest
# 登录容器
docker exec -it study-mysql bash
# 登录 数据库
mysql -uroot -p123456
使用 NaviCat 连接数据库
输入:连接名、主机IP、端口、用户,密码 5 个信息后,点击测试连接,确定即可;
数据库创建、删除
- 可以用NaviCat直接操作,也可以用命令行搞定
命令行方式的操作如下:
-- 创建数据库
create database 数据库名;
-- 删除数据库
drop database 数据库名;
use 数据库名;
精确查询和模糊查询
4 种 join
- inner join
- left join
- right join
- full join
函数和过程
- 函数
- 过程
过程示例:使用过程,批量创建MySQL数据