MySQL-初阶CRUD

一.CRUD

  • 什么是CRUD
    CRUD就是增加(Create)查询(Retrieve)更新(Update)删除(Delete)四个单词的首字母缩写。
  • 注释:在SQL中可以使用“--空格+描述”来表示注释说明

二.新增(Create)

首先我们先创建一个student表,接下来在实战中具体看看怎么插入数据:
在这里插入图片描述

1.单行插入

  • 语法示例:

    insert into(字段1,...,字段n) values (value 1,...,value n);
    
  • 用法示例:
    在这里插入图片描述在这里插入图片描述

  • 注意事项:
    value list数量必须和定义表的列的数量及顺序一致

2.多行插入

  • 语法示例:

    insert into(字段1,...,字段n) values
    (value1,...),
    (value2,...),
    (value3,...);
    
  • 用法示例:
    在这里插入图片描述

  • 注意事项:
    value list 数量必须和指定列数量及顺序一致

三.查询(Retrieve)

1.全列查询

通常情况下不建议使用 * 进行全列查询:

  • 查询的列越多,意味着需要传输的数据量越大
  • 可能会影响到索引的使用。

语法示例:

SELECT * FROM exam_result;

在这里插入图片描述

2.指定列查询

指定列的顺序不需要按定义表的顺序来

语法示例:

select 字段1,字段2,字段3 from;

在这里插入图片描述

3.查询字段为表达式

首先我们重新创建一个表grade:
在这里插入图片描述
语法示例:

-- 表达式不包含字段
select id, name, 10 from grade;
-- 表达式包含一个字段
select id, name, english + 10 from grade;
-- 表达式包含多个字段
select id, name, chinese + math + english from grade;

在这里插入图片描述

4.别名

为查询结果中的列指定别名,表示返回的结果集中,以别名作为该列的名称

select 字段1,字段2+字段3+字段4 别名 from;

在这里插入图片描述

5.去重:distinct

使用distinct关键字对某列数据进行去重

语法示例:

select distinct 字段 from;

原来有5个的英语成绩,去掉重复的后只有4个英语成绩了
在这里插入图片描述

6.排序:order by

排序分为两种:

  1. 升序 ASC
  2. 降序 DESC

注意事项:

  1. 如果没有说明是那种排序的情况下,默认为 ASC
  2. NULL 数据排序,视为比任何值都,升序出现在最上面,降序出现在最下面
  3. 可以使用表达式及别名排序
  4. 可以对多个字段进行排序,排序优先级随书写顺序

语法示例:

select * fromorder by 排序字段 (desc/asc);

这里没有具体写 asc 还是 desc ,就是默认升序
在这里插入图片描述
如果是降序,就必须写上desc:
在这里插入图片描述

7.条件查询:where

比较运算符:
在这里插入图片描述
逻辑运算符:
在这里插入图片描述
注意事项:

  1. WHERE条件可以使用表达式,但不能使用别名。
  2. AND的优先级高于OR,在同时使用时,需要使用小括号()包裹优先执行的部分

范围查询:

between ... and ...
在这里插入图片描述
in
在这里插入图片描述

模糊查询:LIKE

% 匹配任意多个(包括 0 个)字符
_ 匹配严格的一个任意字符
在这里插入图片描述

NULL 的查询:IS [NOT] NULL

在这里插入图片描述

8.分页查询:limit

语法示例:

select ... FROMwhere order by ... limit n offset s;

这里我们看个例子帮助理解:
在这里插入图片描述

四.修改(Update)

语法示例:

updateset 字段1=value1,字段2=value2,... where 条件;

在这里插入图片描述

五.删除(Delete)

语法示例:

delete fromwhere 条件;

在这里插入图片描述

六.总结(赶时间必看)

1.新增

单行插入

insert into(字段1, ..., 字段N) values (value1, ..., value N);

多行插入

insert into(字段1, ..., 字段N) values
(value1, ...),
(value2, ...),
(value3, ...);

2.查询

全列查询

select * from

指定列查询

select 字段1,字段2... from;

查询表达式字段

select 字段1+100,字段2+字段3 from;

别名

select 字段1 别名1, 字段2 别名2 from;

去重distinct

select distinct 字段 from;

排序order by

select * fromorder by 排序字段;

条件查询where

select * fromwhere 条件;
  1. 比较运算符

  2. BETWEEN … AND …

  3. in

  4. is null

  5. like

  6. and

  7. or

  8. not

3.修改

updateset 字段1=value1, 字段2=value2... where 条件;

4.删除

delete fromwhere 条件;

猜你喜欢

转载自blog.csdn.net/weixin_55752048/article/details/123462588