sql学习目标
-
重点掌握如何使用 SQL 从数据表中:
- 查询数据(select)
- 插入数据(insert into)
- 更新数据(update)
- 删除数据(delete)
额外需要掌握的 4 种 SQL 语法:
where 条件、and 和 or 运算符、order by 排序、count(*) 函数
下载安装phpstudy
功能:为我们提供mysql数据库
https://www.xp.cn/
安装
下载安装:目录不要有中文
启动
它启动之后,我们的电脑就变成了数据库服务器
下载安装navicat
功能:为我们提供连接、操作mysql数据库的功能
下载
http://www.navicat.com.cn/products#navicat
安装
双击,一路next
使用
找到应用程序,点击启动
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VRBxw3OA-1623036696894)(asset/image-20210326004528558.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ylhdbEfZ-1623036696901)(asset/image-20210326004657179.png)]
如果 连接测试通过,接下来就可以点击确定按钮,正式连入mysql了。
连入后的效果如下:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AY8J90gh-1623036696905)(asset/image-20210326004850983.png)]
数据库简介
什么是数据库
英文: database
保存和管理数据的仓库就是数据库。
什么是数据? 文件,图片,视频,订单,用户名,密码等等。
这些数据都需要有专门的地方来保存和管理。
在我们没有学习数据库技术之前,我们使用的数据都是以文件系统(db.json)的方式保存的。我们需要一个专门的软件来管理我们的数据, 这就是数据库。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-02230rdW-1623036696909)(asset/image-20210327105551631.png)]
两大阵营-数据库分类
- 关系型数据库,代表产品:
- MySQL
- Oracle
- Sql server
- DB2
- 非关系型数据库
- redis 键值存储数据库
- HBaise列存储数据库
- mongodb 面向文档数据库
- neo4j 图形数据库
- Elasticsearch 搜索引擎存储
参考:数据库使用排名 https://db-engines.com/en/ranking
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NZpX7cWl-1623036696912)(asset/image-20210327105713346.png)]
理解关系型数据库
在关系型数据库中,存在三级关系:
- 数据库
- 数据表
- 字段
类比excel:
![1575526384878](asset/1575526384878.png)
- 每一列都是一类数据 —
字段
- 每一行代表一条数据 —
记录
数据库 | excel文件 |
---|---|
数据库 | excel文件 |
数据表 | excel文件中的某一个sheet |
表结构:字段 | sheet中的表头:列 |
MySQL简介
![1562659793142](asset/1562659793142.png)
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品 。MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。
3p技术:php,asp,jsp
安装MySQL-用phpstudy集成
-
单独安装mysql
-
集成安装
由于mysql,apache,php是经典的开者伙伴,市面上有很多的集成环境(一个大的软件,其中已经配置好了这三个软件),我们也可以使用它们。优点在于:基本不需要配置,使用比较方便。这样的集成环境有:
-
wampserver
-
phpstudy
-
appserv
-
我们以phpstudy为例,去官网下载安装。值得提醒的是,当我们安装完MySQL后,我们的计算机又变成服务器了,不过不是Web服务器,而是MySQL数据库服务器了。
操作数据库-用navicat
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ehivaHsp-1623036696915)(asset/image-20210327111031343.png)]
新建数据库
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gBfyHBvv-1623036696917)(asset/image-20210326214339683.png)]
在弹出的窗口中填写数据库名即可。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CNQ63a3P-1623036696919)(asset/image-20210326214518694.png)]
点击确定之后,会在左侧的数据库列中看到上面创建成功的数据库。
新建数据表
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OFdzY8Yr-1623036696921)(asset/image-20210326214641971.png)]
点击 “新建表”, 然后在开始设置字段
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GzwGM4jR-1623036696922)(asset/image-20210326215241314.png)]
主键: 作用是区别一条数据和其它数据。(它相当于人的身份证号)
设置字段完成之后,点击上图左上角所示的保存按钮,就会进一步弹出对话框,让填写表的名字。
我们填入user
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HtB2htok-1623036696923)(asset/image-20210326215618338.png)]
编辑字段
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HjHo16Uo-1623036696924)(asset/image-20210326215747060.png)]
添加数据
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SjwmyIH3-1623036696925)(asset/image-20210326220037897.png)]
一条内容输入完成后,按下tab,会自动进入下一条记录的输入
学习使用SQL语句
结构化查询语言(Structured Query Language)简称SQL,用来操作关系型数据库:
-
是一种数据库查询和程序设计语言,用来存取数据以及查询、更新、和管理关系型数据库。
-
.sql是数据库脚本文件的扩展名。
最常用的用于数据操作的sql语句有四类,分别对应对数据的四种操作:
- 增(create)(例如:用户注册)
- 删(delete) (例如:删除订单)
- 改(update) (例如:修改密码)
- 查(select , read) (例如:信息搜索)
在navicat中运行sql - 添加数据
打开sql编辑区
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rOC4tPGC-1623036696926)(asset/image-20210326220739107.png)]
然后:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ciZ8rGma-1623036696928)(asset/image-20210326220954969.png)]
学习 sql中的insert into 命令
格式:
insert into 表名(字段名1,字段名2,....) values (值1,值2,....)
注意:
- 字段的顺序要和值的顺序是完全匹配的
- 字段列表可以不与真实数据表中的字段完全相等,
- 可以省略一些不必要的字段
- 顺序与不需要与定义表时的顺序一致
- 如果是字符串类型的字段,其值要加"",如果是数值类型的字符串,其值不需要加“”
示例:
insert into stu (sex, weight, name) values ('男', 60, '庞凯')
sql-delete语句-删除数据
格式
delete from 表名 where 删除条件
注意:不指定条件将删除所有数据
示例
-- 删除id为14的同学
delete from stu where id=14
-- 删除的时候,不加条件,将删除stu表中的全部记录
delete from stu
sql-update语句-修改数据
格式
update 表名 set 字段1=值1, 字段2=值2,... where 修改条件
注意:
- 要修改的值使用键值对来表示
- 多个字段用,分隔
- 不指定条件,将修改当前表中全部的记录
示例
-- 修改id为1的同学的年龄为53
update stu set age=53 where id = 1
-- 修改id为1的同学的年龄为35,身高为160
update stu set age=35,he