数据库学习记录(以MySQL为例)

和 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

函数和过程

视图

上一篇:Django数据库操作中You are trying to add a non-nullable field 'name' to contact without a default


下一篇:Fakeapp 入门教程(1):安装篇!