mysql8安装教程 mysql8安装教程教学详解

mysql8安装教程 mysql8安装教程教学详解,第1张

1、从网上下载MySQL8.0.12版本,下载地址

2、下载完成后解压

3、我解压的路径是:D:\Java\mysql-8.0.12-winx64

4、配置文件:首先在解压的路径下查看是否含有my.ini的文件,如果没有则新建一个,内容如下:数据库配置:通过管理员权限进入cmd(如果不是管理员权限就会出现问题) ,进入MySQL安装目录的bin目录下

5、接着输入mysqld --initialize --console,就会出现以下画面,其中标红的为数据库root用户的初始密码,一定要牢记,后面登录需要用到,当然要是不小心关掉了或者没记住,删掉初始化的 data目录,再执行一遍初始化命令又会重新生成。

6、再然后输入mysqld --install安装mysql服务,输入net start mysql启动服务,备注:mysqld --remove是卸载MySQL服务,net stop mysql是停止服务。

7、进入数据库的配置:输入mysql -u root -p后会让你输入密码,密码为前面让你记住的密码,输入正确后就会出现如下界面,表示进入了MySQL命令模式。

8、接着更改密码,输入ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码'出现如下界面表示更改成功。

9、到此,MySQL8.0.12数据库就安装完成了。

        在上一文章 《 【技术干货】作为测试,你必须知道的MySQL知识(一) 》 中我们已经学了MySQL基础知识。对于 最常用、最重要 的select语句将会在本文与大家分享,带你轻松搞定查询语句。

    学习select之前,需先知道查询语句 逻辑执行顺序 ,了解了逻辑执行顺序,对我们写select语句有帮助,但是需要注意的是,逻辑顺序并不是真正执行的顺序,因为MySQL 优化器 会将SQL子句按最优的路径执行。如果想要查看实际执行顺序,可使用Explain关键字进行分析,获取对应的执行计划。

查询语句的使用都离不开以下的格式:

需要记住,这是学好查询语句的基础~

以上select的逻辑执行顺序如下(前面的序号):

 查询语句中where后面支持多种运算符,进行条件的处理,其中常见运算符包括:比较运算、逻辑运算、模糊查询、范围查询、空判断。

① 等于: =

② 大于: >

③ 大于等于: >=

④ 小于: <

⑤ 小于等于: <=

⑥ 不等于: != 或 <>

① and

② or

③ not

【模糊查询语法】:字段名 like <匹配字段字符串>

【常见的匹配字段字符串】:%、_、[] 、[^]

① in:表示在一个非连续的范围内

② between ... and ...:表示在一个连续的范围内

① 判断为空:is null

② 判断非空:is not null

【注意】:null与''是不同的。

使用JOIN 来联合多表查询,JOIN 按照功能大致分为如下三类:

① INNER JOIN(内连接) : 获取两个表中字段匹配关系的记录。

② LEFT JOIN(左连接) : 获取左表所有记录,即使右表没有对应匹配的记录。

③ RIGHT JOIN(右连接) : 与 LEFT JOIN 相反,用于获取右表所有记录,即使左表没有对应匹配的记录。

->【举个栗子】:对表t_user与表t_order进行内连接

->【举个栗子】:对表t_user与表t_order进行左连接

->【举个栗子】:对表t_user与表t_order进行右连接

① 内连接: 保留两表中交集的记录;

② 左连接: 左表全部保留,右表关联不上用null表示;

③ 右连接: 右表全部保留,左表关联不上的用null表示。

group by语句是根据一个或多个列对结果集进行分组。在分组的列上我们经常会使用到 聚合函数 ,因此,先了解 常用的聚合函数 :

① sum():求和

② avg():求平均数

③ count():统计记录条数

④ max():求最大值

⑤ min():求最小值

【group by语法】:

可以根据某个字段(column_name)进行分组。如果不指定分组字段,默认将所有记录作为一组。

->【举个栗子】: 在emp表中,有3个字段,一个是员工id(id),一个是部门id(dept_id),一个是员工薪水(salary)

【注意】:

①  使用group by的select语句中的字段,应该 出现在 聚合函数 中,或者 出现在 group by 中;

②  having 子句可以使用聚合函数,而 where 子句不能使用。

③从逻辑执行过程可知: where 是没有分组前对所有数据进行过滤, having 是对分组后的数据进行过滤。

子查询是指一个查询语句嵌套在另一个查询语句内部的查询。

->【举个栗子】: 一张user表,有2个字段,一个是名称(name),一个是年龄(age),查询出比小李年龄高的人有哪些?

- >【举个栗子】: 获取员工工资低于所在部门的平均工资的员工信息

    要对某个字段进行降序,可以在查询语句后可使用:order by <排序的字段名>desc

     要对某个字段进行升序,可以在查询语句后可使用:order by <排序的字段名>asc

【注意】:order by默认情况下是升序,asc可省略不写。

     有2个维度的排序时,使用逗号隔开2个排序,优先使用前者进行排序,再使用后者进行排序。

    limit:限制查询数据条数,经常在分页的场景中应用。LIMIT子句接受一个或两个参数。参数值都必须为零或正整数。limit的使用格式:

【参数解释】:

limit N :  返回 N 条记录

offset M :  跳过 M 条记录, 默认 M=0

limit N,M :  从第 N 条记录开始, 返回 M 条记录。

->【举个栗子】:

【注意】:limit的两个参数中:

① 第1个参数:指要返回的第一行的偏移量。第一行的偏移量为0,而不是1;

② 第2个参数:指要返回的记录行数。

  如上面"检索6-15行记录"例子中,第1个参数为5,其实指的是第6行;第2个参数为10,指的是从第6行开始,取10条记录,所以是获取到6-15的记录。

    当需要查询出某个字段不重复的记录时,可以使用distinct来过滤重复的记录,格式如下:

使用distinct可以进行单字段去重、多字段去重、所有字段去重、以及与聚合函数的综合使用。

-->【举个栗子】: student表中有name、age、weight3个字段字段。

    使用distinct之后,只能返回去重的字段,而不能返回其他的字段,可以使用group by进行去重查询,

【注意】:

①  distinct 只能在select语句中使用;

②   distinct 必须在所有字段的最前面;

③ 多个字段去重时,多个字段组合后一样时才会被去重;

④ 列中有null值,当对该列使用distinct子句,将保留一个null值(所有null值被视为相同的值)。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/8627264.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-19
下一篇 2023-04-19

发表评论

登录后才能评论

评论列表(0条)

保存