SQL Server

经典SQL语句大全

落爺英雄遲暮 提交于 2020-08-12 03:48:36
基础篇 1 、说明:创建数据库 CREATE DATABASE database-name 2 、说明:删除数据库 drop database dbname 3 、说明:备份 sql server --- 创建 备份数据的 device USE master EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat' --- 开始 备份 BACKUP DATABASE pubs TO testBack 4 、说明:创建新表 create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],.. ) 根据已有的表创建新表: A : create table tab_new like tab_old ( 使用旧表创建新表 ) B : create table tab_new as select col1,col2… from tab_old definition only 5 、说明:删除新表 drop table tabname 6 、说明:增加一个列 Alter table tabname add column col type 注: 列增加后将不能删除。 DB2 中列加上后数据类型也不能改变

SQL注入原理及代码分析(一)

依然范特西╮ 提交于 2020-08-12 03:45:39
前言 我们都知道,学安全,懂SQL注入是重中之重,因为即使是现在SQL注入漏洞依然存在,只是相对于之前现在挖SQL注入变的困难了。而且知识点比较多,所以在这里总结一下。通过构造有缺陷的代码,来理解常见的几种SQL注入。本文只是讲解几种注入原理,没有详细的利用过程。 如果想要了解Access的详细手工注入过程,可以看我的这篇文章 https://www.cnblogs.com/lxfweb/p/12643011.html 如果想要了解MySQL的详细手工注入过程,可以看我的这篇文章 https://www.cnblogs.com/lxfweb/p/12655316.html 如果想要了解SQL server的详细手工注入过程,可以看我的这篇文章 https://www.cnblogs.com/lxfweb/p/12675023.html SQL注入原理 SQL注入漏洞的产生需要满足两个条件 参数用户可控:前端传给后端的参数内容是用户可以控制的。 参数带入数据库查询:传入的参数拼接到SQL语句并带入数据库查询。 所以在实际环境中开发者要秉持“外部参数皆不可信原则”进行开发。 几种常见的SQL注入攻击 union注入攻击 先看代码 <?php $con=mysqli_connect("localhost","root","XFAICL1314","dvwa"); #连接数据库

看完这篇数据库优化方法,和面试官扯皮就没问题了!

試著忘記壹切 提交于 2020-08-12 02:42:54
原文链接:http://www.cnblogs.com/xhb-bky-blog/p/9051380.html 导图 下图是我结合自己的经验以及搜集整理的数据库优化相关内容的思维导图。 常用关键字优化 在编写T-SQL的时候,会使用很多功能类似的关键字,比如COUNT和EXISTS、IN和BETWEEN AND等,我们往往会根据需求直奔主题地来编写查询脚本,完成需求要求实现的业务逻辑即可,但是,我们编写的脚本中却存在着很多的可优化的空间。 EXISTS代替COUNT或IN 不要在子查询中使用COUNT()执行存在性检查,不要使用类似于如下这样的语句: SELECT COLUMN_LIST FROM TABLENAME WHERE 0 < (SELECT COUNT(*) FROM TABLE2 WHERE ..) 而应该采用这样的语句代替: SELECT COLUMN_LIST FROM TABLENAME WHERE EXISTS(SELECT COLUMN_LIST FROM TABLE2 WHERE ...) 当你使用COUNT()时,SQL SERVER不知道你要做的是存在性检查,它会计算所有匹配的值,要么会执行全表扫描,要么会扫描最小的非聚集索引。当你使用EXISTS时,SQL SERVER知道你要执行存在性检查,当它发现第一个匹配的值时,就会返回TRUE,并停止查询

abp(net core)+easyui+efcore实现仓储管理系统——出库管理之一(四十九)

假装没事ソ 提交于 2020-08-12 01:21:42
abp(net core)+easyui+efcore实现仓储管理系统目录 abp(net core)+easyui+efcore实现仓储管理系统——ABP总体介绍(一) abp(net core)+easyui+efcore实现仓储管理系统——解决方案介绍(二) abp(net core)+easyui+efcore实现仓储管理系统——领域层创建实体(三) abp(net core)+easyui+efcore实现仓储管理系统——定义仓储并实现 (四) abp(net core)+easyui+efcore实现仓储管理系统——创建应用服务(五) abp(net core)+easyui+efcore实现仓储管理系统——展现层实现增删改查之控制器(六) abp(net core)+easyui+efcore实现仓储管理系统——展现层实现增删改查之列表视图(七) abp(net core)+easyui+efcore实现仓储管理系统——展现层实现增删改查之增删改视图(八) abp(net core)+easyui+efcore实现仓储管理系统——展现层实现增删改查之菜单与测试(九) abp(net core)+easyui+efcore实现仓储管理系统——使用 WEBAPI实现CURD (十一) abp(net core)+easyui+efcore实现仓储管理系统—

什么是SQL Server中的“with(nolock)”?

旧时模样 提交于 2020-08-11 21:41:52
问题: Can someone explain the implications of using with (nolock) on queries, when you should/shouldn't use it? 当你应该/不应该使用它时,有人可以解释使用 with (nolock) 对查询的影响吗? For example, if you have a banking application with high transaction rates and a lot of data in certain tables, in what types of queries would nolock be okay? 例如,如果您的银行应用程序具有较高的事务率和某些表中的大量数据,那么哪些类型的查询可以解决? Are there cases when you should always use it/never use it? 是否应该经常使用它/从不使用它? 解决方案: 参考一: https://stackoom.com/question/2seC/什么是SQL-Server中的-with-nolock 参考二: https://oldbug.net/q/2seC/What-is-with-nolock-in-SQL-Server 来源: oschina 链接: https:/

阿里云新品发布会周刊第52期 丨 进一步释放技术红利,阿里云推出全新内存增强型实例re6,性能提升30%

一个人想着一个人 提交于 2020-08-11 17:53:59
点击订阅新品发布会 新产品、新版本、新技术、新功能、价格调整,评论在下方,下期更新!关注更多新品发布会! 热门阅读 1、进一步释放技术红利,阿里云推出全新内存增强型实例re6,性能提升30% 全新一代内存增强型实例re6采用Intel 最新CascadeLake 架构处理器,主频2.5GHz,睿频最高可达3.2GHz,相对于上一代性能最高提升30%以上。 查看原文 2、Java 如何优雅的导出 Excel 公司项目最近有一个需要:报表导出。整个系统下来,起码超过一百张报表需要导出。这个时候如何优雅的实现报表导出,释放生产力就显得很重要了。下面主要给大家分享一下该工具类的使用方法与实现思路。 查看原文 3、敏捷开发,让金融机构更灵动更从容 激列的竞争促使金融行业需要采用更加敏捷快速的方式来满足用户复杂多变的业务需求。当前的疫情又好像催化剂一样,势在必行的推动了传统金融行业向数字化方向转型。可以协助企业实现快速交付、统一集成平台、开发运维一体化的敏捷开发,正在成为数字化转型的核心焦点。 查看原文 4、蚂蚁森林:环保公益的互联网实践 “蚂蚁森林”公益项目究竟有什么秘诀,可以迅速扩张用户规模、在很短的时间内改变数亿人群的生活方式?在经历了初期的成功后,“蚂蚁森林”是怎样继续探索可持续公益发展模式的?作为蚂蚁金服旗下的代表性公益项目,“蚂蚁森林”未来的发展方向又是什么? 查看原文 5

数据库大作业-学生信息管理系统

[亡魂溺海] 提交于 2020-08-11 16:32:07
软件:SQL Server;Visual Studio 语言:C#,SQL 两个身份,管理员和学生。 管理员功能:管理学生专业信息、课程信息、选课信息(增删改查),查看已注册过的同学信息(密码不可见,是乱码)以及照片。 学生功能:注册自己的信息,查看自己的信息包括专业信息、注册时的信息、选课及成绩,修改自己的密码。 在SQL Server创建数据库,在新数据库中新建需要用的表并添加数据。 create database curricula_variable_system ; //创建数据库 USE curricula_variable_system ; //建表,记录注册信息的 CREATE TABLE SysUser ( UserID NCHAR ( 20 ) , UserPassWord NCHAR ( 32 ) , /*密码32位加密*/ UserSchoolID NCHAR ( 20 ) PRIMARY KEY , UserMobile NCHAR ( 11 ) , UserBirthday datetime , UserIdentity NCHAR ( 20 ) , UserPhoto image ) ; //建表,记录登录信息的 CREATE TABLE SysLog ( UserID NCHAR ( 20 ) , DateAndTime datetime ,

SQL Server DATEADD() 函数在日期中添加或减去指定的时间间隔

痴心易碎 提交于 2020-08-11 15:29:18
定义和用法 DATEADD() 函数在日期中添加或减去指定的时间间隔。 语法 DATEADD ( datepart , number ,date) date 参数是合法的日期表达式。 number 是您希望添加的间隔数;对于未来的时间,此数是正数,对于过去的时间,此数是负数。 datepart 参数可以是下列的值: datepart 缩写 年(year) yy, yyyy 季度(quarter) qq, q 月(month) mm, m 年中的日(dayofyear) dy, y 日(day) dd, d 周(week) wk, ww 星期(weekday) dw, w 小时(hour) hh 分钟(minute) mi, n 秒(second) ss, s 毫秒(millisecond) ms 微妙(microsecond) mcs 纳秒(nanosecond) ns 实例 假设我们有下面这个 "Orders" 表: OrderId ProductName OrderDate 1 'Computer' 2008-12-29 16:25:46.635 现在,我们希望向 "OrderDate" 添加 2 天,这样就可以找到付款日期。 我们使用如下 SELECT 语句: SELECT OrderId, DATEADD ( day , 2 ,OrderDate) AS

SQL Server 启动分布式事务(包含跨网段的设置)

旧巷老猫 提交于 2020-08-11 14:36:37
使用场景 多台SQL Server服务器需要开始分布式事务的时候。 启用步骤 在各个服务器中同时启动msdtc服务 多台服务器同时配置本地DTC 控制面板->管理工具->组件服务->计算机->我的电脑->本地DTC DTC的配置如下图所示。 如果安全性要求高就选择进行身份验证。 点击应用以后,重启DTC的服务。 如果局域网在同一个网段中这里已经可以了。 这里注意一下:如果服务器之前存在网管、防火墙,必须开启TCP 135端口 不在一个局域网中的设置或者跨网段 这里需要服务器之间能够ping通(不是IP地址,是机器名) 如果相互ping有问题,修改:system32/driver/etc 目录下的hosts文件(不会修改的请百度一下) 来源: oschina 链接: https://my.oschina.net/u/4306251/blog/4325723

Citrix PVS 7.11新增功能

ぐ巨炮叔叔 提交于 2020-08-11 10:45:35
Provisioning Services 7.11中提供以下新增功能: 1、SQL Server Always On 多子网故障转移 2、 PVS 支持 CIS 问题报告 3、 AlwaysOn 跟踪 4、对 Windows Server 2016的 支持 一、 SQL Server Always On 多子网故障转移 在多子网环境中,PVS 现在支持 SQL Server Always On 故障转移。这个功能对于我们来说有什么用呢?其实这个功能的好处就是:对于大型企业环境的部署,我们可以采用这个特性来做灾难恢复。 启用 SQL Server AlwaysOn 多子网故障转移,需要SQL API ++库必须升级并更改为使用ODBC接口进行访问。 开启的选项如下图所示: 二、 PVS 支持 CIS 问题报告 问题报告允许PVS管理员在多个PVS服务器之间自动收集PVS和配置数据,并在本地存储该数据或将其上传到Citrix Insight Services(CIS)。在早期版本中,管理员必须手动收集此数据并将此数据集会到Citrix。 在这个7.11的新版本中,所谓的“始终跟踪”被引入到PVS中。在配置向导中,将显示一个新窗口,在安装的时候可以在其中填写Citrix用户名和密码。如果输入,凭证将传递到Telemetry服务以生成令牌。然后,令牌被加密并存储在数据库中。因此