0


MySQL进行中(二)

本节接着上节内容讲了关于增删查改的一些初级内容,

大家可以先看看,

下期升级,

我们不见不散~~~

本节主要讲述MySQL的增删查改(这里是入门阶段讲解)

1.新增数据

在新增数据之前,我们要先查看当输入字符串时,能不能输入中文,因为MySQL默认是拉丁文,如若不能,我们则要进行修改。

①不支持中文模式会存在的问题

** ②查看是否已经是支持中文模式**

输入:show variables like 'character%';

由上图表名没有成功更改为中文,因此我们需要自己来进行更改操作

③通过MySQL配置服务来进行修改

a.打开Windows输入服务

b.打开服务,同时找到正在运行的MySQL,并且右键打开属性,同时记录下文件的路径

c.在我的电脑中打开文件的路径,会出现以下文件,注意!!!修改前一定要先备份,否则,将有极大可能性导致改错后无法挽回

d.打开文件后,以#开头的均为注释,我们需要找到两行注释,将其改成以下模样

e.修改完成后的三步走战略:

1)记得保存

2)重启MySQL服务器或者重启电脑

3) 还得把之前的数据库删了,并重建新的数据库

④修改成功的显示:

如果以上步骤均无误,恭喜你修改成功

**1.1单行数据 + 全列插入 **

①格式:

insert into 表名 values(值,值,......)

②演示:

a.插入

b.查看插入值,在后面将会讲到

**1.2多行数据 + 指定列插入 **

①格式:(每行间用,隔开即可)

insert into 表名 values(值,值,......),(值,值.....);

②演示:

a.直接插入两行

b.分别分两次进入插入

两者所得到的最终结果均如下所示,但是,第一种的速度却远快于第二种,即第一种的效率更高;

c.查看插入值(后面会讲到)

2.查询数据

是SQL最核心也最复杂的部分

2.1 全列查询

①格式:(最基础的查询,是将整个行整个列全部查找出来的操作)

select*from+表名;

而在此处*是一个通配符,表示的是这张表的所有列

②演示:

③临时表:

我们所查找到的表是一个临时表,我们之前说过数据库的表是存储在硬盘,但此处数据的查询却是临时表,随着表被显示的同时,数据也就被释放了;

** ④注意:**

(select*from 实际上是一个很危险的操作)

因为生产环境保存的数据是非常大的,这就意味着MySQL服务器会疯狂的来读取硬盘数据,瞬间就会把硬盘的IO吃满,而硬盘的读取速度是存在上限的,尤其是机械硬盘,同时MySQL服务器又会立即的返回响应数据,由于返回的响应数据也很大很多,就会把网卡的宽带吃满,一旦服务器的硬盘和网络被吃满,此时数据库服务器就难以对其它的客户端的请求做出相应,而作为生产环境的服务器,需要无时无刻地给普通用户提供响应,数据库就好像废了一般。

而在实际开发中,一般公司都会对SQL的执行时间做出监控,一旦发现出现了这种长时间执行的“慢SQL”,就强制把这个SQL给杀死

2.2指定列查询

①格式:(只查询自己所关注的列)

select +列名,列名 +from+表名;

②演示:(在此就只显示name和id两列)

** ③注意:**

这种有针对性的查询在日常中工作中才更容易用到,再次提醒这些关于查找的操作是一个临时数据表,且会随着打印的同时,释放内存,对原数据没有任何的影响;

2.3查询字段为表达式

①格式及演示:(即在查询的过程中进行一些运算操作,列与列间)

a.表达式不包含字段:select id, name, 10 from exam_result;

b.表达式包含一个字段:select name, id, chinese+10 from exam_result;

c.表达式包含多个字段:select name, id, chinese+math+english from exam_result;

**2.4别名 **

①格式:(一般用于名字太长从而为了避免错误的写法):

a.一般情况下,最好把as写上,避免看错:select name, id, chinese+math+english as sum from exam_result:

b.也可以不写,但还是推荐写上:select name, id, chinese+math+english sum from exam_result:

2.5去重:DISTINCT

①格式及演示:(将重复数据去掉)

distinct关键字来进行操作

2.6排序:ORDER BY

①格式及演示:(主要是针对某些特定的条件,如升序,降序等)

select 列名......from 表名 order by 列名 asc/desc......

a.直接排序

b.针对表达式来进行排序

c.利用别名进行排序

** ②注意:**

a. asc为升序,desc为降序,而如果什么都不加,则表示默认为升序。

b.如果在待排序列中存在null,那么null将会是被认为成最小的值,要么排在升序最前面,要么排在降序最后面

2.7条件查询:where

①格式:(where后面跟具体条件)

select 列名 from 表名 +where

②比较运算符:
运算符说明>, >= , <= , <大于,大于等于,小于等于, 小于=
等于,NULL 不安全,例如 NULL = NULL 的结果是 NULL
<=>
等于,NULL 安全,例如 NULL <=> NULL 的结果是 TRUE(1)
!=, <>不等于between a and b
范围匹配,[a0, a1],如果 a0 <= value <= a1,返回 TRUE(1)
in(option,......)
如果是 option 中的任意一个,返回 TRUE(1)
is null是 nullis not null不是nulllike
模糊匹配。% 表示任意多个(包括 0 个)任意字符;_ 表示任意一个字符

a.<=相关符号示例:

b.between and示例:

注意:

当然between and也可以实现如下的同义替换:

c.in的使用:

d.is null示例:

(此图表示没有出现这种情况)

e.like 搭配通配符来进行使用的:

1、%:代表任意多个字符,当然也可以指0个字符

2、_:仅仅代表一个字符

**2.8分页查询:LIMIT **

①格式:(用limit来实现分页的操作)

3.修改数据

①格式:

update 表名 set 列名=值,列名=值 where +条件;

** ②注意:**

updata的修改是会修改数据库服务器上的数据库;

①格式:

delete from 表名 where + 条件

②示例:

③注意:

这里是删除表中的数据而得到一个空表,要是是drop table;就是连表一起进行删除了;

感谢观看~~~(#^.^#)


本文转载自: https://blog.csdn.net/weixin_58850105/article/details/123561302
版权归原作者 反内码者 所有, 如有侵权,请联系我们删除。

“MySQL进行中(二)”的评论:

还没有评论