【SQL】基础增删改查

简介: 🥱前言🥱🍔关键字🍔1. 增🦐1.1 代码格式🦐1.2 全字段插入🦐1.3 指定字段插入🍔2. 查🦐2.1 代码格式🦐2.2 查询表中所有数据🦐2.3 查询表中某个或某些字段🦐2.4 带表达式的查询🦐2.5 别名🦐2.6 distinct(去重)🦐2.7 SQL 中的函数调用🦐2.8 order by🦐2.9 分页查询🦐2.10 where🦐2.11 模糊匹配🍔3. 改🍔4. 删 🦐4.1 delete 🦐4.2 truncate

🥱前言🥱

增删改查是 SQL 中最基本也是最重要的操作,基本上所有的 SQL 代码都离不开增删改查


🍔关键字

增:insert

删:delete

改:update

查:select

SQL 代码中是不区分大小写的,大写或小写都一样

🍔增

提前建表以供插入


CREATE TABLE student (
    id INT,
    sn INT comment '学号',
    name VARCHAR(20) comment '姓名',
    qq_mail VARCHAR(20) comment 'QQ邮箱'
);

🦐代码格式

insert into 表名(字段名) values 
    (插入的值);

🦐全字段插入

全字段插入分为全字段单行插入和全字段批量插入,单行插入一次插入一行,批量插入一次插入多行

单行插入


INSERT INTO student VALUES (99, 9999, '猪八戒', NULL);

18.png


批量插入

INSERT INTO student VALUES
  (101, 10001, "孙悟空", '11111'),
    (101, 10002, '沙悟净', 'hello');

19.png

🦐指定字段插入

指定字段同样有指定字段单行插入和指定字段批量插入

单行插入

INSERT INTO student (sn, id, name, qq_mail) VALUES 
  (102, 20001, '曹孟德', null);

20.png


批量插入

INSERT INTO student (sn, id, name, qq_mail) VALUES 
  (104, 200011, '123', null),
    (103, 2001, 'sss', 'nnn');

21.png


 需要注意的是:指定字段插入时,缺少的字段会填入默认值,如果该字段没有默认值则会报错


22.png


🍔查

提前建表并且插入测试数据以供查询,

CREATE TABLE exam_result (
  id INT,
  name VARCHAR(20),
  chinese DECIMAL(3,1),
  math DECIMAL(3,1),
  english DECIMAL(3,1)
);
-- 插入测试数据
INSERT INTO exam_result (id,name, chinese, math, english) VALUES
  (1,'唐三藏', 67, 98, 56),
  (2,'孙悟空', 87.5, 78, 77),
  (3,'猪悟能', 88, 98, 90),
  (4,'曹孟德', 82, 84, 67),
  (5,'刘玄德', 55.5, 85, 45),
  (6,'孙权', 70, 73, 78.5),
  (7,'宋公明', 75, 65, 30);

🦐代码格式

select 字段名 from 表名; 

🦐查询表中所有数据

select * from exam_result;

🦐查询表中某个或某些字段

select id, name, english from exam_result;

20.png


🦐带表达式的查询

常数

select 之后直接跟常数在某个表中查询,查询到的结果就是一列这个常数,表中原本有多少行数据,就会查询到多少行这个常数

select 后也可跟常数的运算表达式,查询到的结果就是常数的运算结果


-- 带常数的select
select 103 from exam_result;
-- 带常数运算的select
SELECT 1 + 1 FROM exam_result;

22.png25.png



有字段参与计算的表达式

有字段参与计算的 select 查询后的结果就是表中字段数值的运算结果

SELECT id, name, id * 10 FROM exam_result;
SELECT id, name, chinese + math + english from exam_result;

26.png27.png


带 bool 表达式的 select

带 bool 表达式的 select 查询到的结果是 bool 表达式为 true 时的结果

SQL 中 1 为 true ,0 为 false

select id, id > 5 from exam_result;
select id, id != 2 from exam_result;

28.png29.png

与、或、非        and、or、not'


select id, id > 1 and id < 5 from exam_result;
select id, id > 1 or id < 5 from exam_result;
select id, not id = 1 from exam_result;

30.png31.png32.png


关于 null

SQL 中只要有 null 参与的表达式,此表达式的结果仍为 null

select 1 + null from exam_result;

33.png


🦐别名

别名就是在一个表达式后面用 as 加上一个赋给该表达式的名字,as 可省略,并且别名会替换查询结果的名字


-- 以下两条是一样的
SELECT id, name, chinese + math + english AS total from exam_result;
SELECT id, name, chinese + math + english total from exam_result;

34.png


🦐distinct(去重)

distinct 在代码中位于字段之前,表示对该字段进行去重,即将所有重复的字段值合并


select distinct math from exam_result;

35.png


🦐SQL 中的函数调用

SQL 中的函数有很多,此处演示几个常用的函数

count()

count 函数是用来统计该字段中数值的个数,即该字段在表中有多少行数据此函数返回的值就是几


select count(math) from exam_result;

avg()

该函数返回一个字段中所有数值的平均值,该字段中的元素必须是数值元素\

select avg(math) from exam_result;

min()

该函数返回一个字段中所有数值中的最小值,该字段中的元素必须是数值元素

select min(math) from exam_result;

其他函数可以去MySQL 函数看看

🦐order by

order by 表示查询到的结果以某个字段为依据排序


-- 以 id 升序排序,asc 可省略
select * from exam_result order by id asc;
-- 以 id 降序排序
select * from exam_result order by id desc;

🦐分页查询

用到的关键字:offset、limit

       offset:本页从哪一条开始

       limit:本页限制显示多少条

这两个关键字搭配 order by 来使用


-- 第一页从 第 0 个 id 开始,显示两条
select * from exam_result order by id limit 2 offset 0;
-- 第二页从 第 2 个 id 开始,显示两条
select * from exam_result order by id limit 2 offset 2;

36.png37.png


🦐where

where 后跟条件表达式,用于筛选查询后的结果

如果 where 后跟的表达式为永真的,那么将会查询到表中所有结果

-- 查询 chinese < 60 的所有结果
select * from exam_result where chinese < 60;

🦐模糊匹配

关键字:like                只能用于字符串类型

%:表示任意字符


-- 查询 name = 孙某
select * from exam_result where name like '孙%';
-- 查询 name = 某孙
select * from exam_result where name like '%孙';
-- 查询name = 某孙某
select * from exam_result where name like '%孙%';

🍔改

代码格式

update 表明 set 字段名 = '修改的值' where 条件

演示

更新前


40.png


update exam_result set name = 123 where id = 1;

更新后


41.png

🍔删

代码格式

delete from 表名 where 条件;

🦐delete


-- 删除 id = 1 在表中的那一行
delete from exam_result where id = 1;

🦐truncate

代码格式

-- 清空表中的数据
truncate 表名;


目录
相关文章
|
2月前
|
SQL 关系型数据库 MySQL
mysql 简单的sql语句,入门级增删改查
介绍MySQL中的基本SQL语句,包括数据的增删改查操作,使用示例和简单的数据表进行演示。
mysql 简单的sql语句,入门级增删改查
拿php写个原生增删改查案例出来(提供全部代码+sql)
拿php写个原生增删改查案例出来(提供全部代码+sql)
拿php写个原生增删改查案例出来(提供全部代码+sql)
|
SQL 关系型数据库 MySQL
Python 与 MySQL 进行增删改查的操作以及防止SQL注入
Python 与 MySQL 进行增删改查的操作以及防止SQL注入
237 0
|
SQL 程序员 数据库
【python】连接sql server数据库,并实现简单的增删改查(1)
Python编程语言越来越受到大家的喜爱,本篇文章就从链接微软数据库进行增删改查操作的讲解
650 0
|
2月前
|
SQL XML Java
mybatis :sqlmapconfig.xml配置 ++++Mapper XML 文件(sql/insert/delete/update/select)(增删改查)用法
当然,这些仅是MyBatis功能的初步介绍。MyBatis还提供了高级特性,如动态SQL、类型处理器、插件等,可以进一步提供对数据库交互的强大支持和灵活性。希望上述内容对您理解MyBatis的基本操作有所帮助。在实际使用中,您可能还需要根据具体的业务要求调整和优化SQL语句和配置。
44 1
|
4月前
|
SQL NoSQL API
MongoDB 增删改查 常用sql总结
MongoDB 增删改查 常用sql总结
162 1
|
5月前
|
SQL Java 数据库连接
2万字实操案例之在Springboot框架下基于注解用Mybatis开发实现基础操作MySQL之预编译SQL主键返回增删改查
2万字实操案例之在Springboot框架下基于注解用Mybatis开发实现基础操作MySQL之预编译SQL主键返回增删改查
72 2
|
6月前
|
SQL 数据库
sql server 增删改查(基本用法)
sql server 增删改查(基本用法)
|
6月前
|
SQL 存储 搜索推荐
SQL server增删改查(1)
SQL server增删改查(1)
140 0
|
6月前
|
SQL Java 数据库连接
【mybatis】动态sql之批量增删改查
【mybatis】动态sql之批量增删改查
88 0