【MySQL数据库】 三

本文主要介绍了mysql的数据增加/查询/修改和删除操作 .

SQL最核心的就是增删改查(CRUD)

* c         create

* r         read

* u         update

* d         delete

一.新增

1.往数据表中插入一条数据

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

2.插入中文

3.指定列插入

4.一次插入多个记录

注意:

  • SQL没有 字符 类型

所以字符串用单引号/双引号都可以

  • 插入中文的前提是创建数据库的时候设置了utf8为字符集,否则会出现乱码/报错

二.查询

查询语句让我们能看到表中包含的数据结构

1.全列查询

select * from 表名 ;

【MySQL数据库】 三_第1张图片

注意:

  • select * 是一个非常危险的操作 : 如果某个表的数据非常非常多,如果查询这个表所有的数据,那么服务器就会把所有记录放回给客户端,导致一瞬间这个服务器硬盘的带宽和网卡的带宽被吃满 ! 很容易卡死!

2.指定列查询

【MySQL数据库】 三_第2张图片

3.查询字段为表达式

查询的同时可以计算

(所有人成绩加10)

【MySQL数据库】 三_第3张图片

  • 此处客户端中显示的结果是一个临时表,select不管怎么写,都不会影响到数据库服务器上的数据

4.查询的时候给lie/表达式 指定别名

【MySQL数据库】 三_第4张图片

  • 也可以给表名用as设置别名

5.查询时去重

把重复的行只保留一份

select distinct 列名 from 表名;

【MySQL数据库】 三_第5张图片

6.排序查询

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

  • 默认是升序(小的在前)
  • desc是降序(大的在前)

select 列名 from 表名 order by 列名 ;

【MySQL数据库】 三_第6张图片

  • 降序 desc是descend下降的缩写

【MySQL数据库】 三_第7张图片

  • 多个列排序

先按前面列排,如果前面的相同,按后面的排

【MySQL数据库】 三_第8张图片

7.条件查询

  • 关系运算符

【MySQL数据库】 三_第9张图片

注意:

  • = 运算符不能比较NULL
  • <> 和 != 是等价的,都是表示不相等

  • 逻辑运算符

【MySQL数据库】 三_第10张图片

查询语句执行的过程

1.服务器先遍历每一个记录

2.这对每条记录,看条件是否成立

3.如果成立,就将这一条加入结果集 ; 如果不成立 , 跳过 ;

比如

查询总分小于200的人

【MySQL数据库】 三_第11张图片

注意:

  • 在条件中,不能尝试用别名 ! (比如条件里用total)

8.分页查询limit

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

【MySQL数据库】 三_第12张图片

limit 4 约束了最多包含几个记录

【MySQL数据库】 三_第13张图片

offset 4约束了从第几条开始算(相当于下标)


上述八种select 的写法,都是select最基础的写法,也是工作中最常用的写法

三.修改update (最最基础的操作)

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

将孙悟空的数学成绩修改为80

  • 注意: = 在此处不是相等 ,而是 赋值 了.
  • 此处的修改是修改mysql服务器保存在硬盘上的数据(持久生效)

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

查询总成绩最后三名的同学

【MySQL数据库】 三_第14张图片

给总成绩最后三名的同学语文成绩加10分

【MySQL数据库】 三_第15张图片

【MySQL数据库】 三_第16张图片

  • select中支持中的条件/排序/分页,对于update来说同样生效

        update可以理解成先查询再修改

  • update如果不指定任何条件,那么会把所有的行都进行修改 ! !

        因此update操作也是非常危险的 !

四.删除delete

delete from 表名 where 条件 ;

直接删除符合条件的行

注意

  • 删除是按照行来删除的,无法删除某些列
  • 如果在delete的时候,没有指定条件,那么就会把整个表的数据都删除

和drop table 差不多 , 但是表还在 .


总结

【MySQL数据库】 三_第17张图片

四种语句的接口风格不是统一的 .

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