sql数据库

sqlserver浅谈

我只是一个虾纸丫 提交于 2020-02-13 14:02:31
Sqlserver 一、 Sqlserver简介 SQL Server一开始并不是微软自己研发的产品,而是当时为了要和 IBM 竞争时,与 Sybase 合作所产生的,其最早的发展者是 Sybase [1] ,同时微软也和 Sybase合作过SQL Server 4.2版本的研发,微软亦将SQL Server 4.2移植到 Windows NT (当时为 3.1版),在与Sybase终止合作关系后,自力开发出SQL Server 6.0版,往后的SQL Server即均由微软自行研发。 在与微软终止合作关系后, Sybase在Windows NT上的数据库产品原本称为Sybase SQL Server,后来改为现在的Sybase Adaptive Server Enterprise 。 Sqlserver 6.0之前版本都是与sybase联合研发,在SQL Server for Windows NT 之后从 sybase手中买断sqlserver著作权开始自主研发。Sqlserver 2017开始支持linux系统。 二、 Sqlserver架构 Sqlserver 架构与 mysql 、 oracle 不同(在 SQL 2000 数据库用户名称架构是绑定的, 一个完整的表的名称包括 了 服务器名 .数据库名.用户名.对象名 , 2005时为 服务器名 .数据库名.架构名.对象名

SQL SERVER 2012设置自动备份数据库

梦想的初衷 提交于 2020-02-13 11:42:36
  为了防止数据丢失,这里给大家介绍SQL SERVER2012数据自动备份的方法:   一、打开SQL SERVER 2012,如图所示:      服务器类型:数据库引擎;   服务器名称:127.0.0.1(本地),也可以选择远程连接;   身份验证:包含Windows身份验证和 SQL Server身份验证,此处选择Windows 身份验证; 二、如图,选择【管理】-->【维护计划】-->【维护计划向导】:      三、在【SQL SERVER 维护计划向导】界面,点击【下一步】:      四、填写如图所示:名称和说明,点击【更改】:      五、在【新建作业计划】界面,选择数据库备份的频率,如图,然后确定:      计划类型:重复执行;   频率执行:每周(每天、每月);   每天频率:时间自行选择;   持续时间:开始时间默认当前时间,结束时间可以不填;   六、如图,显示当前计划属性:      七、此处选择【备份数据库(完整)】,然后【下一步】:      八、如果有多个数据库同时备份,这里可以选择执行顺序,此处默认一个:      九、选择要备份的数据库(可以多选):      十、选择数据库备份的目录:           十一、选择报告文件对应的目录:             十二、在【完成该向导】界面,可以看到设置备份的详细信息:      十三

SQL Server跨服务器查询

泄露秘密 提交于 2020-02-13 08:54:26
来源:https://www.cnblogs.com/tylerflyn/p/8339895.html 创建链接服务器 exec sp_addlinkedserver 'ITSV', ' ', 'SQLOLEDB', '远程服务器名或ip地址' exec sp_addlinkedsrvlogin 'ITSV', 'false ',null, '用户名', '密码' --查询示例 select * from ITSV.数据库名.dbo.表名 --导入示例 select * into 表 from ITSV.数据库名.dbo.表名 --以后不再使用时删除链接服务器 exec sp_dropserver 'ITSV', 'droplogins' --连接远程/局域网数据(openrowset/openquery/opendatasource) --1、openrowset --查询示例 select * from openrowset( 'SQLOLEDB', 'sql服务器名'; '用户名'; '密码',数据库名.dbo.表名) --生成本地表 select * into 表 from openrowset( 'SQLOLEDB', 'sql服务器名'; '用户名'; '密码 ',数据库名.dbo.表名) --把本地表导入远程表 insert openrowset( 'SQLOLEDB

MySQL查看SQL语句执行效率

萝らか妹 提交于 2020-02-13 08:06:17
Explain命令在解决数据库性能上是第一推荐使用命令,大部分的性能问题可以通过此命令来简单的解决,Explain可以用来查看 SQL 语句的执行效 果,可以帮助选择更好的索引和优化查询语句,写出更好的优化语句。 Explain语法:explain select … from … [where ...] 例如:explain select * from news; 输出: +----+-------------+-------+-------+-------------------+---------+---------+-------+------+-------+ | id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra | +----+-------------+-------+-------+-------------------+---------+---------+-------+------+-------+ 下面对各个属性进行了解: 1、id:这是SELECT的查询序列号 2、select_type:select_type就是select的类型,可以有以下几种: SIMPLE:简单SELECT(不使用UNION或子查询等) PRIMARY

SQL注入

拈花ヽ惹草 提交于 2020-02-13 00:09:09
(参考 https://www.cnblogs.com/shenbuer/p/7875419.html ) SQL注入 :   SQL注入是利用程序需要接收来自客户端用户输入的变量或URL传递的参数且这些参数是组成SQL语句的一部分而欺骗server。   简单来说就是在一些需要接收外界输入语句作为参数的SQL命令中,因为用户偶然或恶意设计导致server被欺骗而运行本不符合要求的指令。 产生原因:   在我们编写的WEB应用中对数据库查询的语句处理存在安全漏洞,忽略了对输入格式的要求及检查,导致有人利用这种漏洞设计 输入信息的格式 以达到这些嵌入的指令被误认为是正常的SQL指令在数据库中执行,从而达到对数据库的查看修改,甚至破坏数据库等严重操作    比如:我们设计的web应用中有这么一句话,是用来验证用户名及密码从而使用数据库的:   String sql = "select * from user_table where username = ' " + userName + " ' and password = ' " + password + " ' ";   正常情况我们需要输入正确的username及password 比如填入root 123456 语句变成:      select * from user_table where username = ' root

JDBC2(SQL注入问题、PreparedStatement对象、IDEA连接数据库、Java代码实现事务、数据库连接池)

隐身守侯 提交于 2020-02-12 23:03:04
JDBC SQL注入 概述:是指web应用程序对用户输入数据的合法性没有判断或过滤不严,攻击者可以在web应用程序中事先定义好的查询语句的结尾上 添加额外的SQL语句 ,在管理员不知情的情况下实现非法操作,以此来实现欺骗数据库服务器执行非授权的任意查询,从而进一步得到相应的数据信息,导致数据泄露。 SQL语句通过 or 被拼接: import java . sql . Connection ; import java . sql . ResultSet ; import java . sql . SQLException ; import java . sql . Statement ; public class SQL 注入 { // 模拟登录业务 public static void login ( String username , String password ) { Connection conn = null ; Statement st = null ; ResultSet rs = null ; try { conn = jdbcUtils . getConnection ( ) ; st = conn . createStatement ( ) ; String sql = "select * from users where `NAME`='" +

PL/SQL连接Oracle数据库及优化

六月ゝ 毕业季﹏ 提交于 2020-02-12 22:06:50
系统:windows7旗舰版 64位。oracle数据库服务器版本:oracle11g。oracle数据库客户端版本:64位 Version 12.2.0.1.0。PL/SQL版本:【Version 12.0.7.1837(64 bit)】。 一、下载: 1、官网下载: 官网下载速度慢,不推荐,官网网址【https://www.allroundautomations.com】,有兴趣的小伙伴可以去看看。 2、其他下载: 现在网上有许多资源,百度一下,找到合适的版本下载即可,或者到CSDN【网址:https://www.csdn.net】搜PL/SQL Developer有很多上传的资源,小伙伴们可以根据自己的需要下载不同版本。需要安装的根据提示确定安装即可,免安装的解压即可。需要注册码的,这里就不贴了,网上有很多,还是百度一下、哈哈 二、连接数据库: 1、前置条件: 已安装oracle数据库服务器 已安装oracle数据库客户端 2、找到首选项: 通过桌面图标,或者到PL/SQL目录下,找到【plsqldev.exe】鼠标左键双击启动,登录界面点击【Cancel】,先进入主界面: 进入PL/SQL主界面,点击上方的首选项: 3、配置【Oracle Home】和【OCI library】: 【Oracle Home】:即oracle客户端安装的位置 (我的是在D:\apps\dev

CTFHub SQL注入 整数型注入

大城市里の小女人 提交于 2020-02-12 21:10:14
CTFHub SQL注入 整数型注入 强烈推荐这个网站 CTFhub https://www.ctfhub.com/ 分各个类别,题目由易到难 这题还是很基础的,有各种提示 打开是源码,?id=处存在注入 /?id=1 or 1=1 然后就是爆数据库名,information_schema三步 以下是详细步骤: ?id=1 or 1=1 union select 1,database() 得到数据库名为sqli 2. ?id=1 or 1=1 union select 1,group_concat(table_name)from information_schema.tables where table_schema='sqli' 回显得到表名 3、 ?id = 1 or 1 = 1 union select 1 , group_concat ( column_name ) from information_schema . columns where table_name = '143232859127690' 得到字段名flag 4. ?id = 1 or 1 = 1 union select 1 , group_concat ( flag ) from sqli . 143232859127690 得到flag 来源: CSDN 作者: wind lin 链接: https:

JDBC快速入门

妖精的绣舞 提交于 2020-02-12 21:06:45
实现步骤:   1.导入驱动jar包   2.注册驱动。   3.获取数据库连接对象 Connection   4.定义sql语句   5.获取执行sql的对象 Statement   6.执行sql。获取返回值   7.处理结果。   8.释放资源。 public static void main(String[] args) throws ClassNotFoundException, SQLExcepti{ // 注册驱动 Class.forName("com.mysql.jdbc.Driver") ; // 获取连接对象 Connection conn = DriverManager.getConnection("jdbc:mysql:///mydb", "root", "1234") ; // 获取执行sql的对象 Statement statement = conn.createStatement() ; // 执行sql String sql = "insert into stu (sid , name , sal) values (38 , '嘿嘿' , 56.89)" ; int count = statement.executeUpdate(sql) ; // 代表的意思是影响的行数 // 处理结果 System.out.println(count); //

将xml文件数据导入到sql中[原]

。_饼干妹妹 提交于 2020-02-12 21:06:15
设计数据库的时候为了操作的方便,我们可以选择用xml格式文件来保存我们的数据表结构及其数据。这样的好处是多方面的,设计简单,操作方便,自己可以开发一个设计数据库表的应用程序直接对xml文件进行操作。其实另外一个好处是在最终使用的时候很容易将xml数据导入到任何我们想要的数据库中,不过注明的是这中设计的方法只在于简便,不可能达到其他专门工具的功能了,但针对实践自己的设计思路来说不是为一个好方法。以下为从xml导入sql中的一种方法: (1)我们先选种一个我们已经设计好的含数据表结构和数据的文件 (2)我们选用的中转数据库为access2003,这个已经很普及了 (3)打开access2003 一个 (4)打开:文件-获取外部数据库-导人 (5)在弹出的对话框中选择一个xml格式的文件,也即你设计好的含数据结构及数据的那个文件 (6)点选开始进入“导入xml”对话框,此时你的xml文件中的表结构已经呈现出来了 (7)确定-完成 (8)这个时候整个xml文件就导入到access中来了 如下在视图中可以看到已经导入了一个表 (9)现在我们可以验证一下数据是否完整,我们建立的access空数据库保存的位置:C:\db1.mdb,通过以下的查询语句可以显示我们需要的数据 看看 我们已经查询到数据了 表的结构和数据都和我们先前设计的一模一样 (8)数据结构和数据都进access了