sqlserver

【SqlServer】SqlServer基本语法

匿名 (未验证) 提交于 2019-12-02 23:32:01
数据库操作 创建数据库 create database School 使用数据库 use School 删除数据库 drop database School 如果存在,则删除数据库 用户模式 MULTI_USER 多用户模式,任何用户都可以连接 SINGLE_USER 单用户模式,数据库一次只能有一个连接,当维护数据库时启动 RESTRICTED_USER 限制模式, 回滚 ROLLBACK,即是在执行操作过程中,如果出现错误,则所有的操作都取消, 比如在添加数据操作时,共要插入10条数据,当在第3条数据时插入出错,这是就需要使用回滚,即出错时全部操作都取消插入 表操作 创建表 identity(1000,1) 表示是否标识,即是否自增,1000标识自增的初值,1表示增量 primary key 表示主键 删除表 drop table Student 增加列 alter table Student add Description int 插入数据 一次插入一条数据 insert into Student(Name,Grade,Class,Score) values('Jack',1,3,90) 一次插入多条数据 insert into Student(Name,Grade,Class,Score) values ('Tom',2,2,80), ('Jane',3,2,85), (

SQLServer 数据库无法重命名

匿名 (未验证) 提交于 2019-12-02 23:32:01
情景: 1.执行 alter database channel_management modify name = testtt 时,报错:The database could not be exclusively locked to perform the operation.(无法以独占方式锁定数据库以执行该操作。) 2.右键---重命名 报错: 原因:数据库的文件被占用了。 解决方法:首先需要从开始菜单中找到【 SQL Server 配置管理器】 ,然后打开 然后会看到【 SQL Server(MSSQLSERVER)】 正处于运行的状态 右击它然后【 重新启动】 任务进程 文章来源: https://blog.csdn.net/xiongxiaotong55/article/details/90180491

关于Sqlserver的拼接字符串和切割字符串

匿名 (未验证) 提交于 2019-12-02 23:26:52
其中 表A数据 表B数据 如果我们直接 select * from b where in(select a from A),查询会报从数据类型 nvarchar 转换为 bigint 时出错。很烦!so,我想我应该第一步解决将A表中的字段a切割一下。嗯.....所以我在网上找了有个sqlserver切割字符串的方法 一、切割字符串 上图1 上图2 注意,如果不用where条件会报错 然而,我并不想加where条件,我需要的是根据 where b in 的查询...并且再再加查询结果拼接一下..嗯,根据这个错误,我觉得我写的是对的,只需要将结果拼接一下。于是我百度了一下sqlserver拼接方法。 贴上百度结果 http://www.cnblogs.com/doubleliang/archive/2011/07/06/2098775.html 二、sqlserver 拼接列 关于拼接列的直接操作参考 https://www.cnblogs.com/qianxingdewoniu/p/7118901.html ok,我已经迫不及待贴上我的混合大法了.... 混元大法: 上图 emmmm。。。。。see u 文章来源: https://blog.csdn.net/Ajune_Hua/article/details/88850834

获取SQLServer连接字符串的方法

匿名 (未验证) 提交于 2019-12-02 23:05:13
第一步:创建向导文件 在桌面创建一个txt文件,并将文件后缀改成“.udl”。 第二步:选择“提供程序”tab页 双击新创建的“.udl”文件,进入后选择“提供程序”tab页,选择“Microsoft OLE DB Provider for SQL Server”。 第三步:设置“连接” 第二步后,选择“下一步”按钮,进入“连接”tab页,在“1.选择或输入服务器名称(E)”输入“.”,然后选择“2.输入登录服务器的信息”,在“第3”选择“在服务器上选择数据库”。 第四步:测试是否连接成功 在“连接”tab页,点击右下角“测试连接”按钮,测试是否连接成功。 5 第五步:获取连接字符串 当第四步“测试成功”后,用记事本打开“.udl”文件,获取连接字符串,如图。 出处: https://www.cnblogs.com/niuge/p/3979324.html 转载请标明出处: 获取SQLServer连接字符串的方法 文章来源: https://blog.csdn.net/qq_42335551/article/details/86636877

sqlserver使用sql清理日志

匿名 (未验证) 提交于 2019-12-02 23:03:14
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/chengtanyong4777/article/details/84816700 ALTER DATABASE '数据库名' SET RECOVERY SIMPLE WITH NO_WAIT GO ALTER DATABASE '数据库名' SET RECOVERY SIMPLE --简单模式 GO USE '数据库名' GO DBCC SHRINKFILE ( N '数据库名_log' , 11 , TRUNCATEONLY ) GO 转载请标明出处: sqlserver使用sql清理日志 文章来源: sqlserver使用sql清理日志

SqlServer中将某字符串按照特定的字符分隔并返回临时表

匿名 (未验证) 提交于 2019-12-02 22:56:40
具体代码如下所示: 创建一个函数: /****************************** 将字符串按照某字符(逗号)分隔查询返回为一个临时表 ******************************/ CREATE FUNCTION f_SplitStrToTb ( @totaltr NVARCHAR(MAX),--需要拆分的字符串(如:1,2,3,4) @totalplit VARCHAR(10) --拆分的符号 ) RETURNS @Table TABLE ( RetCol VARCHAR(100) ) AS BEGIN DECLARE @index INT DECLARE @total INT SET @index = 1 SET @total = 1 WHILE (@index > 0) BEGIN SET @index = CHARINDEX(@totalplit, @totaltr, @total) IF (@index > 0) BEGIN INSERT @Table ( RetCol ) VALUES (SUBSTRING(@totaltr, @total, @index - @total)) END ELSE BEGIN INSERT @Table ( RetCol ) VALUES (SUBSTRING(@totaltr, @total, LEN(

thinkphp5 连接 SqlServer 运行存储过程,返回为空解决方案

匿名 (未验证) 提交于 2019-12-02 22:11:45
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/a114469/article/details/84792192 项目做在win下,服务器是类似空间服务器,所以不可以装扩展,只能yum 水准不高 ,只能用最简单的方法 。 贴代码记录一下,返回结果成功 ,代码copy修改,其中有些不懂的地方 或者还有更好的方法,随时欢迎赐教 修改配置文件 database.php 'db2' => [ //本地 'type' => 'sqlsrv', // 服务器地址 'hostname' => '127.0.0.1', // 数据库名 'database' => '****', // 用户名 'username' => 'sa', // 密码 'password' => 'root', // 端口 'hostport' => '1433', ], \thinkphp\library\think\db\connector\Sqlsrv.php $dsn = 'sqlsrv:Database=' . $config['database'] . ';Server=' . $config['hostname']; 改为: $dsn = 'dblib:version=8.0;charset=utf8;dbname=' . $config['database'

【转载】Sqlserver使用IsNull方法对空字段进行赋值操作

匿名 (未验证) 提交于 2019-12-02 22:06:11
在Sqlserver的SQL语句查询过程或者编写存储过程以及自定义函数过程中,有时候字段的值为空,如果为空的字段需要赋值一个默认值,可以使用Sqlserver内置系统函数IsNull来给定一个默认值,IsNull函数的格式为IsNull(data,ToData),其中data表示原始数据字段,toData表示当原始数据字段为空的时候给出默认值为ToData,如果为非空,将会返回data的实际值而不是ToData。 例如有个存储过程的整型字段@Count字段,此字段初始值可能为空,如果为空的时候,将@Count设置为默认值0; Set @Count=IsNull(@Count,0); 在Sql查询语句中也是一样的写法,例如表中字段Count如果为空,则返回0,具体语句如下 Select FROM TABLE; 备注:原文转载自博主个人站 IT技术小趣屋 ,原文链接 Sqlserver使用IsNull方法对空字段进行赋值操作_IT技术小趣屋 。 文章来源: 【转载】Sqlserver使用IsNull方法对空字段进行赋值操作

sqlserver使用EF模型经验

匿名 (未验证) 提交于 2019-12-02 22:06:11
sqlserver使用EF模型经验 EF模型使用本人在之前两三年中从没使用过,所以刚开始使用就会踩上许多的坑。今天我不单单说下自己所踩的一些坑与当前公司中使用EF模型设计的理念,即是为我自己做个笔记,也是为其他人提供一个经验吧,但本人刚接触不久,有理解错误的还请大家能够多多指教。 首先说一下我现在所在公司的设计理念是怎么样的 公司数据库的设计模式是怎么样的 EF模型设计图表 sequenceDiagram 客户库 ->> 开发库: 客户相关表用视图关联 开发库-->>EF导入库:, Note left of EF导入库: 对于需要操作的表设计一样的表,只需要查询的可以设计为视图 EF导入库-->> edmx文件: , Note left of edmx文件: 导入相关表结构生成实体模型 这将产生一个流程图。: graph TD A[service] -- 执行 中间省略其他业务操作说明--> B((DA数据交互)) B --更新实体数据--> C{emdx实体类} C --通过EF导入库生成的emdx实体--> D(生成sql语句) D--更新数据-->E((开发库数据表)) E--更新-->F{客户库中的数据表} A--连接执行数据库-->E 分析两个图表: 我们从第一张表中可以看出有三个数据库,一个是客户的数据库,一个为开发使用的数据库,还有一个是导入模型使用的库