MySQL:数据库的增删查改

我们这一篇主要介绍数据库的增删查改~

增:insert into 表名 value ();
删:delete from 表名;
查:select from 表名;
改:update 表名;

目录

1.insert(增)

2.select(查询)

2.1 全列查询

2.2 指定列查询

2.3 查询列为“表达式”

2.4 给查询结果的列,指定别名

2.5 针对列进行去重操作(distinct)

2.6 针对查询结果进行排序

2.7 where 条件查询语句

2.8 like % —

2.9. 等于 = 和 <=>

2.10 limit  offset

3.update(修改)

3.1 基础操作

3.2 使用表达式修改

3.3 同时修改多个列

3.4 搭配order by / limit 等字句来使用

 4. delete (删除)


1.insert(增)

当选定一个数据库之后,用insert可以将新的表插入到数据库之中

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

 MySQL:数据库的增删查改_第1张图片

2.select(查询)

2.1 全列查询

select * from 表名;

注意:全列查询在工作中会占用较大的硬盘和网络资源,慎用!

2.2 指定列查询

selece 列名 from 表名;

MySQL:数据库的增删查改_第2张图片

 select后面加上需要查询的列,并且列之间用逗号隔开

通过指定列查询,会比上面的查询全列工作量小很多~

2.3 查询列为“表达式”

select 表达式 from 表名; 

MySQL:数据库的增删查改_第3张图片

 表达式查询,只是针对每一行的对应列进行计算,无法进行 行与行 之间的计算。

需要注意的是,进行表达式查询的时候,查询结果是一个“临时表”,这个“临时表”并不会写入到硬盘中,临时表的类型也不和原来的表是一样的。

select只是查询,不论如何操作,select都不会修改硬盘上的数据。MySQL:数据库的增删查改_第4张图片

2.4 给查询结果的列,指定别名

运用关键字:total

MySQL:数据库的增删查改_第5张图片

 total前面的 as 可加可不加,但是加上会减少错误的产生~

但是如果出现了小数点的不匹配会是什么样的情况呢?

MySQL:数据库的增删查改_第6张图片

2.5 针对列进行去重操作(distinct)

select distinct Chinese from 列名;

MySQL:数据库的增删查改_第7张图片

 第一个表中,运用了关键字distinct但是Chinese中重复的分数还是出现了,第二个表中,Chinese并没有出现重复的数据,这是因为distinct只能将select到的列中的数据,整行整行的对比,只有一整行相同才能消除相同的数据。

即当指定多个列的时候,要求所有的列都相同,才算重复。

2.6 针对查询结果进行排序

select * from 表名 order by 列名; 

MySQL:数据库的增删查改_第8张图片

 只使用order by 进行排序时,默认是升序

关于排序:

1.order by 默认排序是升序(asc),如果要降序,需要在后面加上desc(descend)。

2.SQL中没有显式的写order by,认为查询结果的顺序,是不可预期的,写代码不能依赖自带的顺序。

3.如果是要排序的列中,有NULL,NULL视为“最小值”。

4.NULL和任何值运算,结果还是NULL。

2.7 where 条件查询语句

select English from grades where _______________

根据查询的结果,按进行筛选。通过where指定一个条件,把符合条件的,作为临时表结果显示出来~

但是想要描述这些条件,就需要有一些 关系运算符 逻辑运算符 

MySQL:数据库的增删查改_第9张图片

MySQL:数据库的增删查改_第10张图片

2.8 like % —

%(百分号)和_(下划线)是搭配where使用的:

在%和_之前需要加上like

%可以表示任意个字符,例如:

孙%    代表以孙开头的内容,都能查询出来

%孙    代表以孙结尾的内容,都能查询出来

%孙% 代表无论是开头还是结尾,只要是包含孙就能查询出来

_表示一个字符,仅仅匹配一个字

_孙_  仅仅表示前面一个字,后面一个字,孙在中间MySQL:数据库的增删查改_第11张图片

2.9. 等于 = 和 <=>

在MySQL中,= 和 <=>意思相近,但区别是:

=是不安全的比较,在出现null = null时,结果还是null,会被当成falseMySQL:数据库的增删查改_第12张图片

 但是使用  <=> 比较,就不会出现这样的情况MySQL:数据库的增删查改_第13张图片

2.10 limit  offset

查询操作中,引入了一个limit,通过这个东西来限制查询结果的数量

直接在查询语句的末尾加上limit指定N,N就代表这次查询最大结果的数量

MySQL:数据库的增删查改_第14张图片

 同时limit可以搭配升序降序操作,来完成一些查询,例如分页查询

limit搭配offset就可以指定从第几条开始筛选

MySQL:数据库的增删查改_第15张图片

3.update(修改)

很多同学把目光集中在select上,但是别忽视update~这个操作会直接修改服务器中硬盘的数据


3.1 基础操作

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

MySQL:数据库的增删查改_第16张图片

 可以看到,我们修改了price的值,条件是author为曹雪芹

3.2 使用表达式修改

例如:

update student set age = age - 5;

MySQL:数据库的增删查改_第17张图片

这里就是把age = age-  5当成表达式,要注意如果没有写where,那么该修改就是对所以的数据进行操作,但是空值不参加运算。

3.3 同时修改多个列

多个列之间,用逗号来分隔

MySQL:数据库的增删查改_第18张图片

3.4 搭配order by / limit 等字句来使用

MySQL:数据库的增删查改_第19张图片

update这里的条件是至关重要的,只要是需要条件筛选,务必保证条件正确,千万要慎重,不要把不该改的给改了。

 4. delete (删除)

delete也是危险操作,只要是操作生产环境的数据库,都是非常危险的!

delete from 表名 where 条件;

MySQL:数据库的增删查改_第20张图片

 后面的条件和update一样,可以支持where,order by, limit。

如果没条件,就是把整个表里所有的记录都删了。

这篇文章先到这里~下一篇我们再继续接着学习~

你可能感兴趣的:(数据库,mysql,sql)