IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> SQL server数据库重点总结 -> 正文阅读

[大数据]SQL server数据库重点总结

SQL server数据库重点总结

select

select 字段 from 表名 (where 条件)/(其他限制条件)

业务开发时,避免使用select *,应当只select需要的字段

原因:

  • 增加查询分析器解析成本。
  • 增减字段容易与 resultMap 配置不一致。
  • 无用字段增加网络消耗,尤其是 text 类型的字段。

总的来说,就是你查到你想要的字段时,相比于你查到所有字段所花费的时间、资源要少。

update

正确的语法:update 表名 set 字段 = ’ 字符类型 ’ , 字段 = 值类型;

错误的写法:update 表名 set 字段 = ’ 字符类型 ’ and 字段 = 值类型;

注:对于mysql而言,第二种写法是可以的,如果and前面是值类型 1 就会和 and语句后边的内容进行拼接,最后得到错误的结果。sql server会报语法错误。

注意事项

update与delete是对表数据的变更操作,因此在编写update与delete的SQL时,务必注意where条件的准确性,避免因遗漏条件造成的误修改甚至全表修改。

(删库之后你就可以跑路了,要什么自行车)

模糊查询

select name, age from student_info where name like ‘姚%’ ;

select name, age from student_info where name like ‘%姚%’ ;

第一个方法支持使用索引,第二个就不支持使用索引

那么问题来了什么是索引呢?

索引

这个东西就好比书的目录,当你要看书的时候,你首先要看目录上有没有,如果有你就直接翻到了你想要的那一页。当你查询数据的时候,首先会看一看你的索引表中有没有你要查询的内容,如果有的话就很快查询到了相应的数据,如果没有的话就一点一点去查,就像一本没有目录的书,说到这你应该知道索引的重要性了吧!

SQL Server数据库中,创建索引默认是离线的方式进行。离线即锁表,影响其他连接的CRUD操作,造成加索引的表不可访问,直到索引创建完成。

通过添加with (online = on)参数,可以使加索引成为联机操作,不影响其他连接的CRUD操作,联机操作对高并发且非常繁忙的数据库系统非常重要。

索引的相关语法操作
create index 字段 on 表名(字段)

JOIN

//来着一种古老的语法
select s1.name s2.name from student1 s1 , student2 s2 where s1.id = s2.id

//21实际新的语法
select s1.name s2.name from student1 s1 join student2 s2 on s1.id = s2.id

And 和 Or

方式一:

select name, age, gender 
from staff_info 
where name = '姚晓明' and ( age = 18 or gender = 1 );

方式二:

select name, age, gender 
from staff_info 
where name = '姚晓明' and age = 18 or gender = 1;

注意这俩种语法的区别是一样的吗? 答案:不一样

为啥不一样? 答案:一个有括号,一个没括号(皮一下)

where 和 having

where

1、在分组(group by)之前过滤

2、不能使用聚合函数

having

1、在分组(group by)之后过滤

2、可以使用聚合函数

GO 和 分号

Go

1、一个批处理(多个SQL语句)的结束

2、用户定义的变量,只在下一个go之前的范围内生效

分号

1、一个SQL语句的结束

2、通常情况下,SQL Server能够解析到SQL的结束位置,因此在SQL Server中,分号不是必须的

delete,drop,truncate 区别

1、delete 和 truncate 仅仅删除表数据,drop 连表数据和表结构一起删除,打个比方,delete 是单杀,truncate 是团灭,drop 是把电脑摔了。

2、delete 是 DML 语句,操作完以后如果没有不想提交事务还可以回滚,truncate 和 drop 是 DDL 语句,操作完马上生效,不能回滚,打个比方,delete 是发微信说分手,后悔还可以撤回,truncate 和 drop 是直接扇耳光说滚,不能反悔。

3、执行的速度上,drop>truncate>delete,打个比方,drop 是神舟火箭,truncate 是和谐号动车,delete 是自行车。

分页查询

分页查询我目前知道的有三种查询方式,当时查询时间是很长的,希望可以创建相关的索引来实现快速查询的方式。
介绍分页查询我喜欢的一种方式:
(因为这种查询方式语句相比而言比较少,好理解)
在这里插入图片描述

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-09-13 11:22:43  更:2022-09-13 11:25:46 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 10:37:24-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码