1、SQL的学习阶段
1.1 背景
随着互联网的不断发展,数据的不断累积,现在单单使用Excel已经不能满足数据分析的需求了,因此作为一个数据分析工作者,掌握Excel是基础,而SQL作为主流数据库查询语言就是接下来学习掌握的一个重点技能。
1.2 学习路径
![52df33f2779807884847e3cc72509243.png](https://i-blog.csdnimg.cn/blog_migrate/f6adc2234e5929504aa3cfdf8be037e0.png)
2、入门
2.1 什么是数据库
数据库是“按照数据结构来组织、存储和管理数据的仓库”。是一个长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合。相比Excel,可以允许多人同时使用数据。
数据库分为数据库共有3种类型,为关系数据库、非关系型数据库和键值数据库,这里主要学习关系数据库。
- 关系数据库
关系数据库=多张表+各表之间的关系。
- SQL
用于访问和处理数据库的标准的计算机语言。
- 数据管理系统
数据库管理系统是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库。常用的数据库管理系统软件有MySQL、ORACLE、 SQL Server。
2.2 如何安装数据库
数据库的安装分为两部分,一个是mysql数据库的安装,主要是为了存放数据。另一部分是客户端Navicat的安装,主要是为了对数据库进行操作。
![a59e5d85703a0cf48420aff85307e6fc.png](https://i-blog.csdnimg.cn/blog_migrate/56101d11b6ebae78e2138f0124663b65.jpeg)
2.2.1 mysql安装教程
mysql数据库安装教程mp.weixin.qq.com![dfe3f91470bf707327c11e45b2c96e5a.png](https://i-blog.csdnimg.cn/blog_migrate/0f4238fbee7eb283c47b698f348e4a03.jpeg)
![c263d840b5498ea932734c6cda03b3d8.png](https://i-blog.csdnimg.cn/blog_migrate/efe53f01c5d4d2d295b73d296d739dc9.jpeg)
- 如何验证mysql数据库安装成功
第一步:在程序里面找到MySQL——>MySQL Server 8.0——>MySQL 8.0 command Line Client -unicode;
![e2139d158143fe270035592b09ca2a06.png](https://i-blog.csdnimg.cn/blog_migrate/e49761deab1c0e7e54b81342f22479c7.jpeg)
第二步:选择MySQL 8.0 command Line Client -unicode,打开,在红色部分输入注册的密码。
![72542b2f8b7feb3ca04d674fee7c1253.png](https://i-blog.csdnimg.cn/blog_migrate/c192db7736abc3a69bc89ba5b38746c4.png)
第三步:输入密码并回车后出现类似红色部分即为安装成功。
![58a7d36855f6d177ef3917cff2f3497f.png](https://i-blog.csdnimg.cn/blog_migrate/0b539d47a7d45046908602a5b5d3f801.jpeg)
2.2.2 客户端Navicat安装教程
客户端navicat安装教程mp.weixin.qq.com![635edb9b6599709797f52d3821a01dd9.png](https://i-blog.csdnimg.cn/blog_migrate/4bd5cd3af0d6032aa4cfce59791131ee.jpeg)
![8d86daff611a99e4cb8bd90afe1fff72.png](https://i-blog.csdnimg.cn/blog_migrate/207e46f4600cda9d1e7d60d9ae28a2e6.jpeg)
- 如何用客户端(Navicat)连接到myself数据库
第一步:打开Navicat
![6aff25fab85bb768380a951878319411.png](https://i-blog.csdnimg.cn/blog_migrate/efdffe54f426c312cdc5f30ad2c8cbb4.png)
第二步:链接mysql
![05650bfb77941d229dae46473995ff00.png](https://i-blog.csdnimg.cn/blog_migrate/19dc0e315b6eb42b8822fdf33e2742ac.png)
第三步:填写数据库链接信息,并按照下图步骤进行填写并测试,显示链接成功即可。
![3451590e312b79839117f99ffa01e7bb.png](https://i-blog.csdnimg.cn/blog_migrate/e623f15645ae2491b6d1012ae78f6a14.jpeg)
2.3 表的创建、删除和更新
2.3.1 SQL语言的基本概念
主键:指能够通过某个字段唯一区分出不同的记录,这个字段被称为主键;(对主键的要求,最关键的一点是:记录一旦插入到表中,主键最好不要再修改,因为主键是用来唯一定位记录的,修改了主键,会造成一系列的影响。主键最好是跟任何业务无关的字段。
联合主键:关系数据库实际上还允许通过多个字段唯一标识记录,即两个或更多的字段都设置为主键,这种主键被称为联合主键。(对于联合主键,允许一列有重复,只要不是所有主键列都重复即可)
MySql数据类型:主要包括文本、数字和日期/时间类型。
![b5bb85d5d29cb75bdbe6b4236280b354.png](https://i-blog.csdnimg.cn/blog_migrate/f1c2c9c00ee1bfca9ce07aab1acd4b81.jpeg)
![554062b3944590cb4ebec685a649e315.png](https://i-blog.csdnimg.cn/blog_migrate/e4e6f373ac6105473008dfa77f212aa7.jpeg)
![eddd63a249a75fffcc267c1e9f3b232d.png](https://i-blog.csdnimg.cn/blog_migrate/c338bd14c8ec27caf7062bd31f02f5d5.jpeg)
SQL分类:
![ca54590a6e754cfdbbfbf4df54412cf7.png](https://i-blog.csdnimg.cn/blog_migrate/21bd43cb26ba1e60f10e094c99f26239.jpeg)
SQL的书写规则:
![4871ff263ca0c72f6e3215d2fa4350e2.png](https://i-blog.csdnimg.cn/blog_migrate/47c73f98367a2af311866677c8b11a13.jpeg)
2.3.2 创建数据库
第一步:双击打开Navicat,链接mysql,右击新建数据库,设置数据库信息:数据库名为school;字符集和排序规则按下图所示进行设置(可以同时支持中文和英文)
![edd6fec94e48d809d833128a473c21a1.png](https://i-blog.csdnimg.cn/blog_migrate/44568bc554fa35821339f4d4912a6d6a.jpeg)
第二步:打开数据库
![8549c28db262a5f9c1ef8038f47a8868.png](https://i-blog.csdnimg.cn/blog_migrate/93deab82f3783f3fd6d29cfc25e23088.jpeg)
2.3.3 创建表
第一步:右键选择新建表
![7d04f507de38f0bd624d53738197f82b.png](https://i-blog.csdnimg.cn/blog_migrate/e2d9799464159cb6de32e961b0bfabc2.jpeg)
第二步:添加字段,设置主键
![4ac99cba13361b70cd8f74938061fa05.png](https://i-blog.csdnimg.cn/blog_migrate/56bfe7795470de214a7a0aa7cfb4c550.jpeg)
第三步:保存并命名,我这里是命名为中文名字“学生表”
第四步:按照以上步骤分别创建“课程表”“成绩表”“教师表”
![b0a9d2e8702651acf6e2f2a82e2ebd6a.png](https://i-blog.csdnimg.cn/blog_migrate/bf0cca1c6cd9e229db257b8248fd8ddd.png)
2.3.4 表的更新及删除
第一步:选中要更新的表格,右键,选择设计表,修改后点击保存即可
![cc17b85cd00d062084e48ca7ece44669.png](https://i-blog.csdnimg.cn/blog_migrate/6e3fff5509066bf7f6a4c3127550c33f.jpeg)
第二步:表格删除,选择要删除的表格,右键,选择删除即可,因为表格删除后难以恢复,所以删除许慎重
![8bfd8c0f75f821a6c32f636f4afb2fef.png](https://i-blog.csdnimg.cn/blog_migrate/10350fe7da8fb50a1fb458a90a2fc7f3.jpeg)
2.4 数据的插入、删除和更新
2.4.1 数据插入
方法一:直接打开表格输入数据
![d5b90519b64dbeb2a19c39714d02cfa7.png](https://i-blog.csdnimg.cn/blog_migrate/ac56a8b5b66d182f593ae2ca9f9935bb.jpeg)
方法二:使用SQL语言插入数据
第一步:查询-右键-新建查询
![03559b3358114016f731dc15b4874de8.png](https://i-blog.csdnimg.cn/blog_migrate/c62d209024cb9bd83ab3a01dc1d3c7d4.jpeg)
第二步:在空白区域写入SQL,如下:
![d8d9f79d6552210534a4d9f567ea8415.png](https://i-blog.csdnimg.cn/blog_migrate/5ccc353c32e467a29cddb7edefdb092a.png)
列名不能加单引号,所有的符号都是英文状态下的符号,一个命令结束要以分号结尾。
第三步:点击运行
1.常见错误:Err] 1062 - Duplicate entry '0001' for key 'PRIMARY'
原因:主键重复
解决方法:删除表格中的原数据或者修改SQL的主键
2.[Err] 1054 - Unknown column '学号,姓名' in 'field list'
原因:SQL中存在中文符号
解决方法:将SQL中的中文符号改为英文符号
第四步:打开表即可看到插入的数据
![e5edb41ff4352256a89826cdb60cf5b2.png](https://i-blog.csdnimg.cn/blog_migrate/7d0490b17a40d5cdf58a28a8c3d7805f.jpeg)
2.4.2 数据删除
方法一:选中需要删除的数据,右键,选择删除记录
![960f87350a60387e91604350bf05f6c6.png](https://i-blog.csdnimg.cn/blog_migrate/be206df7c4271ee1736c863b74e531cf.png)
方法二:SQL语句,delete语句
2.4.3 数据更新
方法一:打开表格后直接在表中进行更新
![4b0fe3ee797b447a5d4a07d09895f789.png](https://i-blog.csdnimg.cn/blog_migrate/0a4710250c7a52f75dfeae2fa38478a0.png)
方法二:使用SQL语句update。