(三)数据结构化查询语言(二)

简介: (三)数据结构化查询语言(二)

(三)数据结构化查询语言(一)

三:事务控制语言tcl

事务(transaction): 主要用来处理操作量大,复杂度高的数据,事务是原子操作,不可再分,要么同时成功,要么同时失败,即一个事务是一个完整的业务逻辑单元

在MySQL数据库中只有使用InnoDB引擎的数据库才能使用事务;默认的存储引擎为Myisam,不支持事务。

事务必须满足四个特征:即ACID

原子性(Atomicity):又叫不可分割性,它是指一个事务中的所有操作,要么全部完成,要么全部不完成,不会在中间某个阶段结束。在执行的过程中一旦事务发生错误就会被**回滚(rollback)**到最初执行时的位置(状态),就像这个事务没有执行过一样。

一致性(Consistency):事务必须是使数据库从一个一致性状态变到另一个一致性状态。

隔离性(Isolation):又叫独立性,它是指每个事务的执行不能被其他事务干扰,即一个事务内部的操作及使用的数据对并发执行的其他事务是隔离的,各个事务之间不能互相干扰。事务的隔离级别一般有四种,即读未提交(Read uncommitted)、读提交(read committed)、可重复读(repeatable read)和串行化(Serializable),分别对应1-4个级别,其中mysql数据库默认的隔离级别是第三级别(可重复读)。

持久性(Durability):也称为永久性,它是指一个事务一旦成功提交,对数据库中的数据改变使永久的,不会轻易丢失,就算系统故障也不会丢失。

事务的验证:

1.start transaction(交易)

2.savepoint(保存点名称)

3.DML(数据操纵语言)

4.commit(提交)/rollback(撤回,回滚);

四:数据查询语言dql

1.select/for基本查询语句

格式:select 子句 from 子句

例:select age,name from t2;

2.别名(as可以省略)

格式:select 列名1 as “别名”,列名2 as “别名” from 表名;

Select *  from  product as  p;
Select  pname  as  pn  from product;

3.Where子句

在增删改查时,起到条件限制作用。

有如下写法

in | not in(集合元素,使用逗号分开)

all | any与集合连用,此时集合中的元素必须从表中查询到的数据。

or | and

范围查询:t3 between value1 and value2;查询指定列t3名下的value1到value2范围中的数据。

模糊查询:like

1.通配符:% 表示0或0个以上字符,_表示匹配一个字符。

2.格式:t3 like value;

例:

查询工资大于这三个人的所有人

select * from t2 
where mony>all(
select mony from t2 
where name in ('xiaogang','xiaoqiang','xiaohao')
);

查询工资在3000到5000的人

select * from t2 where mony between 3000 and 5000;

查询名字中带 ‘s’ 和 'a’的员工信息

select * from t2 where name like '%a%' and name like '%s%';
select * from t2 where name like '%a%s%' and name like '%s%a%';

在查询sql查询出来的字符串结果前加上一个字母a

select concat('a',name) as name from t2;   

在查询结果的基础上加100

select mony+100 as newMony from t2;  

SQL语句的执行顺序from-where-group by-having-select-order by

(三)数据结构化查询语言(高级用法)

感谢大家,点赞,收藏,关注,评论!

目录
相关文章
|
8月前
|
Go 索引
掌握Go语言:Go语言范围,优雅遍历数据结构,简化代码操作实战解析(24)
掌握Go语言:Go语言范围,优雅遍历数据结构,简化代码操作实战解析(24)
|
8月前
|
存储 Go iOS开发
掌握Go语言:探索Go语言指针,解锁高效内存操作与动态数据结构的奥秘(19)
掌握Go语言:探索Go语言指针,解锁高效内存操作与动态数据结构的奥秘(19)
|
3月前
|
存储 人工智能 算法
数据结构与算法细节篇之最短路径问题:Dijkstra和Floyd算法详细描述,java语言实现。
这篇文章详细介绍了Dijkstra和Floyd算法,这两种算法分别用于解决单源和多源最短路径问题,并且提供了Java语言的实现代码。
110 3
数据结构与算法细节篇之最短路径问题:Dijkstra和Floyd算法详细描述,java语言实现。
|
3月前
|
存储 Go 容器
深入探究Go语言中的数据结构
深入探究Go语言中的数据结构
68 3
|
19小时前
|
存储 安全 Go
Go语言中的map数据结构是如何实现的?
Go 语言中的 `map` 是基于哈希表实现的键值对数据结构,支持快速查找、插入和删除操作。其原理涉及哈希函数、桶(Bucket)、动态扩容和哈希冲突处理等关键机制,平均时间复杂度为 O(1)。为了确保线程安全,Go 提供了 `sync.Map` 类型,通过分段锁实现并发访问的安全性。示例代码展示了如何使用自定义结构体和切片模拟 `map` 功能,以及如何使用 `sync.Map` 进行线程安全的操作。
|
3月前
|
存储 缓存 索引
从底层数据结构和CPU缓存两方面剖析LinkedList的查询效率为什么比ArrayList低
本文详细对比了ArrayList和LinkedList的查询效率,从底层数据结构和CPU缓存两个方面进行分析。ArrayList基于动态数组,支持随机访问,查询时间复杂度为O(1),且CPU缓存对其友好;而LinkedList基于双向链表,需要逐个节点遍历,查询时间复杂度为O(n),且CPU缓存对其帮助不大。文章还探讨了CPU缓存对数组增删操作的影响,指出缓存主要作用于读取而非修改。通过这些分析,加深了对这两种数据结构的理解。
61 2
|
5月前
|
JSON NoSQL MongoDB
MongoDB Schema设计实战指南:优化数据结构,提升查询性能与数据一致性
【8月更文挑战第24天】MongoDB是一款领先的NoSQL数据库,其灵活的文档模型突破了传统关系型数据库的限制。它允许自定义数据结构,适应多样化的数据需求。设计MongoDB的Schema时需考虑数据访问模式、一致性需求及性能因素。设计原则强调简洁性、查询优化与合理使用索引。例如,在构建博客系统时,可以通过精心设计文章和用户的集合结构来提高查询效率并确保数据一致性。正确设计能够充分发挥MongoDB的优势,实现高效的数据管理。
120 3
|
5月前
|
搜索推荐 算法 Go
深入探索堆:Go语言中的高效数据结构
深入探索堆:Go语言中的高效数据结构
|
5月前
|
存储 C语言
【数据结构】c语言链表的创建插入、删除、查询、元素翻倍
【数据结构】c语言链表的创建插入、删除、查询、元素翻倍
【数据结构】c语言链表的创建插入、删除、查询、元素翻倍
|
5月前
|
安全 C# 数据安全/隐私保护
WPF安全加固全攻略:从数据绑定到网络通信,多维度防范让你的应用固若金汤,抵御各类攻击
【8月更文挑战第31天】安全性是WPF应用程序开发中不可或缺的一部分。本文从技术角度探讨了WPF应用面临的多种安全威胁及防护措施。通过严格验证绑定数据、限制资源加载来源、实施基于角色的权限管理和使用加密技术保障网络通信安全,可有效提升应用安全性,增强用户信任。例如,使用HTML编码防止XSS攻击、检查资源签名确保其可信度、定义安全策略限制文件访问权限,以及采用HTTPS和加密算法保护数据传输。这些措施有助于全面保障WPF应用的安全性。
73 0