二、MySQL的增删改查(基础)

🚀 一、新增

语法:
insert into 表名 values(值,值...);
-- 案例:创建一张学生表
create table student(
	id int,
	name varchar(20) comment '姓名');

🌟 1.1 单行数据 + 全列插入

-- 插入的记录,值的数量必须和定义表时的数量和顺序一致。
insert into student values(100,'张三');
insert into student values(200,'李四');

在这里插入图片描述

🌟 2.2 多行数据 + 指定列插入

-- 插入的记录,值的数量必须和指定列时的数量和顺序一致。
-- 不同数据间用逗号隔开

insert into student(id,name) values
	(300,'张三'),
	(400,'王五');

在这里插入图片描述
注意

  1. 在 SQL 中的字符串既可以用 ’ ’ 表示,也可以用 " " 表示。
  2. 如果某列的数据类型时时间类型,可以用一个字符串表示时间,或者用 now() 函数获得当前系统时间。

🚀 二、查询

查询操作不会改变数据库上的数据。

🌟 2.1 全列查询

-- 最简单的查询操作,但是数据量大时不建议使用
select * from 表名;
select * from student;

在这里插入图片描述

🌟 2.2 指定列查询

-- 指定列的顺序不必按照定义表时的顺序来
select 列名,列名,列名... from 表名;

select name from student;

在这里插入图片描述

🌟 2.3 查询字段为表达式

在查询的同时会对表达式计算,但是原数据库上的数据不会改变。

select id,name,english+10 from student;
select id,name,english+math from student;

查询出的临时表中的数据类型不一定和原始表中的一致,临时表的类型会自动适应,保证计算结果正确性。

🌟 2.4 别名

为查询结果的列指定别名,在返回的临时表中,以别名显示:

select 列名 as 别名 from 表名;
select id,name as '姓名' from student;

在这里插入图片描述

🌟 2.5 去重 distinct

可以对指定列的数据进行去重

select 列名,distinct 列名,列名 from 表名;

🌟 2.6 排序 order by

-- 列名2 为作为排序标准的一列,这一列不需要再前面出现
-- 默认为升序排列,asc 为升序,desc 为降序

select 列名... from 表名 order by 列名2 asc/desc;
  1. 没有 order by 语句的查询,返回的顺序都是未定义的。
  2. null 数据的值视为比任何的值都小,
  3. 排序标准列可以用 表达式 或者 别名
    select name,chinese,math from student order by chinese+math;
    
  4. 可以对多个字段进行排序,排序优先级随书写顺序。

🌟 2.7 条件查询 : where

在这里插入图片描述
条件会针对查询结果进行比较,服务器遍历表中每条记录,如果符合条件,就返回客户端。
注意

  1. where 条件可以使用 表达式 ,但是不可以使用别名。
  • 基本查询
-- 查询分数低于 60 的
select * from score where score < 60;

在这里插入图片描述

  • and 与 or
-- 查询成绩大于 60 且小于 80 的
select * from score where score>60 and score<80;

在这里插入图片描述

  • 范围查询 between … and…
-- 查询成绩大于 60 且小于 80 的
select * from score where score between 60 and 80;

在这里插入图片描述

  • 模糊查询
-- % 匹配任意个字符
select name from student where name like '孙%'; -- 只要第一个字符是 ’孙‘,后面可以是任意字符

-- _ 严格限制一个字符
select name from student where name like '孙_'; -- 第一个字符是 '孙' ,且后面只跟着一个字符。

🌟 2.8 分页查询

可以规定一页有多少返回结果,查找时可以按页返回。

-- 从 0 开始,筛选 n 条结果。
select * from student limit n;
-- 从 s 开始,筛选 n 条结果。
select * from student limit n offset s;

在这里插入图片描述

🚀 三、修改

会修改数据库上的原始数据。

语法:
-- 后面必须有条件,否则会修改所有数据
update 表名 set 列名 =,列名 =... where 条件;

🚀 四、删除

-- 必须要有条件,否则会删除所有数据,剩下空表。
delete from 表名 where 条件;
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值