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;

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

不写就是删除所有记录.

相关文章
|
5天前
|
存储 SQL 数据库
数据库sql语句-----游标和存储过程
数据库sql语句-----游标和存储过程
14 1
|
1天前
|
SQL Oracle 关系型数据库
一些SQL数据库工具的介绍
【5月更文挑战第19天】一些SQL数据库工具的介绍
13 4
|
3天前
|
SQL 关系型数据库 MySQL
实时计算 Flink版产品使用合集之当 SQL Server 源数据库中的数据更新后,CDC 吐出的操作(op)是怎样的
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
14 0
|
5天前
|
SQL 关系型数据库 数据管理
Microsoft SQL Server 是微软公司开发的一款关系型数据库管理系统
【5月更文挑战第14天】Microsoft SQL Server 是微软公司开发的一款关系型数据库管理系统
16 2
|
5天前
|
SQL 数据库
数据库SQL语言实战(六)
本次实战的重点就在于对表格本身的一些处理,包括复制表格、修改表格结构、修改表格数据
|
5天前
|
SQL Oracle 关系型数据库
数据库SQL语言实战(五)(数据库系统概念第三章练习题)
本文的SQL语言适用的是Oracle数据库与mySQL可能存在略微不同
|
5天前
|
SQL Oracle 关系型数据库
数据库SQL语言实战(四)(数据库系统概念第三章练习题)
本文的SQL语言适用的是Oracle数据库与mySQL可能存在略微不同
数据库SQL语言实战(四)(数据库系统概念第三章练习题)
|
5天前
|
SQL Oracle 关系型数据库
数据库SQL语言实战(三)
本篇文章重点在于SQL中的各种删除操作
|
6月前
|
SQL Oracle 关系型数据库
本机不安装Oracle客户端,使用PL/SQL Developer连接远程数据库
本机不安装Oracle客户端,使用PL/SQL Developer连接远程数据库
149 0
|
SQL 程序员 数据库
【python】连接sql server数据库,并实现简单的增删改查(1)
Python编程语言越来越受到大家的喜爱,本篇文章就从链接微软数据库进行增删改查操作的讲解
538 0