SQL主体内容一致,但是对于不同的数据库,对于SQL就可能有一些细节的拓展

简介: SQL主体内容一致,但是对于不同的数据库,对于SQL就可能有一些细节的拓展

20231108

SQL主体内容一致,但是对于不同的数据库,对于SQL就可能有一些细节的拓展

插入数据

insert into 表名 values(值,值......);

查询(SQL中最复杂的)

1.全列查询

   select * from 表名

2.指定列查询

   select 列名,列名 from 表名

3.查询带有表达式

   针对查询的结果进行计算

   运算过程都是不影响服务器硬盘上的原始数据的

4.查询的时候带上别名

   select 表达式 as 别名 from 表名

5.查询的时候进行去重

   select distinct 列名 from 表名  

6.排序

   select 列名 from 表名 order by 列名(asc ,desc )

写到前面的列优先级高,后面的列优先级低

7.条件查询

   select 列名  from 表名 where 条件;

与或非 and or

一个where中有and也有or会先执行and 后执行or

在写代码的时候一定要记得多加优先级的()

select * from result where chinese between 80 and 90(闭区间)

in操作(查询在集合之间的元素是否存在)

select * from result where math in(58,59);


模糊查询 (like 关键字)

会用到通配符

%:匹配任意个字符

_:匹配一个字符

select * from result where name like '孙%';(匹配以孙开头的数据)

like %孙就是以孙结尾的

%like%就是包含孙的

_是固定只能匹配到一个任意字符

但是可以有多个_ 比如 __孙

_给的模糊查询方式是比较简单的

但是各种编程语言中,还有一种模糊匹配的方式 "正则表达式"

--在实际的开发中,有的时候需要进行一些字符串校验,我们就可以使用正则表达式

查询空值(sql是大小写不敏感的)

select * from exam_result where id is null;

不要写成 id = null 这样是查不到的 但是可以使用 id <=> null

条件不仅仅能搭配查询语句,修改和删除也仍然适用

分页查询

select * 比较危险 一次查询出来的内容太多了

分页查询时最合适能解决上述问题的方案

可以限制这一次查询最多能查多少个记录

很多的网站,都是有分页的功能的

每一页就只显示有限的数据

limit 来限制这次请求返回多少个记录(限制一页里有几条记录)

select * from 表名 limit 3;

返回前三条数据

还可以使用offset来描述当前的结果从第几条开始获取

不写就是默认从第0条开始获取

select * from 表名 limit 3 offset 0

select * from 表名 limit 3 offset 3

select * from 表名 limit 3 offset 6

select * from 表名 limit 3 offset 9

类似于翻页功能

上面的这些查询都是最基础的查询(日常工作涉及到的内容,绝大部分都是最基础的)

修改

虽然如此,但是修改本身还是挺难的~~

update 表名 set 列名 = 值 where 条件; (set也是计算机中的常用术语)

孙悟空数学改成80

update exam_result set math = 80 where name = "孙悟空";

一个语句,同时修改两个列

update exam_result set math = 60,chinese = 70 where name = "曹孟德";

将总成绩倒数前3的数学成绩加上30分

对于update 也可以使用 order by 和 limit 使用

排序的时候会将空值当成最小的了

不要写成math += 30 sql不支持这种语法

一个sql语句就是第一个整体,要么全部成功,要是失败,就全部不执行

update 如果没有限制条件,就对 所有行都进行修改

(危险的操作)

在恢复的过程中,数据库是无法给外界提供服务的


delete 语句

delete from 表名 where 条件 /order by/limit;

把条件匹配出来的符合要求的记录,给删除掉

不写就是删除所有记录.

相关文章
|
1天前
|
SQL XML 数据库
后端数据库开发高级之通过在xml文件中映射实现动态SQL
后端数据库开发高级之通过在xml文件中映射实现动态SQL
9 3
|
1天前
|
SQL XML Java
后端数据库开发JDBC编程Mybatis之用基于XML文件的方式映射SQL语句实操
后端数据库开发JDBC编程Mybatis之用基于XML文件的方式映射SQL语句实操
13 3
|
1天前
|
SQL druid Java
传统后端SQL数据层替代解决方案: 内置数据源+JdbcTemplate+H2数据库 详解
传统后端SQL数据层替代解决方案: 内置数据源+JdbcTemplate+H2数据库 详解
7 1
|
6天前
|
SQL 监控 安全
代码审计-PHP原生开发篇&SQL注入&数据库监控&正则搜索&文件定位&静态分析
代码审计-PHP原生开发篇&SQL注入&数据库监控&正则搜索&文件定位&静态分析
|
4天前
|
存储 SQL 关系型数据库
SQL 用于各种数据库的数据类型
SQL 用于各种数据库的数据类型
13 2
|
4天前
|
SQL 数据库
零基础学习数据库SQL语句之操作表中数据的DML语句
零基础学习数据库SQL语句之操作表中数据的DML语句
7 0
零基础学习数据库SQL语句之操作表中数据的DML语句
|
7天前
|
SQL 存储 关系型数据库
MySQL数据库进阶第二篇(索引,SQL性能分析,使用规则)
MySQL数据库进阶第二篇(索引,SQL性能分析,使用规则)
|
1天前
|
SQL Java 关系型数据库
Java与数据库连接技术JDBC关键核心之PreparedStatement以及SQL注入演示解决和原理
Java与数据库连接技术JDBC关键核心之PreparedStatement以及SQL注入演示解决和原理
6 0
|
4天前
|
SQL 前端开发 关系型数据库
零基础学习数据库SQL语句之查询表中数据的DQL语句
零基础学习数据库SQL语句之查询表中数据的DQL语句
5 0
|
4天前
|
SQL 关系型数据库 MySQL
零基础学习数据库SQL语句之定义数据库对象的DDL语句
零基础学习数据库SQL语句之定义数据库对象的DDL语句
11 0

热门文章

最新文章