MySQL数据库操作基础(增删查改)

作者 : admin 本文共2300个字,预计阅读时间需要6分钟 发布时间: 2024-06-9 共3人阅读

数据库操作基础(增删查改)

1.插入

1.1往数据表中插入一条数据

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

此处列出的这些值的数目和类型 要和表的相对应

MySQL数据库操作基础(增删查改)插图

1.2指定列插入

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

MySQL数据库操作基础(增删查改)插图(1)

MySQL数据库操作基础(增删查改)插图(2)

1.3一次插入多个记录

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

MySQL数据库操作基础(增删查改)插图(3)

一次插入多行记录效率 往往高于 一次插入一条记录,分多次插入

2.查询

2.1 全列查询

select * from 表名;

这个操作,就是查询出当前数据库中所有的行和列

*****能够代表所有的列

MySQL数据库操作基础(增删查改)插图(4)

2.2 指定列查询

select 列名,列名.. from 表名;

手动指定要查询的某一列或某几列~~ 服务器返回的结果,就只包含想要的数据~~

MySQL数据库操作基础(增删查改)插图(5)

2.3 查询字段为表达式

查询的同时,可以进行计算

eg:MySQL数据库操作基础(增删查改)插图(6)

MySQL数据库操作基础(增删查改)插图(7)

2.4 查询的时候给列/表达式 指定别名 as

select 列名 as 别名 from 表名;

as 关键字,可以省略,但是不建议 ,写上 as 会更容易看,别名会最终显示在查询结果的临时表中.

MySQL数据库操作基础(增删查改)插图(8)

2.5查询时去重 distinct

select distinct 列名 from 表名;

查询的时候,把重复的行,去掉,只保留一份~~

MySQL数据库操作基础(增删查改)插图(9)

2.6排序查询 order by —– asc/desc

针对查询到的结果进行排序,

mysql 是一个客服端-服务器结构的程序~~,因此这里的排序,也是针对临时表进行的,对于数据库服务器上的原始数据没有任何顺序上的影响

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

asc 是升序,不写也是默认升序

desc 降序

MySQL数据库操作基础(增删查改)插图(10)

如果SQL中没有指定 order by,则我们不能确定他是有顺序的,虽然有时候我们看着是有顺序的,但是我们不能依赖这个顺序,因为mysql没有说他是有序的


order by 还能指定多个列排序~~(order by 后面可以写多个列~)

MySQL数据库操作基础(增删查改)插图(11)

2.7条件查询: where

2.7.1 运算符

指定一个筛选条件,把符合条件的结果保留下来,不符合的就剔除掉~~

关系运算符

MySQL数据库操作基础(增删查改)插图(12)

逻辑运算符

MySQL数据库操作基础(增删查改)插图(13)

注:

  1. where 条件可以使用表达式,但不能使用别名。
  2. 多个条件时,使用 () 来确保正确的顺序

2.7.2 基本查询

eg:

– 查询英语不及格的同学及英语成绩 ( < 60 )

MySQL数据库操作基础(增删查改)插图(14)

– 查询语文成绩好于英语成绩的同学

注: 条件比较的时候,并不只是使用列名和常量比较(math>60),也可以使用列名和其他列名比较~~

MySQL数据库操作基础(增删查改)插图(15)

–查询总分在 200 分以下的同学

注: 条件查询,也可以结合一些更复杂的表达式

MySQL数据库操作基础(增删查改)插图(16)

mysql 的 where 条件中,无法使用 的别名

MySQL数据库操作基础(增删查改)插图(17)

and 与 or

MySQL数据库操作基础(增删查改)插图(18)

2.7.3 范围查询

between and —查询这个区间

eg: 查询语文成绩在 [80,90] 分的同学及语文成绩

MySQL数据库操作基础(增删查改)插图(19)

注: 可以看出也能用 and 来实现,但是 between and 更方便

in 查询符合要求的

MySQL数据库操作基础(增删查改)插图(20)

2.7.4** 模糊查询 like**

mysql 进行 like 模糊查询,低效,实际开发,慎重使用

% 匹配任意多个(包括 0 个)字符

_ 匹配严格的一个任意字符

MySQL数据库操作基础(增删查改)插图(21)

2.7.5 null 查询 – > is[not]null

MySQL数据库操作基础(增删查改)插图(22)

null 与其他运算的结果还是 null,即最后结果相当于 false

MySQL数据库操作基础(增删查改)插图(23)

可以理解为 equals ,比较 两个值是否相同

MySQL数据库操作基础(增删查改)插图(24)


2.8分页查询 limit , offset 偏移量

LIMIT出现在查询语句的最后,可以使用一个参数或两个参数来限制取出的数据。其中第一个参数代表偏移量:offset(可选参数),第二个参数代表取出的数据条数:rows。

  • 单参数用法

当指定一个参数时,默认省略了偏移量,即偏移量为0,从第一行数据开始取,一共取rows条。

/* 查询前5条数据 */
SELECT * FROM Student LIMIT 5;
  • 双参数用法

当指定两个参数时,需要注意偏移量的取值是从0开始的,此时可以有两种写法:

/* 查询第1-10条数据 */
SELECT * FROM Student LIMIT 0,10;
/* 查询第11-20条数据 */
SELECT * FROM Student LIMIT 10 OFFSET 10;// 

针对查询出来的结果,进行 截取 ,取出其中的一个部分~~

MySQL数据库操作基础(增删查改)插图(25)

就像是四个一页

MySQL数据库操作基础(增删查改)插图(26)

offset 就是相当于 从哪一个开始算

上述八种查询的写法比较基础,也是经常用到的,熟练掌握即可,多写,多练


3.修改 update

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

进行修好,要明确一些信息

  1. 改哪个表
  2. 改这个表里的哪个列/哪些列,改成什么
  3. 改这个表的哪些行

将孙悟空同学的数学成绩变为 80 分

MySQL数据库操作基础(增删查改)插图(27)


将曹孟德同学的数学成绩变更为 60 分, 语文成绩变更为 70 分;

update 表名 set chinese = 70, math = 60 where name = '曹孟德';

MySQL数据库操作基础(增删查改)插图(28)


修改操作,也可以搭配 order by 这样的排序操作

eg : 将总成绩倒数前三的 3 位同学的数学成绩加上 10 分

update 表名 set math = math + 10 order by chinese + math + english limit 3;

注意: 修改时也要结合一下数据范围,不要超出,不然会报错

例如加上 30 分会超过范围

MySQL数据库操作基础(增删查改)插图(29)

​ 由此,可以知道, update可以理解成,先查询,再修改,即先查询一下看修改后的是否符合条件,然后在进行修改


如果update 后面没有指定任何条件,则会把所有的行都进行修改

update 表名 set math = 0;

MySQL数据库操作基础(增删查改)插图(30)

由此可见, update 也是一个很危险的操作,更改甚至比误删的后果还要大,也要谨慎使用.

4.删除 delete

delete from 表名 where 条件;

直接删除 符合条件 的行~~

eg: 删除 孙悟空 的成绩

delete from 表名 where name = '孙悟空';

如果在 delete 的时候,没有指定条件,就会把整个表的所有数据都删掉!!

delete from 删除之后,表还在,表里的数据,没了~~

drop table 删除之后,表和表里的数据都没了~~

本站无任何商业行为
个人在线分享 » MySQL数据库操作基础(增删查改)
E-->