之前经历了考研一年被哈工大刷了,编程技术有些耽搁了,本来想直接做项目练手,漏洞太多不得不基础过一遍。
前言
做项目做不下去,很多基础的知识已经遗忘,打算之前学习的路线再系统的学习一下。
工具和常见问题
dbeaver(据说很方便没有尝试) phpstudy :即开即用(在用这个) navicat,sqlyog :常规工具 Tip:
-
5.7版本的端口号是13306 ;8.0版本的是3306 -
出现这个问题是因为你没有开启MySQL服务器从学校做实验开始到现在都有人问我这个问题!!!! -
这个是因为你连接的的用户名和密码不正确。 -
这个只有8.0版本会遇到这个问题,是因为加密规则和5.7的不一致。解决办法是①:升级图形界面工具版本。②:把加密规则还原为5.7的样子 -
还有就是服务不能自动开启的话可能是因为安装时放在了中文的文件夹下面,或者私自移动过安装好的源路径。 然后现在开始开启MySQL,我这里用的是php集成环境
一、非关系型数据库
关系型数据库:实体与实体之间联系的集合构成一个关系数据库。(多个实体) 非关系型数据库:统称为NoSQL
二、关系型数据库设计规则
注释
别名
annual sal 中间有空格不能当做一个整体的别名,需要加双引号才能把整体当作别名
去除重复行:DISTINCT
null
null并不是0 在计算时有null参与的运算结果都为null
着重号
跟关键字重名的表用着重号标明。
显示表结构
WHERE过滤条件
WHERE优先放在FROM后面
<=>安全等于(为null而生)
安全等于和普通等于的却区别
运算符
like模糊查询
排序与分页
默认升序排列
列的别名只能在ORDER BY中使用,不能在WHERE中使用
WHERE和 ORDER BY的顺序
分页
查询数据库时有大量数据库时,进行分页更加的人性化 LIMIT: LIMIT 10 意思就是 LIMIT 0,10 ,表示每页显示十条记录显示第一页 LIMIT分页声明 第一页是从0开始
LIMIT的位置
8.0版本新特性
多表查询(关联查询)
为什么要进行多表查询:通俗来说就是在查询的时候,如果需要得到多个表中的 某些 字段,需要多次的select操作,而多表查询直接一次就可以查到位。
缺少连接条件而产生错误
正确操作
可以给表起别名,在SELECT和WHERE中使用表的别名。 如果给表起了别名,一旦在SELECT和WHERE中使用表的别名,则必须要使用表的别名,而不能用原名否则报错。 如果少于n-1个,则肯定会产生笛卡尔积的错误
多表查询的分类
硬骨头 内连接外连接
内连接
刚才做的操作其实都是内连接
外连接
有 所有 这个字样,一定是个外连接 以上是sql92语法
sql99语法
关于满外连接 Mysql不支持 FULL JOIN
99的7种方式
union和union all 推荐使用ON,USING的使用范围比较窄
总结
这是跟着尚硅谷的课程学习的,课程感觉挺好的还打算继续下去。先更一篇。
|