一、安装2个不同版本的数据库 分2次在一台电脑上独立安装2个不同版本的SQL SERVER,安装时选择不同的安装路径,另外使用不同的实例名,其中有一个可以使用默认实例名(空)。...如下图第2个2012版安装时就没有输入实例名,第2次安装2016版时输入了实例名:SQL2016。...安装完后正常可通过SQL Server Management Studio(Ssms.exe)访问这2个数据库。...如下图: 二、远程访问这2个数据库 启动SQL Server Management Studio 数据库管理器,对2个数据库实例“右击/属性“,然后分别进行如下设置: 1、安全性下设置 2、连接设置...3、账户安全设置 4、方面(Facets)设置 启动SQL Server 配置管理器,在SQL Server 服务下可看到2个运行的SQL Server服务,如下图: 5、实例网络配置 TCP
NL.20: Don't place two statements on the same line NL.20:不要在同一行上放置两个语句 Reason(原因) Readability....当一行上有更多语句时,很容易忽略某条语句。
SQL是一种声明式编程语言,即只需表明需要什么而无需关注实现细节(C#中的LINQ也是如此)。 SQL方言:在SQL标准的基础上延伸的其它语言,如SQL Server中所使用的T-SQL。...如:LIKE '%x' 运算符 SQL中的运算符与高级编程语言(C#,JAVA)类似。当多个运算符出现在同一表达式中时,SQL Server会按照运算符的优先级进行计算。...同时操作 SQL中有all-at-once operations(同时操作)的概念,即出现在同一逻辑处理阶段的所有表达式在同一时间进行逻辑计算。...CASE...WHEN... CASE表达式是标量表达式,返回一个符合条件的值。注意,CASE是表达式,不是语句,与COUNT类似。...行的窗口使用OVER子句定义。 锁与事务隔离级别 SQL Server默认情况下,查询语句会申请共享锁。
需要注意的是,CASE是表达式而不是语句,它不允许你控制活动流或是做一些基于条件逻辑的操作。不过,它的返回值是基于条件逻辑的。...例如salary>0出现在查询筛选中(WHERE或HAVING),将返回表达式计算为TRUE的行或组,那些结果为FALSE的会被筛选掉。...同样,如果谓词salary>0出现在表的CHECK约束中,所有行的表达式计算为TRUE的INSERT或UPDATE语句会被接收,而那些计算结果为FALSE的会被拒绝。...同时操作 SQL支持一个称作同时操作的概念,意思是出现在同意逻辑处理阶段的所有表达式在同一时间点进行逻辑计算,例如: SELECT col1, col2 FROM dbo.T1 WHERE...遗憾的是,SQL Server不支持短路,它基于标准SQL的同事操作概念,SQL Server可以按任意顺序自由处理WHERE子句中的表达式。
语法基础 1.标识符 在SQL Server中,标识符就是指用来定义服务器、数据库、数据库对象和变量等的名称。...其语法格式如下: IF Boolean_expression {sql语句|语句块} [ELSE {sql语句|语句块}] ③CASE语句 使用CASE语句可以进行多个分支的选择。...CASE具有两种格式: 简单CASE格式:将某个表达式与一组表达式进行比较以确定结果。 搜索CASE格式:计算一组布尔表达式以确定结果。 注: CASE语句只能用于SQL语句的一部分,不能独立成句。...catch 6.注释 SQL Server的两种注释字符: ① --(双连字符) 这些注释字符可与要执行的代码处在同一行,也可另起一行。...取值 含义 0 FETCH语句成功 -1 FETCH语句失败或此行不在结果集中 -2 被提取的行不存在 @@ROWCOUNT 全局变量 用来提供游标活动信息,它返回受上一语句影响的行数。
表达式可以是下列任何一种: 常量 函数 列名 变量 子查询 CASE、NULLIF 或 COALESCE 还可以用运算符对这些实体进行组合以生成表达式。 2.6 Transact-SQL 运算符 ?...SQL Server 支持两种类型的注释字符: --(双连字符)。这些注释字符可与要执行的代码处在同一行,也可另起一行。从双连字符开始到行尾的内容均为注释。...对于多行注释,必须在每个注释行的前面使用双连字符。 ? (正斜杠-星号字符对)。这些注释字符可与要执行的代码处在同一行,也可另起一行,甚至可以在可执行代码内部。...保留关键字是 SQL Server 使用的 Transact-SQL 语言语法的一部分,用于分析和理解 Transact-SQL 语句和批处理。...尽管在 Transact-SQL 脚本中使用 SQL Server 保留关键字作为标识符和对象名在语法上是可行的,但规定只能使用分隔标识符。 下表列出了 SQL Server 保留关键字。 ? ?
ID列: 表示执行SELECT语句的顺序 ID相同时,执行顺序由上至下 ID越大优先级越高,越优先被执行 SELECTTYPE列: SIMPLE:不包含子查询或是UNION操作的查询 PRIMARY:...CREATE INDEX idx_productID_auditStatus ON product_comment(product_id,audit_status) 如何删除重复数据 业务场景:删除评论表中对同一订单同一商品的重复评论...查看是否存在对于同一订单同一商品的重复评论。...SELECT COUNT(CASE WHEN IFNULL(total_money,0) >=1000 THEN a.customer_id END) AS '>1000' ,COUNT(CASE...`customer_id` 捕获有问题的SQL-慢查日志 启动MySQL慢查日志 set global show_query_log_file = /sql_log/show_log.log set
) 数据的插入——INSERT 数据的更改——UPDATE 数据的删除——DELETE 数据的查询——SELECT 查询是SQL语言的中心内容,而用于表示SQL查询的SELECT语句,是SQL...SQL Server并得以执行的一条或多条T-SQL语句。...某些特殊的SQL指令不能和别的SQL语句共存在一个批处理中,如CREATE TABLE和CREATE VIEW语句。这些语句只能独自存在于一个单独的存储过程中。 ...批处理必须以 CREATE 语句开头,所有跟在该批处理后的其他语句将被解释为第一个 CREATE 语句定义的一部分。 不能在删除一个对象之后,在同一批处理中再次引用这个对象。 ...不能在定义一个CHECK约束之后,在同一个批处理中使用。 不能在修改表的一个字段之后,立即在同一个批处理中引用这个字段。 使用SET语句设置的某些选项值不能应用于同一个批处理中的查询。
SQL Server 2008中引入了一个GROUPING_ID函数,简化了关联结果行和分组集的处理,可以容易地计算出每一行和哪个分组集相关联。 ...③ 基于联接的DELETE:也不是标准SQL语句,可以根据另一个表中相关行的属性定义的过滤器来删除表中的数据行。 ...① SET语句每次只能针对一个变量进行操作 --set方式 declare @i as int set @i=10; --SQL Server 2008可以在同一语句同时声明和初始化变量 declare...@i as int = 10; ② SELECT语句允许从同一行中获得的多个值分配给多个变量。...(2)批处理:客户端应用程序发送到SQL Server的一组单条或多条T-SQL语句,SQL Server将批处理语句作为单个可执行的单元。 ?
赶脚俺弱小的智力已经完全无法记清楚常见的命令了,即使是用的最熟悉的T-SQL(SQL Server)。因此将最常见的T-SQL操作做个简单的总结,包括一些容易忽视的知识点和常见的开发样例。...这部分中重要的概念就是要弄清楚SQL语句具体的执行顺序,记得在南京做一个短期培训讲师期间,就发现这部分是一个很容易被忽视的基础,一旦弄清这部分内容,基本的标准SQL的编写基本上就没有很大问题了。...其实,SQL SERVER能够识别查询中重复使用的相同表达式,也就是说在一个查询,出现多次相同的表达式,实际上只会运算一次,简直赞赞哒。...CASE是一个标量表达式,返回一个基于条件逻辑的值,需要注意CASE不是语句不能用于控制逻辑(比如IF ELSE),实际中,CASE的使用场景还是很多的,比如行列转换等,才外,ORANGE有一个叫做的...*) FROM Address WHERE region 'Beijing' OR region IS NULL 同时操作 同时操作(all-at-once operations)表示出现在同一逻辑处理阶段的所有表达式在同一时间点进行逻辑运算
「PS」: 为了减少对mysql dump的请求,不同server上的instance要求同一时间只能有一个处于running,其他的处于standby状态。...」 映射sql 「etlCondition」 etl 的条件参数,全量同步时可以使用 「commitBatch」 提交批大小 sql映射支持多表关联自由组合, 但是有一定的限制: 主表不能为子查询语句..., 比如修改了where条件中的字段内容) 关联条件只允许主外键的'='操作不能出现其他常量判断比如: on a.role_id=b.id and b.statues=1 关联条件必须要有一个字段出现在主查询语句中比如...: on a.role_id=b.id 其中的 a.role_id 或者 b.id 必须出现在主select语句中 Elastic Search的mapping 属性与sql的查询值将一一对应(不支持...TPS(tableRows) 分别对应store的put, get, ack操作针对数据表变更行的TPS。
使用 EXPLAIN 分析查询语句,解析每一项的含义,并给出优化建议。 MySQL 版本:10.5.5-MariaDB MariaDB Server。...system:表中只有一行数据或者该表为空表,这个方式通常出现在 myisam 和 memory 的引擎中,innodb 一般会展示为 all 或 index。...如将主键置于where列表中,MySQL就能将该查询转换为一个常量 eqref:出现在要连接几个表的查询计划中,驱动表只返回一行数据,且这行数据是第二个表的主键或者唯一索引,且必须为 not null...This is the case if type is index and key is PRIMARY....下面的SQL语句对 students 表在 sid 上添加 PRIMARY KEY 索引: ALTER TABLE students ADD PRIMARY KEY (sid) 4.删除索引 可利用ALTER
执行过程 引述: 执行过程部分,分为 4 个部分: COUNT( * )前置流程: 从 Client 端发 SQL 语句,到 MySQL-Server端执行 SELECT 之前,为后面的一些阐述做一铺垫...Mysql-Server端接收数据包,由协议解析出 command 类型 ( QUERY ) 及 SQL 语句 ( 字符串 ) 。...SQL 语句经过解析器解析输出为 JOIN类的对象,用于结构化地表达该 SQL 语句。...即使是MIN ( id ) 也不一定就读取的是 id 最小的那一行,因为也同样有行可见性的问题,实际上 index_read 取到的是 当前事务内语句可见的最小 index 记录。...A:从 MVCC 机制与行可见性问题中可得到原因,每个事务所看到的行可能是不一样的,其 count( * )结果也可能是不同的;反过来看,则是 MySQL-Server 端无法在同一时刻对所有用户线程提供一个统一的读视图
对于NULL最大的误解是当NULL被用作行值表达式完整性约束条件时。另一个误解出现在对于NULL 在 NOT IN anti-joins的应用中。 解决方法: 好好的训练你自己。...即使没有支持这些语句的数据库,仍有可能对ROWNUM(Oracle)或者是ROW NUMBER()、OVER()过滤(DB2、SQL Server2008等),这些比在内存中实现分页更快速。...一些数据库理解其它形式的更新插入(UPSERT)语句, 如 MYSQL的重复主键更新语句,但是MERGE在数据库中确是很强大,很重要,以至于大肆扩展SQL标准,例如SQL SERVER。...9、使用内存间接排序 SQL的ORDER BY语句支持很多类型的表达式,包括CASE语句,对于间接排序十分有用。...如果你的所有记录都插入到同一个表时,那么就创建一个带有一条SQL语句以及附带很多值集合的插入批处理语 句。
一、SQL Server体系结构 1.1 数据库的物理布局 ? 数据库在物理上由数据文件和事务日志文件组成,每个数据库必须至少有一个数据文件和一个日志文件。 ...(2)日志文件则用于保存SQL Server为了维护事务而需要的信息。虽然SQL Server可以同时写多个数据文件,但同一时刻只能以顺序方式写一个日志文件。...(4)关于OVER子句:为行定义一个窗口以便进行特定的运算 OVER子句的优点在于能够在返回基本列的同时,在同一行对它们进行聚合;也可以在表达式中混合使用基本列和聚合值列。 ...在SQL中,对于UNKNOWN和NULL的处理不一致,这就需要我们在编写每一条查询语句时应该明确地注意到正在使用的是三值谓词逻辑。 ...在T-SQL中,集合之差使用EXCEPT集合运算实现的。它对两个输入查询的结果集进行操作,反会出现在第一个结果集中,但不出现在第二个结果集中的所有行。
sql server详细的基础总结,可先点开CSDN自带的博客目录看看大体结构~ 一. 数据库简介和创建 1....系统数据库 在安装好SQL SERVER后,系统会自动安装5个用于维护系统正常运行的系统数据库: (1)master:记录了SQL SERVER实例的所有系统级消息,包括实例范围的元数据(如登录帐号)...(备份还原时) (3)model:SQL SERVER 实例上创建的所有数据库的模板。 (4)tempdb:临时数据库,用于保存临时对象或中间结果集,为数据库的排列等操作提供一个临时工作空间。...(3)页是存储数据的最小空间分配单位,页的大小决定了数据库表中一行数据的最大大小。 3. SQL语句 数据库操作 (1)创建数据库 CREATE DATABASE database_name 二....SQL数据操作语言 1.数据查询语句 1.1 查询语句的基本结构 SELECT --需要哪些列 From --来自哪张表 [WHERE 行选择条件
执行过程部分,分为 4 个部分: (1)COUNT( * ) 前置流程: 从 Client 端发 SQL 语句,到 MySQL-Server 端执行 SELECT 之前,为后面的一些阐述做一铺垫。...(2)Mysql-Server 端接收数据包,由协议解析出 command 类型 ( QUERY ) 及 SQL 语句 ( 字符串 ) 。...(3)SQL 语句经过解析器解析输出为 JOIN 类的对象,用于结构化地表达该 SQL 语句。...即使是 MIN ( id ) 也不一定就读取的是 id 最小的那一行,因为也同样有行可见性的问题,实际上 index_read 取到的是 当前事务内语句可见的最小 index 记录。...A:从 MVCC 机制与行可见性问题中可得到原因,每个事务所看到的行可能是不一样的,其 count( * ) 结果也可能是不同的;反过来看,则是 MySQL-Server 端无法在同一时刻对所有用户线程提供一个统一的读视图
领取专属 10元无门槛券
手把手带您无忧上云