资讯专栏INFORMATION COLUMN

MySQL: 表的增删改查(基础)

RobinTang / 1522人阅读

摘要:注释在中可以使用空格描述来表示注释说明即增加查询更新删除四个单词的首字母缩写。

1.CRUD

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

2.新增(Create)

先创建一个表,才能插入数据。
注:以下全部操作都是通过这个表实现

2.1 单行数据 + 全列插入

– 插入两条记录,value_list 数量必须和定义表的列的数量及顺序一致
INSERT INTO student VALUES (1, 100, ‘C罗’, NULL);//NULL表示空值
INSERT INTO student VALUES (2, 101, ‘梅西’, ‘11111’);

2.2 多行数据 + 指定列插入

– 插入两条记录,value_list 数量必须和指定列数量及顺序一致
insert into student (id,sn,name) values
(3, 102, ‘莱万’),
(4, 103, ‘内马尔’);

3. 查询(Retrieve)

– 通常情况下不建议使用 * 进行全列查询
– 1. 查询的列越多,意味着需要传输的数据量越大;
– 2. 可能会影响到索引的使用。(索引待后面课程讲解)
SELECT * FROM exam_result;

3.1 全列查询

select * from student;//查询student这个表的全部信息

3.2 指定列查询

select id, name from student;//查询student表的id和name信息

相对于全列查询来说,指定列查询更加好,但仍然需要注意尽量不要再线上进行查询,因为可能表太大导致机器的磁盘IO与网络宽带被占满。

3.3 查询字段为表达式

select id+sn from student;//查询id+sn表达式之和
select id+sn ,name from student;//查询id+sn表达式加name列

3.4 别名

select name, id+sn sum from student;//用sum代替id+sn

3.5 去重:DISTINCT

select distinct mail from student;

注:在执行此语句的时候时,我执行了insert into student values(5,104,‘小罗’,‘11111’);语句,因此邮箱也重复了。

3.6 排序:ORDER BY

– ASC 为升序(从小到大)
– DESC 为降序(从大到小)
– 默认为 ASC

此时的表如下:

  1. 没有 ORDER BY 子句的查询,返回的顺序是未定义的,永远不要依赖这个顺序
  2. NULL 数据排序,视为比任何值都小,升序出现在最上面,降序出现在最下面
  3. 使用表达式及别名排序
  4. 可以对多个字段进行排序,排序优先级随书写顺序

– 查询同学id,sn,mail之和,由高到低
SELECT name, id+sn+mail FROM student
ORDER BY id+sn+mail DESC;

3.7 条件查询:WHERE

比较运算符:

逻辑运算符:


注:

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

查询id小于4的学生

3.8 分页查询:LIMIT

限制查询结果的最大值

查询0——4

4. 修改(Update)

– 将C罗同学的mail变更为77777
UPDATE student SET mail = 77777 WHERE name = ‘C罗’;

5. 删除(Delete)

将内马尔的数据全部删除
select * from student;

重点总结

  • 新增

– 单行插入
insert into 表(字段1, …, 字段N) values (value1, …, value N);
– 多行插入
insert into 表(字段1, …, 字段N) values
(value1, …),
(value2, …),
(value3, …);

  • 查询

– 全列查询
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 * from 表 order by 排序字段
– 条件查询WHERE:
– (1)比较运算符 (2)BETWEEN … AND … (3)IN (4)IS NULL (5)LIKE (6)AND (7)OR
(8)NOT
select * from 表 where 条件

  • 修改

update 表 set 字段1=value1, 字段2=value2… where 条件

  • 删除

delete from 表 where 条件

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/124087.html

相关文章

  • SpringBoot实战SpringDataJPA

    摘要:前言通过实现对数据库的增删改查通过提供基于的减少了作为数据访问方案的代码量,仅仅需要编写一个接口集成下内部定义的接口即可完成简单的操作。下引入依赖下引入和的配置文件对数据库连接和进行配置编写实体编写一个类,属性,,。 前言:通过SpringDataJPA实现对数据库的增删改查SpringDataJPA:通过提供基于JPA的Repository减少了JPA作为数据访问方案的代码量,仅仅需...

    winterdawn 评论0 收藏0
  • JavaEE环境配置与示例教程

    摘要:环境配置运行环境安装配置数据库下载安装下载地址牢记安装过程中设置的用户的密码安装选择版本的安装配置数据库驱动教程前提开发环境参考环境配置文档基础知识基本语法协议基础知识只需了解请求即可基础的等。 **寒假的时候老师让写个简单的JavaEE教程给学弟or学妹看,于是写了下面的内容。发表到这个地方以防丢失。。。因为写的时候用的是word,直接复制过来格式有点乱。。。所以不要在意细节了。。...

    AbnerMing 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<