0
点赞
收藏
分享

微信扫一扫

MySQL数据库-2-表的增删改查

RIOChing 2022-03-11 阅读 30
mysql

MySQL 表的增删改查

一. CRUD

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

二. 增加(Create)

create table booklist(
booklist_name varchar(64) comment '图书名称',
name varchar(32) comment '图书作者',
unitprice float comment '图书价格,单位元',
category varchar(12) comment '图书分类'
);

先创建了一个图书表,然后给表里面增加信息:

1. 单行插入

insert into booklist values('Java核心技术','Cay S. Horstman',56.43,'计算机技术');

2. 多行插入

insert into booklist(booklist_name,name,unitprice,category)values
('《道德经》','李耳',34.00,'文学'),
('《十万个为什么》','李四',62.90,'科普'),
('《java编程思想》','王五',34.87,'教材'),
('《可爱的人》','张三',19.09,'小说'),
('《三国演义》','施耐庵',32.67,'小说'),
('《西游记》','吴承恩',100.89,'小说');

三. 查询(Retrieve)

1. 全列查询

select * from 表名;
-- *表示所有列

示例:
在这里插入图片描述

2. 指定列查询

以下图的表为例:
在这里插入图片描述
那么指定列查询的语句是:

select name,chinese from student;

结果显示:
在这里插入图片描述

3. 查询字段为表达式

这一列的所有数据都被临时增加了10。
在这里插入图片描述

4. 别名

在这里插入图片描述

5. 查询某几列

例1: 查询姓张,而且年龄在18~25岁之间的学生
在这里插入图片描述

例2: 查询某个文章列表,发布日期在某两个时刻之间的文章。
在这里插入图片描述
例3: 查询成绩是62或者59或者98或者是97的同学

select name, math from student where math in (62,59,98,97) ;

6. 排序

这是升序的命令

select name, pe from student order by pe ;

这是降序的命令

select name, pe from student order by pe desc ;

如果这个命令是多个排序,需要排序的用逗号隔开,先排列逗号前的,如果逗号前面的有一样的,就排逗号后面的,以此类推。

-- 这个命令表示从表中查询数学和体育的升序排列结果,并显示出name,math,pe 列
select name,math, pe from student order by pe ,math ;

7. 分页查询:limit

查找前三行的数据:

select name, math from student where math limit 3;

查找排序后前三行的数据:

select name, math from student order by math limit 3;

该语句的命令是选择第1~3名,offset默认是从0开始。如果没有排序,则代表第1 ~ 3 行。

select name, chinese,math, english, pe from student order by math limit 3 offset 1;

从第2个开始,筛选出来5个

select name,math from student where math limit 2,5;

8. 去重

去除math这一列的重复数据

select distinct math from student;

9. 条件查询

用where。

运算符说明
>, >=, <, <=大于,大于等于,小于,小于等于
=等于,NULL 不安全,例如 NULL = NULL 的结果是 NULL
<=>等于,NULL 安全,例如 NULL <=> NULL 的结果是 TRUE(1)
!=, <>不等于
between A and B范围匹配,[A, B],如果 A <= value <= B,返回 TRUE(1)
IN (option, …)如果是 option 中的任意一个,返回 TRUE(1)
IS NULL是 NULL
IS NOT NULL不是 NULL
like模糊匹配。% 表示任意多个(包括 0 个)任意字符;_ 表示任意一个字符
and多个条件必须都为 TRUE(1),结果才是 TRUE(1)
or任意一个条件为 TRUE(1), 结果为 TRUE(1)
not条件为 TRUE(1),结果为 FALSE(0)

注意:

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

四. 修改(Update)

这里的数据一旦被修改,那就是彻底的被更改了,所以操作的时需谨慎,注意备份!!!
在这里插入图片描述
更改某一行的某几个数据:列在前面,行在后面。
在这里插入图片描述
更改多名学生的成绩,在后面可以加上 OR。
在这里插入图片描述
让某一列成绩为原来的多少倍:
在这里插入图片描述

五. 删除(Delete)

删除某一行的数据: 前面是表名,后面是某一行的名称。

delete from student where name =’王小明’;

删除表:

delete from 表名;
举报

相关推荐

0 条评论