首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏捞月亮的小北

    9. 动态SQL

    Mybaits 框架的动态 SQL 技术是一种根据特定条件动态拼接 SQL 语句的功能 , 它存在的意义是为了解决拼接 SQL 语句字符串时的痛点问题 ‍ Mybatis 中动态 SQL 怎么理解? 同时,也需要注意 SQL 注入和动态 SQL 的维护难度问题。 SQL 片段的作用是将常用的 SQL 语句封装成一个可重用的组件,方便在多个地方使用。 Mybatis 中的 SQL 片段有两种类型: 动态 SQL 片段:根据不同的条件生成不同的 SQL 语句。 6.2 SQL 片段的作用 ‍ SQL 片段(SQL Fragments)是 Mybatis 中一个重要的功能,它的作用是将一段 SQL 片段用 <sql>​ 元素封装,并在需要的地方通过 <include 减小 SQL 的维护难度:将一段 SQL 代码封装成 SQL 片段,可以方便维护和修改,避免了对 SQL 语句的重复修改和维护。

    51310编辑于 2023-12-01
  • 9SQL优化技巧

    过度索引:当表中存在过多的索引时,可能会导致数据库优化器在选择使用哪个索引时变得困难。这可能会导致查询性能下降,因为优化器可能选择了不是最优的索引。 因此,在设计数据库时,需要根据查询需求和数据变更模式来仔细选择需要创建索引的列。通常建议只为经常用于查询条件、排序和连接的列创建索引,并避免为选择性低的列创建索引。 %';右模糊查询: 继续使用上述customer表,我们想要查询名字以"n"结尾的客户:sql复制代码SELECT * FROM customer WHERE name LIKE '%n';注意,在某些数据库中 这种场景下,如果简单地一次性加载所有数据并进行分页,会导致性能问题,包括内存消耗、数据库查询效率等。 public Page<Item> fetchPageByKey(Long lastKey, int pageSize) { // lastKey是上一页最后一项的主键 // 查询数据库

    1.3K10编辑于 2024-05-21
  • 来自专栏一个爱吃西瓜的程序员

    学习SQL9】-集合与联结

    现在我们开始学习使用2张以上的表的SQL语句。通过以行方向为单位的集合运算符和以列方向为单位的联结,就可以将分散在多张表中的数据组合成期望的结果。 表的加减法 什么是集合运算 集合在数据库中表示为记录的集合。具体来说,表、视图和查询的执行结果都是记录的集合。 集合运算就是对满足同一规则的记录进行的加减等四则运算。 SQL中的联结有很多种,我们主要学习内联结和外联结两种。 内联结—INNER JOIN 内联结(INNER JOIN)是运用最广泛的联结运算。 SP.shop_name, SP.product_id, P.product_name FROM ShopProduct AS SP CROSS JOIN Product AS P; 上述的SQL

    1.5K120发布于 2018-04-04
  • 来自专栏mysql

    hhdb数据库介绍(9-9)

    计算节点读写分离对应用研发者和数据库管理员完全透明,不要求研发者在SQL执行时添加HINT或某些注解;当然,也支持使用HINT的方式显式指定读取主机或从机。指定SQL语句在主存储节点上执行:/*! hotdb:rw=master*/select * from customer;指定SQL语句在从库存储节点上执行:/*! 用户级别的读写分离可通过管理平台创建数据库用户页面添加用户或编辑用户开启用户级别的读写分离。 192.168.210.137:3310 从库2:192.168.210.137:3312从库3:192.168.210.137:3313从库优先级:从库1>从库2>从库3 从机读取优先级设置的值为1,执行SQL

    23110编辑于 2024-11-29
  • 来自专栏机器学习/数据可视化

    SQL进阶-9-谓词exists使用

    SQL进阶-9-EXISTS谓词的使用 支撑SQL和关系数据库的两个重要理论基础: 数学领域的集合论 现代逻辑学标准体系的谓词逻辑(predicate logic) 本文中重点介绍的是谓词exists的用法 SQL实现 假设所有人都参加了全部的会议,生成了一个集合,再用该集合减去现有的数据即可。 ,col10); -- 查询至少存在一个9的行记录:any select * from Tablename where 9 = any (col1, col2, col3,... ,col10); -- where 9 in (col1, col2, col3,... ,col10) is null; 小结 SQL谓词指的是返回值为真值的函数 EXISTS与其他谓词不同,接受的参数是集合;可以看做是一种高阶函数 SQL中没有实现全称量词相当的谓词,但是可以通过not

    1.4K20发布于 2021-03-01
  • 来自专栏全栈程序员必看

    sql文件怎么导入sql server数据库_sql怎么导入数据库

    工具/原料 Navicat for MySQL MySQL命令行界面 SQL脚本 方法一: 1、首先使用MySQL提供的命令行界面来导入数据库,确保电脑中安装了MySQL数据库,可以通过命令行来确认是否安装了 : 3、在将脚本拷到本地磁盘的根目录,这样方便进入找到脚本,这里以D盘来说明,使用test.sql:接着来到命令行,使用SOURCE d:/test.sql;来导入数据库,先进入mysql。 4、首先要在数据库中建立好数据库,然后导入脚本,所以先建立一个数据库哦,不要脚本是不知道要往哪个数据库中导入脚本的。 5、然后就可以输入导入.sql文件命令: mysql> USE 数据库名; mysql> SOURCE d:/test.sql; 6、看到上面的画面,说明mysql数据库已经导入成功了。 方法二:使用Navicat for MySQL图形界面来导入数据库,使用图形界面导入数据库的步骤很简单 1、在图形界面中建立好数据库之后,使用导入脚本的功能来导入数据库 2、点击选择脚本,选择D盘的test.sql

    14.7K10编辑于 2022-11-11
  • 来自专栏数据STUDIO

    要避免的 9SQL 错误

    下面对不该做的事进行逆向分析,指导你写出清晰、优化、强大的 SQL 语句: 1、避免不明确的列命名: Don’t CREATE TABLE table1 (id int , name varchar(50 7.不要忽视错误处理: Don’t (No error handling) Do BEGIN TRY -- Your SQL statement here -- END TRY BEGIN CATCH 9.不要忽略评论和文档: Don’t (No comments or documentation) Do -- This query retrieves all active customers with

    65110编辑于 2024-06-04
  • 来自专栏信息技术智库

    9.MySQL数据查询SQL

    9.MySQL数据查询SQL 语法格式: select 字段列表|* from 表名 [where 搜索条件] [group by 分组字段 [having 分组条件]] [order by 排序字段  -- 问题出在 sql 计算的顺序上,sql会优先处理and条件,所以上面的sql语句就变成了 -- 查询变成了为年龄22的不管性别,或者年龄为 25的女生 -- 如何改造sql符合我们的查询条件呢? +---------+ -- 统计 users 表中的数据量 select count(*) from users; +----------+ | count(*) | +----------+ | 9  | +----------+ select count(id) from users; +-----------+ | count(id) | +-----------+ | 9 | +-------- rows in set (0.00 sec) -- 如果按照sex这一列进行统计,结果就是8个而不是9个,因为sex这一列中有NULL值存在 mysql> select count(sex) from 

    1.3K30编辑于 2022-07-29
  • 来自专栏一个爱吃西瓜的程序员

    学习SQL【2】-数据库SQL

    同时,它使用SQL(结构化查询语言)对数据进行操作。 4:关系数据库管理系统(RDBMS)的种类 ● oracle :甲骨文公司的RDBMS。 ● SQL server:微软公司的RDBMS。 ● 根据SQL语句的内容返回的数据同样是二维表格式。 ● 表的行称为记录,表的列称为字段。 ● 关系数据库必须以行作为单位进行数据读写。 ● 一个单元格内只能输入一个数据。 如下图: ? 三:SQL概要 1:标准SQL 国际标准化组织(ISO)为SQL制定了相应的标准,以此为基准的SQL称为标准SQL 虽然不同的RDBMS存在一些特使的SQL语句,但学会标准SQL就可以在各种RDBMS 2:SQL语句及其种类 SQL使用关键字、表名、列名等组合成一句SQL语句来描述操作的内容。 根据指令种类不同,SQL语句可分为三种: ● DDL(数据定义语言):用来创建和删除数据库或表等对象。 3:SQL的基本书写规则 ● SQL语句要以分号(;)结尾。 ● SQL不区分关键字的大小写,但是插入到表中的数据是区分大小写的。

    5K90发布于 2018-04-04
  • 来自专栏网安菜鸟成长记

    sql-labs-less9less10|脚本SQL时间盲注

    前言: 此系列为sql-labs第9关和第10关,两关差别不大,这一关使用sql时间盲注的方法,写脚本进行注入,前面的关卡没有用过时间盲注,所以这一关讲的比较详细,如果错误的地方还请大佬指正! 正文: less9: 本关无论注入正确与否页面都显示一样的回显,所以无法像第八关那样通过查看页面是否输出语句来判断注入的语句是否正确执行,这一关使用时间盲注方法 请看代码: import requests import time import datetime url = "http://localhost/sql-labs/Less-9/? difference > 1: dbname += chr(k) else: continue print("数据库名为 print("flag为->"+flag) get_flag() 跟第八关的脚本差不多,只是使用的注入语句有点差别,涉及到第八关的脚本详解这里不在多说,如果有不懂的请看第八关详解sql-labs-less8

    2.3K31发布于 2020-10-28
  • 来自专栏用户8739990的专栏

    sql数据库的基本介绍 sql数据库的作用

    在这个过程中,数据库的作用是不容忽视的。数据库可以帮助人们将数据的收集、提取变得更简单、更方便。在大数据处理领域,一种名为sql数据库工具吸引着很多的人。那么这是一种什么工具? sql数据库究竟有什么作用?下面就来为大家介绍一下。 image.png 一、功能众多的sql数据库 所谓sql,就是一种具有强大功能的数据库语言。 二、sql数据库的作用巨大 sql数据库有很多的优点。作为一个老牌的数据库整理程序,sql获得了广大用户的认可。就是因为其较其他数据库工具的优越性,使得sql逐渐的发展起来。 sql数据库在响应时间、服务器回应速度等细节方面占据了优势;在系统的接受与反馈方面超越了其他的数据库管理系统。除此之外,sql是一种非过程语言,这样的优点使得sql使用起来更加的方便。 同时sql是一种关系型数据库之间的公共语言,是其他语言之间的桥梁。 以上就是为大家带来的关于sql数据库的简单介绍。通过介绍,相信大家也了解到了sql数据库的具体优点。

    6.3K30发布于 2021-07-16
  • 来自专栏自动化、性能测试

    Mysql常用sql语句(9)- like 模糊查询

    测试必备的Mysql常用sql语句系列 https://www.cnblogs.com/poloyy/category/1683347.html 前言 like应该是最常用的查询条件了 必须滴掌握!

    4.6K20发布于 2020-06-09
  • 来自专栏学习有记

    T-SQL进阶:超越基础 Level 9:动态T-SQL代码

    通过插入TSQL代码,他们可以愚弄系统返回原本不应该获得的数据,或者更糟的是,对SQL Server数据库运行附加的TSQL命令。 为了演示动态TSQL如果不能正确管理SQL注入攻击,请先用Lsting 3中的代码创建一个数据库和一个表。我将使用该数据库和表来演示动态TSQL是如何易受到攻击SQL注入攻击的。 SQL注入式攻击 Listing 3中的代码将创建一个名为DYNA的数据库,然后创建并填充具有4行数据名为Product的表。 为此,首先我需要运行Listing 9中的代码。 创建并填充Client表 在运行Listing 9重新创建我的产品表之后,我可以运行Listing 5,6,7和8来证明我解决了我的SQL注入问题。

    2.8K20发布于 2018-07-18
  • 来自专栏全栈开发日记

    数据库SQL语言)

    SQL语言 结构化查询语言(Structured Query Language即SQL),可以通过命令行或图形化管理工具(navicat..) 作用与理解 SQL数据库查询和设计语言,用于存取数据、查询、更新、管理关系数据库。与其他程序设计语言的差别是,SQL由很少的关键字组成,每个SQL语言通过一个或多个关键字构成。 SQL的优点 一体化 ; 使用方式灵活:SQL2种使用方式,可以直接以命令方式交互使用;也可以嵌入到其他程序设计语言中使用(jdbc) ; 非过程化:只需要告诉计算机“做什么",而不需要使用SQL告诉计算机 "怎么做" ; 语言简洁; 注意: SQL语句不区分大小写; 在企业中为了方便辨认对SQL中的关键字进行大写,而对表名、列名、数据库名称使用小写;可以提高代码的阅读性和可维护性。 SQL语言分类 1.DDL(Data Definition Language):数据定义语言; 常见关键字:CREATE DROP ALTER 2.DML(Data Manipulate Language

    3.2K10编辑于 2022-05-12
  • 来自专栏总栏目

    数据库SQL练习

    总结,对于这种难sql,可以先写一部分拆分,但是有些知识不会,怎么拆都写不出来,比如先前的if,就得记住,得会。 废江博客 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 转载请注明原文链接:数据库SQL练习

    4.6K10编辑于 2022-09-05
  • 来自专栏乌龟哥哥默认学习专栏

    sql数据库优化

    SQL 执行的指导思想是什么? SQL 执行计划的正确依赖选择依赖于什么?统计信息为什么在 SQL 执行中起到关键性的作用?如何才能自动化收集统计信息?让 一起了解 SQL 执行优化的核心底座。 第一步就是 的用户业务在发送一个 SQL 语句到数据库,它首先是要经过解析器,通过词法分析,语法分析生成一个语法树,拿到了语法树以后,把它交给这个 SQL 的优化器,根据语法树看你要是做要查询哪些表, 接下来看一下统计信息在思维语句当中的一个这个层次关系,因为 进行数据库操作都使用SQL 语言,它也是一个结构化查询语言,它是一个高度的,并且是非过程化的一个编程语言。 既然是由于数据库内部自动完成了,因为 有很多不同的路径去选择,不同的操作方式去选择,那如何选择一个最优的?就是一个问题。 这是如果是复杂的一个场景,复杂 SQL 是这样计算的,如果是一个简单的SQL,比如说这个 SQL 我已经确定到,确定根据这个统计信息确定数据落在某一个 DN 上,就可以把这个 SQL 语句直接发到具体的

    1.4K00编辑于 2023-11-03
  • 来自专栏Pixel Fandom

    数据库SQL复习

    数据库SQL 1. 自动审核失败或人工审核失败)\r\n 3 待人工审核\r\n 4 人工审核通过\r\n 8 自动审核通过(待发布)\r\n 9 专业术语 RDBMS(Relaction DataBase Mangement System):MySQL、SQL Server、IBM DB2、Oracle SQL(Struted Query Language 三个图形:矩形(实体类型)、椭圆形(属性名)、菱形(关系)、连线(几对几的关系) SQL语言分类: ​ DDL:数据定义语言,一般用来对数据库表进行结构调整的,比如Create、Drop、Alter SQL之DML语句 3.1 增删改 插入一条: 插入一条频道 insert into wm_channel values (9,"Scala","新型编程语言",0,1,9,"2022-06-27 12

    3.5K30编辑于 2023-03-06
  • 来自专栏火山信安实验室

    泛微 E-cology9 SQL注入漏洞

    漏洞情况近期,火山信安实验室监测发现,泛微 E-cology 作为一款广泛应用于国内企事业单位的企业级协同办公系统(OA),存在典型的 SQL 注入漏洞,攻击者可通过构造恶意输入绕过系统验证,直接操纵数据库查询 0x01漏洞利用方式攻击者通过输入特殊字符(如 '、--、OR 1=1)探测系统响应以判断是否存在 SQL 注入点,随后利用该漏洞获取用户账号、密码、组织架构等敏感信息,或通过注入修改管理员权限、创建后门账户实现系统控制 ;进一步利用 UNION SELECT 或盲注技术(如布尔盲注、时间盲注)提取数据库内容,篡改业务数据(如删除或修改合同、审批记录),甚至执行 DROP TABLE 等破坏性操作摧毁系统;最终可能通过注入写入 0x02影响范围泛微 E-cology 9 < 10.750x03修复方案升级到安全版本:泛微已发布多个安全补丁,建议用户升级至最新稳定版本(如 E-cology 10.x)在代码层面增加对用户输入的过滤 (如禁止特殊字符 '、;、--)部署 Web 应用防火墙(如 ModSecurity),拦截 SQL 注入攻击启用系统日志,记录异常 SQL 查询行为来源自:广州盈基信息官网

    48610编辑于 2025-09-11
  • 来自专栏Java帮帮-微信公众号-技术文章全总结

    数据库数据库优化(SQL优化)

    数据库数据库优化(SQL优化) sql语句优化 1.查询的模糊匹配 尽量避免在一个复杂查询里面使用 LIKE '%parm1%'—— 红色标识位置的百分号会导致相关列的索引无法使用,最好不要用。 9月份在对XX系统做性能分析时发现,有大量的后台程序存在类似用法,如:where trunc(create_date)=trunc(:date1),虽然已对create_date 字段建了索引,但由于加了 empno,ename,category FROM emp WHERE empno = '7369' --而不要使用 SELECT * FROM emp WHERE empno = '7369' 9. 排序 避免使用耗费资源的操作,带有DISTINCT,UNION,MINUS,INTERSECT,ORDER BY的SQL语句会启动SQL引擎 执行,耗费资源的排序(SORT)功能. 是根据表中数据来进行查询优化的,当索引列有大量数据重复时,SQL查询可能不会去利用索引, 如一表中有字段sex,male、female几乎各一半,那么即使在sex上建了索引也对查询效率起不了作用。

    6K40发布于 2018-03-15
  • 来自专栏全栈程序员必看

    sql2012数据库可疑如何修复_sql数据库mdf还原

    大家好,又见面了,我是你们的朋友全栈君。 USE MASTER GO SP_CONFIGURE ‘ALLOW UPDATES’,1 RECONFIGURE WITH OVERRIDE GO ALTER DATABASE worker SET EMERGENCY GO sp_dboption ‘worker’, ‘single user’, ‘true’ GO DBCC CHECKDB(‘worker’,’REPAIR_ALLOW_DATA_LOSS’) GO ALTER DATABASE worker SET ONLINE GO sp_configure ‘allow updates’, 0 reconfigure with override GO sp_dboption ‘worker’, ‘single user’, ‘false’ GO

    3K20编辑于 2022-09-25
领券