还剩29页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
简单查询语句SQL是一种用于管理关系数据库的标准语言简单查询语句是最基础的命SQL SQL令可以从数据表中选取和过滤数据这些命令为用户提供了强大的数据检索和,分析功能简介SQL什么是的应用领域的基本语法SQL SQLSQL()广泛应用于各种数据库管理系统中如由数据定义语言、数据操SQL StructuredQuery LanguageSQL,SQL DDLDML是一种用于管理和操作关系型数据库的标准、、等涉及数作语言、数据控制语言等部分组成Oracle SQLServer MySQL,DCL,语言它提供了一组强大的命令使开发人据存储、查询、修改、删除等操作它在企可以用来创建、修改、查询和管理数据库对,员能够快速有效地与数据库进行交互业信息系统、电子商务、金融等领域都发挥象它具有简单易学、语法标准化的特点着关键作用的基本语句结构SQL开头1语句以关键字开始SQL主体2包含操作对象和条件结尾3以分号结束语句由三部分组成开头的关键字、中间的操作对象和条件、以及最后的分号结束这种固定的结构使得语句易于编写和理解为SQL:SQL,数据库操作提供了一种规范化的方式语句SELECT定义基本格式功能应用场景语句是中最基本列名表名语句可以从一个或多语句广泛应用于各种SELECT SQL SELECT FROMSELECT SELECT的语句用于从数据库表中选条件语句个表中选择数据支持各种条数据库查询如查看表中数据,WHERE ORDER,,择和返回数据它允许指定要排序列件筛选和排序是查询数据的、过滤满足条件的记录、对查BY;,选择的列、查询条件和排序方核心操作询结果进行排序等式等语句的通配符用法SELECT通配符列别名*使用可以选择表中的所有列,方可以为列设置别名,使用关键*AS便快捷但通常不建议在实际应字这样可以让查询结果更加清用中使用,因为可能会影响性能晰易读表别名表达式别名为表设置别名可以简化查询语句对查询中的表达式设置别名可以,,提高可读性尤其在涉及多表联查让结果更加具有可读性和描述性,时非常有用子句WHERE筛选数据子句用于在语句中筛选满足特定条件的行它可以根据各种条件进行过滤WHERE SELECT,如数值、字符串、日期等逻辑表达式子句中可使用各种逻辑运算符如等于、不等于、大于、小于等可组合WHERE,=!=,多个条件进行复杂的过滤灵活查找子句支持模糊查询如运算符用于匹配字符模式运算符用于匹配列表中的值WHERE,LIKE,IN子句的条件表达式WHERE在查询中,子句用于设置筛选条件,帮助我们从数据表中有选择地SQL WHERE选取满足特定条件的记录子句中可以使用各种条件表达式来定义筛选WHERE规则,包括比较运算符、逻辑运算符以及函数等比如可以使用、、等比较运算符来筛选满足特定数值条件的记录还可以=使用关键字搭配通配符进行模糊匹配同时还可以使用、、LIKE ANDOR NOT等逻辑运算符组合多个条件子句ORDER BY排序功能列顺序12子句用于对查询结在子句中可指定ORDER BYORDER BY,果集进行排序可按一个或多个多个列名按照从左到右的顺序,,列的升序或降序进行排序ASC DESC排列值处理字符串排序NULL34默认情况下值会被排在字符串排序时会根据字符编码,NULL最前或最后可通过指定顺序进行可通过子,,COLLATE或句自定义排序规则NULLS FIRSTNULLS来自定义值的排序LAST NULL位置子句GROUP BY分组统计多列分组子句允许我们根据指可以同时指定多个列进行分组,GROUP BY定的列对查询结果进行分组统计比如根据部门和职位统计人数,如计算每个部门的员工人数或这样可以实现更细致的数据分析销售总额配合聚合函数通常将与、、等聚合函数一起使用,可以GROUP BYSUM COUNTAVG快速获取分组结果的汇总信息子句HAVING结合使用常用聚合函数WHERE vs.HAVING GROUP BY子句用于对分组后的数据进行筛子句通常与子句一起子句常常与、、HAVING HAVINGGROUPBYHAVING SUM AVG选而子句用于在分组之前对数据使用对分组后的数据进行过滤保留满足条等聚合函数一起使用根据聚合结,WHERE,,COUNT,进行筛选常用于聚合函数的条件的分组果进行筛选HAVING件限制关键字DISTINCT作用优点关键字用于从查询结果中去除重复记录只返回唯一的可以帮助我们获取数据集中独特的数据避免重复数据DISTINCT,DISTINCT,值它可以应用于语句中的任何列或表达式占用资源这对于分析和报表生成非常有帮助SELECT常用的聚合函数SUMAVG12用于计算指定列的所有值之和用于计算指定列的平均值适可以与数值数据类型一起使用于数值数据类型用COUNT MAX34用于统计指定列中的记录数用于获取指定列中的最大值可以与任何数据类型一起使用适用于数值、日期和文本数据类型子查询嵌套查询1子查询是指在一个语句中嵌套另一个语句内SELECT SELECT,层查询的结果可以作为外层查询的条件或者返回值灵活多变2子查询可以出现在、、等多个子句WHERE HAVINGSELECT中根据具体需求灵活应用,提高查询效率3合理使用子查询可以大大提高复杂查询的效率避免多次遍历数,据库连接查询理解连接的概念连接查询是用于从多个表中检索数据的强大功能它允许您根据表之间的关系来组合和关联数据内连接内连接()仅返回满足连接条件的记录这是最常见的连接类INNER JOIN型可以高效地组合数据,外连接外连接()包括即使不满足连接条件也会返回的记录左外连OUTER JOIN接、右外连接和完全外连接是常见的外连接类型自连接自连接是一种特殊的连接它将一个表与自身连接这对于分析层次结构或树,状数据非常有用内连接两表关联内连接根据两表之间的关联条件进行查询只返回满足条件的行,行交集内连接查询的结果集是两个表交集部分的行性能优势内连接的查询效率较高因为只返回满足条件的行,外连接覆盖更广的数据关系左外连接右外连接外连接不仅返回两个表中匹配的行还包括左外连接返回左表中的所有行以及右表中右外连接返回右表中的所有行以及左表中,,,左表或右表中不匹配的行这样可以获取更匹配的行即使右表中没有匹配的行左表匹配的行即使左表中没有匹配的行右表,,全面的数据中的行也会被包含在结果集中中的行也会被包含在结果集中自连接数据库中的自连接自连接是一种特殊的连接查询可以让数据表自身建立关联解决复杂的层级结构,,层级结构分析自连接通常用于分析表内的层级和上下级关系如员工主管、部门子部门等,--别名的应用自连接需要为表设置不同的别名以区分上下级关系提高查询语句的可读性,,和UNION UNION ALL和的的语法的语法UNION UNIONALL UNIONUNIONALL区别列表列表SELECT1FROM1UNION SELECT1FROM1UNION会去除重复数据而列表列表UNION,UNION SELECT2FROM2;ALL SELECT2FROM2;会保留所有重复数据ALL UNION的查询效率略低但可以得到更简洁的,结果语句INSERT INTO插入单行数据批量插入数据从其他表插入注意事项使用语句可以可以通过子句同时也可以从其他表中查询数据并插入时需要确保数据类型和字INSERT INTOVALUES向表中插入单行数据需要指插入多行数据每一行数据需插入到目标表中使用段顺序匹配并且必须满足表,,定表名和要插入的字段及其值要用圆括号括起来语句作为的完整性约束SELECT INSERT的子句INTO语句UPDATE修改数据子句WHERE12语句用于修改数据表子句用于指定要更新UPDATE WHERE中现有的数据记录它可以更的行的条件确保只更新需要修,新一个或多个列的值改的数据子句注意事项SET34子句用于指定要更新的列使用时要小心谨慎SET UPDATE,及其新值可以同时更新多个避免无意中修改了错误的数据列建议先进行预览再SELECT,执行UPDATE语句DELETE删除特定行删除整个表谨慎使用通过子句指定要删除的行条件如果需要删除整个表中的数据可以使语句具有不可逆性使用时请WHERE,,DELETE,可以精确地删除满足条件的数据记录用不带子句的语句务必谨慎确保删除的是正确的数据WHERE DELETE,事务处理开始1开启事务执行2执行一系列数据库操作提交3提交事务更改事务处理是数据库管理系统中一种重要的机制它能够确保数据库操作的完整性和一致性事务包含开始、执行和提交三个步骤在事务执,行过程中所有的数据库操作要么全部成功提交要么全部回滚这样可以避免部分操作成功部分失败的情况出现保证了数据库的完整性,,,事务的特性ACID原子性一致性隔离性持久性Atomicity ConsistencyIsolation Durability事务是不可分割的最小执行单事务之间互相独立不会受到一旦事务提交成功它对数据,,元要么全部执行成功要么事务执行前后数据库的完整其他事务的干扰和影响库的修改就会永久保存不会,,,,全部失败回滚性约束都必须保持一致数据丢失,保持合法有效状态并发控制锁机制隔离级别12利用数据库管理系统提供的锁不同的隔离级别在事务并发性定机制防止多个事务同时访问和数据一致性之间做出平衡,同一数据事务日志死锁检测34数据库将事务操作记录在日志数据库系统会检测并解决可能中以便在发生并发冲突时回滚出现的死锁情况确保事务顺利,,事务执行事务的隔离级别读未提交读已提交可重复读串行化Read ReadRepeatable SerializableUncommittedCommitted Read事务完全隔离可以避免所有异,事务可读取未提交的数据可能事务只能读取已提交的数据可事务在整个过程中看到的数据常情况但会降低并发性能这,,,会出现脏读的问题这是隔离以避免脏读但仍可能出现不可都是一致的可以避免不可重复是隔离级别最高的,,级别最低的重复读的问题读的问题但仍可能出现幻读,数据库索引增加查询速度索引通过创建有序的数据结构来实现快速查找索引结构常见的索引结构有树、哈希表等B索引管理需要对索引进行创建、删除、维护等操作索引的优缺点优点缺点索引能大幅提高数据查询效率对于需要频繁查询的数据非常有帮索引会占用额外的存储空间并且在数据插入、更新和删除时需要,,助它可以快速定位并返回查询结果维护索引会增加数据库的写操作开销,索引的类型索引索引B-Tree Hash12层次结构,支持范围查找和精基于哈希算法,适用于等值查确匹配查询适用于各种数据找对于范围查询性能较差类型全文索引空间索引34针对文本数据,可以进行关键针对地理位置数据,支持复杂词搜索提供模糊查询和词汇的空间查询操作,如范围查找扩展性能优化SQL优化数据库结构优化语句优化数据库服务器配置监控优化SQL合理设计表结构、创建高效索避免使用、优化合理分配、内存、磁盘等定期分析执行情况、发现SELECT*CPU SQL引、减少冗余数据是提高条件、合理使用索引等资源有助于提升系统整体性能性能瓶颈、持续优化是保证系SQL WHERE性能的基础可以提高执行效率统高性能的关键SQL优化的常见方法SQL合理设计数据库模型合理使用索引优化语句合理进行分区分表SQL通过对表结构、字段类型等进为频繁查询的字段创建索引可合理使用、对大表进行分区或分表可以提,WHERE ORDER行合理设计可以有效提高数据以大幅提高查询效率但索引等子句避免全表扫描并利高查询效率减轻单个表的压力,BY,,,库的性能也会影响写入性能需要权衡取用函数进行必要的数据转换,舍本课程总结在本课程中,我们系统地学习了的基本语法和常用功能,从语句SQLSELECT、子句、子句等基础语句开始,到子查询、连接查询、事WHERE ORDERBY务处理、索引管理等进阶内容,全面掌握了的核心知识点通过大量的实SQL操练习,我们熟练掌握了编程的技能,为日后在数据库领域的应用奠定了SQL坚实的基础。
个人认证
优秀文档
获得点赞 0