![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
SQL
文章平均质量分 62
当走的路甚远
这个作者很懒,什么都没留下…
展开
-
SQL - 数据库索引原理,及MySQL索引类型
本文介绍了七种MySQL索引类型。在数据库表中,对字段建立索引可以大大提高查询速度。通过善用这些索引,可以令MySQL的查询和运行更加高效。索引是快速搜索的关键。MySQL索引的建立对于MySQL的高效运行是很重要的。下面介绍几种常见的MySQL索引类型。在数据库表中,对字段建立索引可以大大提高查询速度。假如我们创建了一个 mytable表:CREATETABLEmytable( IDINTNOTNULL, usernameVARCHAR(16)NOTNULL...转载 2021-02-01 16:04:02 · 127 阅读 · 0 评论 -
SQL - 深入理解MySQL索引之B+Tree
正确的创建合适的索引,是提升数据库查询性能的基础。在正式讲解之前,对后面举例中使用的表结构先简单看一下:create table user( id bigint not null comment 'id' primary key, name varchar(200) null comment 'name', age bigint null comment 'age', gender int null comment '转载 2021-02-01 15:35:50 · 506 阅读 · 0 评论 -
SQL - SQL Server 一列或多列重复数据的查询,删除
数据库测试表dbo.Member一、单列重复一,带有having条件的分组查询方法(1)查询某一列重复记录语句: SELECT Name FROM dbo.Member t WHERE Name IN (SELECT Name FROM dbo.Member GROUP BY Name HAVING COUNT(Name)>1 ) ORDER BY t.Name查询结果:(2)查询某一列不重复的记录语句:SELECT * FROM dbo.Me...原创 2021-01-04 09:45:47 · 7911 阅读 · 2 评论 -
SQL - SQL Server中如何取年、月、日 -DATEPART函数
DATEPART返回代表指定日期的指定日期部分的整数。语法DATEPART(datepart,date)参数datepart是指定应返回的日期部分的参数。下表列出了 Microsoft® SQL Server™ 识别的日期部分和缩写。日期部分 缩写 year yy, yyyy quarter qq, q month mm, m dayofyear dy, y day dd, d week wk, ww ...原创 2021-01-04 09:40:27 · 4563 阅读 · 0 评论 -
SQL - SQL Server查询近7天的连续日期
select dateadd(day,number,convert(date,dateadd(DD,-6,getdate()),23)) as RQfrom master.dbo.spt_values where type ='P'and number <=DATEDIFF(day, convert(date,dateadd(DD,-6,getdate()),23), GETDATE())原创 2021-01-04 09:37:36 · 953 阅读 · 0 评论 -
SQL - SQL Server判断字符串中是否有中文
判断是否有中文字符创建测试表方法一SELECT *FROM dbo.personWHERE zz LIKE '%[吖-座]%';方法二--汉字unicode编码范围:[0x4e00,0x9fa5](或十进制[19968,40869]) SELECT * FROM dbo.person WHERE UNICODE(zz) BETWEEN 19968 AND 40869或WHERE UNICODE(zz) BETWEEN 0原创 2021-01-04 09:35:38 · 5382 阅读 · 0 评论 -
SQL - SQL Server 性能优化之SQL语句总结
1、不要使用select *在select中指定所需要的列,将带来的好处:(1)减少内存耗费和网络的带宽(2)更安全(3)给查询优化器机会从索引读取所有需要的列2、in 和 not in 要慎用,否则会导致全表扫描如:select id from t where num in(1,2,3)3、对于连续的数值,能用 between 就不要用 inselect id from t where num between 1 and 34、使用exists 代替 insel原创 2020-12-24 14:24:18 · 209 阅读 · 0 评论 -
SQL - SQL Server中如何获取当前年,月,日,时,分,秒
Select GETDATE() as '当前日期',DateName(year,GetDate()) as '年',DateName(month,GetDate()) as '月',DateName(day,GetDate()) as '日',DateName(dw,GetDate()) as '星期',DateName(week,GetDate()) as '周数',DateName(hour,GetDate()) as '时',DateName(minute,GetDate()) as.原创 2020-12-22 11:38:32 · 7870 阅读 · 0 评论 -
SQL - SQL Server 之WHILE循环的坑
设置重复执行 SQL 语句或语句块的条件。只要指定的条件为真,就重复执行语句。可以使用 BREAK 和 CONTINUE 关键字在循环内部控制 WHILE 循环中语句的执行。语法-- Syntax for SQL Server and Azure SQL Database WHILE Boolean_expression { sql_statement | statement_block | BREAK | CONTINUE }参数Boolean_exp...原创 2020-12-14 18:23:24 · 1038 阅读 · 0 评论 -
SQL - SQL Server 之Merge函数使用详解
Merge关键字在SQL Server 2008被引入,它能将Insert,Update,Delete简单的并为一句。MSDN对于Merge的解释非常的短小精悍:”根据与源表联接的结果,对目标表执行插入、更新或删除操作。例如,根据在另一个表中找到的差异在一个表中插入、更新或删除行,可以对两个表进行同步。”,通过这个描述,我们可以看出Merge是关于对于两个表之间的数据进行操作的。 可以想象出,需要使用Merge的场景比如: 数据同步 数据转换 基于源表对目标表做I...原创 2020-12-14 15:03:59 · 4717 阅读 · 0 评论 -
SQL - SQL Server 之ETL详解
ETL是将业务系统的数据经过抽取、清洗转换之后加载到数据仓库的过程,目的是将企业中的分散、零乱、标准不统一的数据整合到一起,为企业的决策提供分析依据。ETL是BI项目重要的一个环节。 通常情况下,在BI项目中ETL会花掉整个项目至少1/3的时间,ETL设计的好坏直接关接到BI项目的成败。 ETL的设计分三部分:数据抽取、数据的清洗转换、数据的加载。在设计ETL的时候我们也是从这三部分出发。数据的抽取是从各个不同的数据源抽取到ODS(Operational Data Store,操作型数据存...原创 2020-12-14 14:49:25 · 2902 阅读 · 0 评论 -
SQL - SQL Server 之按年份分组查询
SQLSERVER中按年月分组一个表有三个字段id,dt,d分别存放id,时间,数值ID DT d 1 2015-08-11 12:12:00.000 9 2 2016-09-11 12:12:00.000 2 3 2017-10-11 12:12:00.000 6 4 2018-11-11 12:12:00.000 10 5 2019-12-11 12:12:00.000 0 要求按...原创 2020-12-14 14:42:05 · 4607 阅读 · 0 评论 -
SQL - SQL Server 之处理JSON数据
下面是 JSON 文本的示例[{"name": "John","skills": ["SQL", "C#", "Azure"]}, {"name": "Jane","surname": "Doe"}]通过使用 SQL Server 内置函数和运算符,你可以对 JSON 文本执行以下操作:分析 JSON 文本和读取或修改值。 将 JSON 对象数组转换为表格式。 在转换后的 JSON 对象上运行任意 Transact-SQL 查询。 将 Transact-SQL 查询的结果设置原创 2020-12-14 14:30:47 · 3041 阅读 · 1 评论 -
SQL - SQL Server 之遍历数据集合的几种方法
阅读目录使用游标 使用表变量 使用临时表 在数据库开发过程中,我们经常会碰到要遍历数据表的情形,一提到遍历表,我们第一印象可能就想到使用游标,使用游标虽然直观易懂,但是它不符合面向集合操作的原则,而且性能也比面向集合低。当然,从面向集合操作的角度出发,也有两种方法可以进行遍历表的操作,总结起来,遍历表有下面几种方法。使用游标 使用表变量 使用临时表我的需求是:针对HR.Employees表,新增一列fullname,并取值firstname+lastname。ALTER TAB.原创 2020-12-14 14:20:21 · 6315 阅读 · 0 评论