-
sqlserver中通过osql/ocmd批处理批量执行sql文件的方法
利用osql/ocmd批处理批量执行sql文件注意:在上图中我们可以看到osql并不支持SQLServer2008的所有功能,如果需要使用SQLServer2008的所有功能可以使用ocmd命令。有了osql/ocmd命令要批量执行sql文件当然需要写一个批处理命令,例如我们执行上面sql文件就可以在txt中编写下面的语句:复制代码代码如下:osql-S"127.0.0.1"-U"sa"-P"sa"-d"Northwind"-i"%CD%/1.sql"osql-S"127.0.0.1"-U"sa"-P"sa"-d"Northwind"-i"%CD%/2.sql"然后保存成sql.bat同上面的1.sql和2.sql放到同一个文件下,在执行时双击sql.bat就可以了...
数据库操作教程 2022-09-23 20:41:36 -
SQL复合查询条件(AND,OR,NOT)对NULL值的处理方法
NULL值影响查询条件的结果,并且结果很微妙。 以下是SQL中AND,OR,NOT的真值表...
数据库操作教程 2022-09-23 20:24:31 -
IN&EXISTS与NOTIN&NOTEXISTS的优化原则小结
1.EXISTS的执行流程select*fromt1whereexists(selectnullfromt2wherey=x)可以理解为:复制代码代码如下:forxin(select*fromt1)loopif(exists(selectnullfromt2wherey=x.x)thenOUTPUTTHERECORDendifendloop对于in和exists的性能区别:如果子查询得出的结果集记录较少,主查询中的表较大且又有索引时应该用in,反之如果外层的主查询记录较少,子查询中的表大,又有索引时使用exists。其实我们区分in和exists主要是造成了驱动顺序的改变(这是性能变化的关键),如果是exists,那么以外层表为驱动表,先被访问,如果是IN,那么先执行子查询,所以我们会以驱动表的快速返回为目标,那么就会考虑到索引及结果集的关系了另外IN时不对NULL进行处理,如:select1fromdualwherenullin(0,1,2,null)结果为空...
数据库操作教程 2022-09-23 20:21:01 -
MicrosoftSQLServer的版本区别及选择
对于新接触SQL数据库的人来说,类似这几个问题的有关于SQL版本的问题可以说不少,但又懒得去仔细研究。问题虽然简单,可是影响却不小...
数据库操作教程 2022-09-23 20:17:54 -
SQLServer优化SQL语句in和notin的替代方案
但是用IN的SQL性能总是比较低的,从SQL执行的步骤来分析用IN的SQL与不用IN的SQL有以下区别:SQL试图将其转换成多个表的连接,如果转换不成功则先执行IN里面的子查询,再查询外层的表记录,如果转换成功则直接采用多个表的连接方式查询。由此可见用IN的SQL至少多了一个转换的过程...
数据库操作教程 2022-09-23 20:16:38 -
sql语句优化之用EXISTS替代IN、用NOTEXISTS替代NOTIN的语句
在许多基于基础表的查询中,为了满足一个条件,往往需要对另一个表进行联接。在这种情况下, 使用EXISTS(或NOT EXISTS)通常将提高查询的效率...
数据库操作教程 2022-09-23 20:15:10 -
CentOS7.3上SQLServervNextCTP1.2安装教程
SQLServervNextCTP1.2安装教程:此安装过程参考微软官方的安装文档:https://docs.microsoft.com/zh-tw/sql/linux/sql-server-linux-overview支持的环境:微软官方提示,在Linux上安装SQLServer需要至少3.25GB的内存,否则会配置失败。为了方便使用,这里采用的是CentOSLinuxrelease7.3.1611,配置了4GB的内存,也可以根据自己的实际情况进行选择合适的版本...
数据库操作教程 2022-09-23 18:17:59 -
CentOS8安装SQLServer2019的过程
1.下载MicrosoftSQLServer2019RedHat存储库配置文件:#curl-o/etc/yum.repos.d/mssql-server.repohttps://packages.microsoft.com/config/rhel/8/mssql-server-2019.repo2.运行以下命令以安装SQLServer:#yuminstall-ymssql-server3.包安装完成后,运行mssql-confsetup,按照提示设置SA密码并选择版本。#/opt/mssql/bin/mssql-confsetup4.sqlserver默认使用1433端口,可关闭防火墙或开放1433端口进行远程安装SQLServer命令行工具若要创建数据库,则需要使用可在SQLServer上运行Transact-SQL语句的工具进行连接...
数据库操作教程 2022-09-23 18:17:39 -
MySQL5.7createVIEWorFUNCTIONorPROCEDURE
1.视图a.CREATEALGORITHM=UNDEFINEDDEFINER=`root`@`localhost`SQLSECURITYINVOKERVIEW`sakila`.`actor_info`ASSELECT`a`.`actor_id`AS`actor_id`,`a`.`first_name`AS`first_name`,`a`.`last_name`AS`last_name`,GROUP_CONCAT(DISTINCTCONCAT(`c`.`name`,':',(SELECTGROUP_CONCAT(`f`.`title`ORDERBY`f`.`title`ASCSEPARATOR',')FROM((`sakila`.`film``f`JOIN`sakila`.`film_category``fc`ON((`f`.`film_id`=`fc`.`film_id`)))JOIN`sakila`.`film_actor``fa`ON((`f`.`film_id`=`fa`.`film_id`)))WHERE((`fc`.`category_id`=`c`.`category_id...
数据库操作教程 2022-09-23 18:13:44 -
SQLSERVER2012新增函数之逻辑函数CHOOSE详解
SQLSERVER2012中新增了CHOOSE,该函数可以从值列表返回指定索引处的项。例如:selectCHOOSE(3,'A','B','C','D')asR1/*R1----C*/CHOOSE并不能这么用,例如有个字符串'A,B,C,D',我们并不能用choose得到其中的某个值:selectchoose(2,'A,B,C,D')/*null*/CHOOSE的主要功能和CASEWHEN类似,例如数据库中有字段Sex:1表示男,2表示女...
数据库操作教程 2022-09-23 18:11:54 -
Mybatis非配置原因,导致SqlSessionwasnotregisteredforsynchronization异常
今天运行程序时报了SqlSession[org.apache.ibatis.session.defaults.DefaultSqlSession@69d4fb43]wasnotregisteredforsynchronizationbecausesynchronizationisnotactive[11:03:17]-ClosingnontransactionalSqlSession[org.apache.ibatis.session.defaults.DefaultSqlSession@69d4fb43]由于异常是集中处理的,所以报了这样的错误,查了半天,网上结果都是说配置文件出错的,可是我的项目配置文件肯定是没错的,因为项目都开发了好长时间了,只是我今天写了个方法才报的这个错误,所以排除配置文件出错,可是我写的方法应该没问题的,以前也这样写的呀。 网上查半天没找到原因,没办法,只能看看自己的程序了,把自己写的方法异常直接打印出来,先不集中处理,然后异常出来了:org.mybatis.spring.MyBatisSystemE...
数据库操作教程 2022-09-23 18:10:10 -
CentOS安装SQLServervNextCTP1教程
今天微软正式发布上SQLServer2016SP1,根据以往的SP1定律,可以在生产环境上使用了。打了SP1的标准版将具有企业版几乎所有的的功能...
数据库操作教程 2022-09-23 18:09:08