-
SQLSERVER中忽略索引提示
所属栏目:[MsSql教程] 日期:2020-12-12 热度:142
当我们想让某条查询语句利用某个索引的时候,我们一般会在查询语句里加索引提示,就像这样 代码如下: 当在生产环境里面,由于这个索引提示的原因,优化器一般不会再去考虑其他的索引,那有时候这个索引提示可能会导致查询变慢 经过你的测试,发现确实是因为[详细]
-
SQLSERVERAGENT警告:事件 ID: 312
所属栏目:[MsSql教程] 日期:2020-12-12 热度:50
Successfully re-opened the local eventlog - NOTE: Some events may have been missed. Attempting to to re-open the local eventlog... Unable to read local eventlog (reason: 事件日志文件已在读取间更改。). 事件类型: 警告 事件来源: SQLSERVERAGEN[详细]
-
sql2000报错Successfully re-opened the local eventlog解决方法
所属栏目:[MsSql教程] 日期:2020-12-12 热度:70
报错1:Unable to read local eventlog (reason: 事件日志文件已在读取间更改。 报错2:Successfully re-opened the local eventlog - NOTE: Some events may have been missed. 微软解释: 如果要防止错误日志,中出现这些消息可以使用跟踪标志 2505 作为启[详细]
-
SQLSERVER数据备份文件的分割备份方法
所属栏目:[MsSql教程] 日期:2020-12-12 热度:52
当完整备份数据库的时候,我们有时候可能会遇到一种极端情况,比如服务器上C,D,E三个盘符都只剩下5G空间了 但是如果要完整备份业务库需要12G的空间,那么这时候怎么办呢? 使用文件组备份吗?但是数据库没有做表分区,没有分多个文件组,就只有一个主文件组[详细]
-
sql server的 update from 语句的深究
所属栏目:[MsSql教程] 日期:2020-12-12 热度:56
一般来说update一个表, 使用where语句即可: 代码如下:UPDATE Ttest SET statusInd = 'ACTIVE' WHERE id = 123 注意: update 语句后面的table名称,是不可以启用别名的。 那么此时的id字段,就是来自Ttest表的(无可厚非) 但是,如果update,还有额外的jo[详细]
-
安装sql server2008后再安装sql 2005找不到本地服务器的解决方法
所属栏目:[MsSql教程] 日期:2020-12-12 热度:98
最近在项目中安装sql server 2005,发现找不到本地服务器,因为此前我已经安装了sql server2008,打开2005数据库引擎后找不到本地服务器,在网上也找不到正确的解决办法,以为是组件没有安装,有重新安装一次问题依然存在,当时很是郁闷, 后来想想是不是组[详细]
-
必须会的SQL语句(一) 创建数据库与删除数据库
所属栏目:[MsSql教程] 日期:2020-12-12 热度:54
1.创建数据库 2.删除数据库 只能用drop drop database 名称[详细]
-
必须会的SQL语句(二) 创建表、修改表结构、删除表
所属栏目:[MsSql教程] 日期:2020-12-12 热度:140
1.创建数据库表 2.删除表 Drop table 表名 3.修改表结构 --增加列 Alter table 表名 Add 列名 类型 --删除列 Alter table 表名 drop cloumn 列名 --修改列,修改列类型 Alter table 表名 Alter column 列名 type[详细]
-
必须会的SQL语句(三) 数据插入
所属栏目:[MsSql教程] 日期:2020-12-12 热度:88
1.规范一些使用插入语句的小规范 1)中文字符串前 最好 加一个N 2)列名用中括号 扩起来 像这样 [列名] 2.常规写法 Insert into tableName ( [column1],[column2] ) values (N'中文','11ds') 3.多行一条语句插入多行 insert into 表名 ([列1],[列2]) selec[详细]
-
必须会的SQL语句(四) 数据删除和更新
所属栏目:[MsSql教程] 日期:2020-12-12 热度:194
1.删除 1)删除记录 Delete from 表名 where id ='xx' 2)删除所有数据,并回归初始化标识字段。 Truncate table 表名 3)delete与truncate区别 a. truncate是能使种子回到初始值 b. truncate不能加条件 c. truncate不能涉及触发器 d. truncate性能要比delet[详细]
-
必须会的SQL语句(五) NULL数据处理和类型转换
所属栏目:[MsSql教程] 日期:2020-12-12 热度:174
1.Null数据的处理 1)检索出null值 select * from 表 where xx is null 2)null值替换 select name, isnull ( cast (字段 as varchar(20)),'空') from 表名 2.数据类型转换 1)Cast --'101'可以用表中字段来替换 select cast('101' as varchar(20)) 2)Conv[详细]
-
必须会的SQL语句(六) 数据查询
所属栏目:[MsSql教程] 日期:2020-12-12 热度:140
1.基础的查询 1)重命名列 select name as '姓名' from 表名 2)定义常量列 select 是否 ='是' from 表名 3)top用法 percent --这种写法可以获取前20%条字段。 select top 20 percent * from 表名 4)去除重复列 select distinct 列名 from 表名 5)聚合函[详细]
-
必须会的SQL语句(七) 字符串函数、时间函数
所属栏目:[MsSql教程] 日期:2020-12-12 热度:199
字符串函数 1.大小写转换 --upper 转化成大写 --lower 转换成小写 select upper('AsaR') 2.长度 --len 字数 --datalength 字节数 3.去除前后空格 --rtrim 去除右边空格 --ltrim 去除左边空格 4.字符串截取 --Left('串',15) 从左侧开始 截取15个字节 --right([详细]
-
必须会的SQL语句(八) 数据库的完整性约束
所属栏目:[MsSql教程] 日期:2020-12-12 热度:190
实体完整性 1.建表时定义主键 Create table 表名 ( Sno int identity(1,1), Sname nvarchar(20), --设置主键 Primary key (Sno) ) 2.添加主键 alter table 表名 add constraint PK_表名_Sno primary key(id) 参照完整性1.建表时定义外键 create table 表名 ([详细]
-
win2008 r2 安装sql server 2005/2008 无法连接服务器解决方法
所属栏目:[MsSql教程] 日期:2020-12-12 热度:120
在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 在使用G2服务时,测试服务器连接,结果遇到这个问题。 问题详细:连接测试失败!:在与 SQL Server[详细]
-
简单判断MSSQL数据库版本(2000或者2005)
所属栏目:[MsSql教程] 日期:2020-12-12 热度:74
最近的一次对mssql数据库迁移操作中发现一个有趣的事情,可以用一条语句判断MSSQL数据库版本(准确度不高): 如果返回如下信息,应该是2000数据库: 消息 208,级别 16,状态 1,第 1 行 对象名 'sys.servers' 无效。 反之返回类似如下的信息,则可能为2005[详细]
-
sql server启动不了, MSSQL 18052错误: 9003,严重度: 20,状态
所属栏目:[MsSql教程] 日期:2020-12-12 热度:155
问题现象: 系统日志文件(控制面板–管理工具–系统日志) 能找到以下两条错误: 17052: 无法恢复 master 数据库。正在退出。 18052: 错误: 9003,严重度: 20,状态: 1。 解决方法一: 将Microsoft SQL Server/MSSQL/Data 目录改名为data_bak目录,然后从其他[详细]
-
SQL Server 2012 创建定时作业(图文并茂,教你轻松快速创建)
所属栏目:[MsSql教程] 日期:2020-12-12 热度:178
SQL Server2012 如何创建定时作业?有兴趣的可以来看下,图文并茂哦! 1、首先我们打开SQL Server代理,里面选择作业 2、右键作业,选择新建作业 3、填写一些相应的内容,名称和说明自填即可。 ***需要注意的是 已启用这个勾要勾选上。 类别我们这里默认即可[详细]
-
SQL Server数据库中的存储过程介绍
所属栏目:[MsSql教程] 日期:2020-12-12 热度:74
什么是存储过程 如果你接触过其他的编程语言,那么就好理解了,存储过程就像是方法一样。 竟然他是方法那么他就有类似的方法名,方法要传递的变量和返回结果,所以存储过程有存储过程名有存储过程参数也有返回值。 存储过程的优点: 存储过程的能力大大增强[详细]
-
Sql Server中的视图介绍
所属栏目:[MsSql教程] 日期:2020-12-12 热度:98
一):视图的定义 视图是由基于一个或多个表的一个查询所定义的虚拟表,它将查询的具体定义保存起来,视图不包含任何数据。 视图在操作上和数据表没有什么区别,但两者的差异是在其本质上的。数据表是实际存储记录的地方,然而视图并不是保存任何记录,它存储[详细]
-
Sql Server中的事务介绍
所属栏目:[MsSql教程] 日期:2020-12-12 热度:51
1.什么是事务: 事务是一个不可分割的工作逻辑单元,在数据库系统上执行并发操作时事务是做为最小的控制单元来使用的。 他包含的所有数据库操作命令作为一个整体一起向系提交或撤消,这一组数据库操作命令要么都执行,要么都不执行。 事务是一个不可分割的工[详细]
-
SQL Server中统计每个表行数的快速方法
所属栏目:[MsSql教程] 日期:2020-12-12 热度:142
我们都知道用聚合函数count()可以统计表的行数。如果需要统计数据库每个表各自的行数(DBA可能有这种需求),用count()函数就必须为每个表生成一个动态SQL语句并执行,才能得到结果。以前在互联网上看到有一种很好的解决方法,忘记出处了,写下来分享一下。 该[详细]
-
SQL Sever中使用SQL语句实现把重复行数据合并为一行并用逗号分隔
所属栏目:[MsSql教程] 日期:2020-12-12 热度:169
一.定义表变量 代码如下:DECLARE @T1 table ( UserID int, UserName nvarchar(50), CityName nvarchar(50) ); insert into @T1 (UserID,UserName,CityName) values (1,'a','上海') insert into @T1 (UserID,CityName) values (2,'b','北京') insert into @T1[详细]
-
sql server中Select count(*)和Count(1)的区别和执行方式
所属栏目:[MsSql教程] 日期:2020-12-12 热度:59
在SQL Server中Count(*)或者Count(1)或者Count([列])或许是最常用的聚合函数。很多人其实对这三者之间是区分不清的。本文会阐述这三者的作用,关系以及背后的原理。 往常我经常会看到一些所谓的优化建议不使用Count(* )而是使用Count(1),从而可以提升性能[详细]
-
在SQL Server中将数据导出为XML和Json的方法
所属栏目:[MsSql教程] 日期:2020-12-12 热度:88
有时候需要一次性将SQL Server中的数据导出给其他部门的也许进行关联或分析,这种需求对于SSIS来说当然是非常简单,但很多时候仅仅需要一次性导出这些数据而建立一个SSIS包就显得小题大做,而SQL Server的导入导出工具其中BUG还是蛮多的,最简单的办法是BCP[详细]