-
SQLSERVER 的 truncate 和 delete 区别解析
目录一:背景1.讲故事二:区别详解1.思考2.观察delete的事务日志。3.观察truncate的事务日志...
数据库操作教程 2023-02-25 05:42:39 -
SqlServer服务中利用触发器对指定账户进行登录ip限制提升安全性操作
转眼间上次写文章已经是2022年12月15日的事情啦,本来从2022年7月份开始写作之后保持着每周一篇,然而从12月15日后断更了这么久,经历了,隔离、阳、过年、从今天开始继续坚持写作,本片文章给大家分享SqlServer服务中利用触发器对指定账户进行登录ip限制从而提升账户的安全性,这样可以灵活的限制每个账户的允许登录IP,类似于PostgreSQL中pg_hba.conf配置文件的功能,MySQL则是在创建账户时可以配置账户允许登录IP,下面记录一下SQLServer如何实现。在MySql数据库中我们在创建一个新的用户时是可以选择这个用户的可用连接ip的,比如localhost或者某个ip甚至不做限制直接输入%则表示这个用户运行任意IP远程连接,但是在微软的MsSqlServer中在创建用户时则没有这样的设置,但是有时候我们处于安全问题,想要限制某个账户只能通过某个IP访问,通过防火墙设置的话会直接阻断这个IP对所有账户的访问,有点一棍子打死,不是我们想要的,这种情况下可以利用MsSqlServer数据库中的触发器来实现这个目的,当用户请求连接数据库时会触发我们提前写好的规则进行验...
数据库操作教程 2023-02-25 05:42:38 -
sqlserver字符串拼接的实现
目录1.概述2.数字+字符串2.1int+varchar2.2decimal+varchar3.数字+数字4.字符串+字符串5.使用CAST和CONVERT函数进行类型转换1.概述在SQL语句中经常需要进行字符串拼接,以sqlserver,oracle,mysql三种数据库为例,因为这三种数据库具有代表性。sqlserver:select'123'+'456';oracle:select'123'||'456'fromdual;或selectconcat('123','456')fromdual;mysql:selectconcat('123','456');注意:SQLServer中没有concat函数(SQLServer2012已新增concat函数)...
数据库操作教程 2023-02-25 05:42:32 -
SqlServer字符截取的具体函数使用
目录LEN()函数SUBSTRING()函数LEFT()函数RIGHT()函数CHARINDEX()函数STUFF()函数PATINDEX()函数unionall的使用LEN()函数获取字符串的长度。LEN(<字符>)--返回整型SUBSTRING()函数截取字符内指定位置、指定内容的字符...
数据库操作教程 2023-02-25 05:42:27 -
SQLServer数据库误操作恢复的方法
目录前言一、恢复数据实例1.创建初始数据2.保证数据恢复的前提条件3.模拟不小心误操作4.开始恢复二、恢复数据原理1.数据库文件类型2.使用bak恢复数据原理总结参考前言在日常开发工作中,有可能会存在数据库的误操作,比如不小心删除了一个表或者删除了一堆数据,这个时候我们就需要将数据库进行恢复,恢复到误操作以前的状态,而这篇文章就是主要如何在误操作之后,恢复数据库的数据。一、恢复数据实例1.创建初始数据usemasterifexists(select*fromsys.databaseswherename='test')dropdatabasetest;createdatabasetest;usetestcreatetableUserInfo(idint,namevarchar(50),nicknamevarchar(50),);goinsertintoUserInfovalues(1,'张三','小张');insertintoUserInfovalues(2,'张三2','小张');insertintoUserInfovalues(3,'李四','小李');insertintoUserI...
数据库操作教程 2023-02-25 05:42:15 -
SQLSERVER调用C#的代码实现
简单例子首先写一段简单的C#代码,然后把它编译成dll。namespaceBussiness{publicclassUserFunctions{publicstaticstringUserLogin(stringusername,stringpassword){varrandom=newRandom();varisSuccess=random.Next()%2==0;returnisSuccess?"登录成功":"登录失败";}}}接下来需要做的就是数据库参数配置,开启CLR支持,并且指定某个数据库支持unsafe模式...
数据库操作教程 2023-02-25 05:42:11 -
SQL 嵌套查询的具体使用
目录插入数据 select子查询(外语句先执行,内语句后执行)总结嵌套查询又称子查询,有select子查询,where子查询,from子查询,exists子查询。插入数据 #创建表及插入记录CREATETABLEclass(cidint(11)NOTNULLAUTO_INCREMENT,captionvarchar(32)NOTNULL,PRIMARYKEY(cid))ENGINE=InnoDBCHARSET=utf8;INSERTINTOclassVALUES(1,'三年二班'),(2,'三年三班'),(3,'一年二班'),(4,'二年九班');CREATETABLEcourse(cidint(11)NOTNULLAUTO_INCREMENT,cnamevarchar(32)NOTNULL,teacher_idint(11)NOTNULL,PRIMARYKEY(cid),KEYfk_course_teacher(teacher_id),CONSTRAINTfk_course_teacherFOREIGNKEY(teacher_id)REFERENCES...
数据库操作教程 2023-02-25 05:42:07 -
SQLServer 清理日志的实现
本文以sql2012为例第一步,(查询日志中文件名和大小):USE数据库名GOSELECTfile_id,name,size,*FROMsys.database_files;查询结果如上图所示,可以看到其中name字段为日志文件名,size是日志大小,接下来就可以执行清理日志操作。值得注意的是,清理日志必须先将数据库转成简单模式,清理后再将数据库置为完全模式,具体的语句如下: 第二步,清理:USE[master]GOALTERDATABASE数据库名SETRECOVERYSIMPLEWITHNO_WAITGOALTERDATABASE数据库名SETRECOVERYSIMPLE--简单模式GOUSE数据库名GODBCCSHRINKFILE(N'文件名',11,TRUNCATEONLY)GOUSE[master]GOALTERDATABASE数据库名SETRECOVERYFULLWITHNO_WAITGOALTERDATABASE数据库名SETRECOVERYFULL--还原为完全模式GO其中文件名为第一步中查询出的name字段对应的内容...
数据库操作教程 2023-02-25 05:41:45 -
sqlserver 合并列数据的实现
sqlserver递归查询树型结构某节点的所有上级节点,并且把这些所有上级节点多行拼接为一行,即合并列数据witheps_root(pk_eps,pk_parent,eps_code,eps_name)as(SELECTpk_eps,pk_parent,eps_code,eps_nameFROMpm_epswhereenablestate=2andpk_eps='1001A11000000003P62E'unionallSELECTe.pk_eps,e...
数据库操作教程 2023-02-25 05:41:39 -
SQLserver中的any和all运算符的用法
目录一,SQLServerAny运算符二,SQLServerAll运算符总结:any和all的区别一,SQLServerAny运算符Any是一个逻辑运算符,它将值与子查询返回的一组进行比较。any运算符必须要结合比较运算符使用,>,>=,<,<=,=,<>开头,后面就是子查询where比较者>any(子查询)如果子查询不返回如何行,则条件计算结果为false,就是返回空的意思,进行不了比较...
数据库操作教程 2023-02-25 05:41:32 -
sql IDENTITY_INSERT对标识列的作用和使用
一般情况下,当数据表中,莫一列被设置成了标识列之后,是无法向标识列中手动的去插入标识列的显示值。但是,可以通过设置SETIDENTITY_INSERT属性来实现对标识列中显示值的手动插入...
数据库操作教程 2023-02-25 05:41:12 -
SQL server分页的四种方法思路详解(最全面教程)
目录方法一:三重循环思路方法二:利用max(主键)方法三:利用row_number关键字第四种方法:offset/fetchnext(2012版本及以上才有)总结 这篇博客讲的是SQLserver的分页方法,用的SQLserver2012版本。下面都用pageIndex表示页数,pageSize表示一页包含的记录...
数据库操作教程 2023-02-25 05:41:03