在软件测试中,数据库是必备知识,假期闲里偷忙,整理了一点学习笔记,共同探讨. 阅读目录 基本知识 数据库发展史 数据库名词 SQL组成 基本操作 登录数据库操作 数据库远程连接操作 数据库分离操作 数据库脱机.联机操作 数据库收缩操作 数据库备份.还原操作 数据库权限设置 基本语法 创建数据库 创建表 增 删 改 查 添加约束 数据类型 基本知识 数据库到底是有什么作用?看下图应该就明白了. 就是应用程序发送请求操作时,到服务器数据库中查询数据,然后再返回给应用程序. 数据库起到的作用是存储数据…
数据库(Database)狭义上是指存储数据的仓库,广义上包含对数据进行存储和管理的软件(DBMS)和数据本身.数据库由表.关系和操作组成. 一.数据库简介 1.为什么需要数据库 数据库简化了对数据的操作,几乎所有的应用软件的后台都需要数据库:且数据库存储数据占用空间小.存储安全.容易持久保存 以及 数据库容易维护.升级和移植等. 2.数据结构与数据库的区别 数据库是在应用软件级别研究对硬盘数据的存储和操作,数据结构是在系统软件级别研究对内存数据的存储和操作. 3.如何学习数据库 (1)数据库是…
02_1 操作数据库 (1)创建数据库 CREATE DATABASE [IF NOT EXISTS] db_name [create_specification[, create_specification]...] 解释: [IF NOT EXISTS]创建时提前检查一下是否存在数据库 create_specification:(创建条件) [DEFAULT] CHARACTER SET charset_name | [DEFAULT] COLLATE collation_name CHAR…
什么是索引: SQL索引有两种,聚集索引和非聚集索引,索引主要目的是提高了SQL Server系统的性能,加快数据的查询速度与减少系统的响应时间. 聚集索引:该索引中键值的逻辑顺序决定了表中相应行的物理顺序. 非聚聚索引:该索引中索引的逻辑顺序与磁盘上行的物理存储顺序不同. 下面举两个简单的例子: 我们拿出一本新华字典,它的目录实际上就是一种索引:非聚集索引.我们可以通过目录迅速定位我们要查的字.而字典的内容部分一般都是按照拼音排序的,这实际上又是一种索引:聚集索引. 创建索引的好处: 1. 加…
MongoDB学习笔记:MongoDB 数据库的命名.设计规范     第一部分,我们先说命名规范. 文档 设计约束 UTF-8 字符 不能包含 \0 字符(空字符),这个字符标识建的结尾 . 和 $ 有特殊含义,需要避免 区分大小写 键不能重复 键/值对有序 实践约束 [强制]文档中的key禁止使用_以外的特殊字符 [强制]key全部小写,多个单词可以下划线分割 [强制]禁止使用数字打头的key [强制]禁止自定义_id(_id一般自增,使用无序id极有可能降低写入性能) [建议]相似类型文档…
原文:[SQL Server学习笔记]Delete 语句.Output 子句.Merge语句 DELETE语句 --建表 select * into distribution from sys.objects --1.当delete语句要关联其他表时与update语句类似,可参考上面update语句的写法 --2.truncate table语句删除行比delete快很多,不过必须一次删除所有的行(没有where子句) --之所以快是因为记录的日志很少,采用表级别锁. --如果表中有IDENTI…
HTML+CSS学习笔记 (7) - CSS样式基本知识 内联式css样式,直接写在现有的HTML标签中 CSS样式可以写在哪些地方呢?从CSS 样式代码插入的形式来看基本可以分为以下3种:内联式.嵌入式和外部式三种. 内联式css样式表就是把css代码直接写在现有的HTML标签中,如下面代码: <p style="color:red">这里文字是红色.</p> 注意要写在元素的开始标签里,下面这种写法是错误的: <p>这里文字是红色.</p…
数据库和Doctrine让我们来面对这个对于任何应用程序来说最为普遍最具挑战性的任务,从数据库中读取和持久化数据信息.幸运的是,Symfony和Doctrine进行了集成,Doctrine类库全部目标就是给你一个强大的工具,让你的工作更加容易. Doctrine是完全解耦与Symfony的,所以并不一定要使用它. 一个简单例子:一个产品,我们首先来配置数据库,创建一个Product对象,持久化它到数据库并把它读回来. 首先我们需要创建一个bundle: $php app/console gene…
假设建立了django_blog项目,建立blog的app ,在models.py里面增加了Blog类,同步数据库,并且建立了对应的表.具体的参照Django 学习笔记之二的相关命令. 那么这篇主要介绍往数据库中添加数据,django默认的是sqlite3数据库. 在建立完django_blog项目后,不要忘了把 blog 加入到 settings.py 中的 INSTALLED_APPS 中. 一.同步数据库,创建相应的表 具体的参照Django 学习笔记之二的的同步数据库. 二.数据输入 下…
本数据库的操作是Linux虚拟机平台下进行的 1 启动和链接MySQL服务 1.1 服务端 (1)查看服务状态 sudo /etc/init.d/mysql stauts (2)启动服务端 sudo /etc/init.d/mysql start (3)停止服务端 sudo /etc/init.d/mysql stop (4)重启服务 sudo /etc/init.d/mysql restart/reload 1.2 客户端连接服务端 命令格式 mysql -h主机名 -u用户 -p密码 如果是…
1 简介 文章主要内容包括: Java 持久层技术/框架简单介绍 不同场景/框架下易导致 SQL 注入的写法 如何避免和修复 SQL 注入 2 JDBC 介绍 JDBC: 全称 Java Database Connectivity 是 Java 访问数据库的 API,不依赖于特定数据库 ( database-independent ) 所有 Java 持久层技术都基于 JDBC 更多请参考 http://www.oracle.com/technetwork/java/javase/jdbc/in…
1.什么是SQL注入 SQL注入就是指web应用程序对用户输入的数据的合法性没有判断,前端传入后端的参数带有数据库查询的语句,攻击者可以构造不同的SQL语句来实现对数据库的操作. 2.SQL注入原理 SQL注入漏洞产生需要满足以下两个条件. -->参数用户可控,前端传给后端的参数内容是用户可以控制的 -->参数带入数据库查询:传入的参数拼接到SQL语句,且带入数据库查询. 当传入id参数为1'时,数据库执行的代码如下. select * from users where id = 1' 这不符…
环境: 系统硬件:vmware vsphere (CPU:2*4核,内存2G,双网卡) 系统版本:CentOS-7-x86_64-Minimal-1611.iso 数据库版本信息 : 10.1.20-MariaDB Source distribution 主服务器的IP:192.168.1.14 从服务器的IP:192.168.1.15 从服务器的IP:192.168.1.16 步骤: 1.准备 三台服务器安装好MariaDB (安装办法可以参考http://www.cnblogs.com/vi…
Python基础教程 第二版 学习笔记 1.python的每一个语句的后面可以添加分号也可以不添加分号:在一行有多条语句的时候,必须使用分号加以区分 2.查看Python版本号,在Dos窗口中输入“python -V”查看版本号,注意V是大写字母,这条命令是Windows命令,而不是python shell的命令 3.让解释器只执行普通的除法运算:from __feture__ import division 4.执行整除运算的运算符:// 5.取幂运算符:2**4 相当于2的4次方,-2**4…
数据库基础 数据库系统的组成:由数据库,数据库管理软件,数据库管理员DBA,支持数据库系统的硬件和软件组成,其中数据库管理员是对数据库进行规划.设计.维护.和监视的专业管理人员,在数据库系统中起着非常重要的作用 数据库系统的三级模式解构分为: 内模式(唯一):主要描述数据库系统的物理结构和储存方式,是数据库内部的表达方式. 模式(唯一):主要描述数据库系统的逻辑结构和特征进行描述,是说有用户的公共数据视图. 外模式:数据库用户能够看见的局部数据的逻辑结构和特征的描述,是保证数据库的数据安全性的有…
今天在创建数据库时,跟着老师一步一步的操作创建成功,但出于在厌恶冗长的数据库存储路径,于是,擅自更改了数据filename,让他保存在电脑桌面新建的文件夹,可是一执行就报错了. 老师源码: 1 create database [DB001] on 2 ( 3 name=DB001_1, 4 filename='E:\本地应用安装根目录\数据库\MSSQL13.MSSQLSERVER\MSSQL\DATA\DB001.ndf', 5 size=25MB, 6 maxsize=100MB, 7 fi…
(整篇文章废话很多,但其实是为了新手能更好的了解这个sql注入是什么,需要学习的是文章最后关于如何预防sql注入) (整篇文章废话很多,但其实是为了新手能更好的了解这个sql注入是什么,需要学习的是文章最后关于如何预防sql注入) (整篇文章废话很多,但其实是为了新手能更好的了解这个sql注入是什么,需要学习的是文章最后关于如何预防sql注入) 重要的事情说三遍  ^-^ 一.什么是SQL注入 如何理解sql注入? sql注入是一种将sql代码添加到输入参数中,传递到sql服务器解析并执行的一种…
前几天学习了Android中的数据存储,包括文件存储,SharedPreferences存储,还有就是Acndroid中的特色:SQLite数据库存储了.让我比较惊讶的是Android中竟然内嵌了一个轻量型的数据库SQLite数据库,使得本地的数据持久化有了一个质的飞跃. 通过前两天上课听老师讲解,和课下自己看书总结,想在博客上把自己对于SQLite数据库的理解做一下总结,也是方便之后的复习.Android为了让我们能够更加方便的管理数据库,专门提供了SQLiteOpenHelper帮助类,这个…
SQL@Wiki http://en.wikipedia.org/wiki/SQL 一篇文章,掌握所有开源数据库的现状 - AI前线 https://mp.weixin.qq.com/s?__biz=MzU1NDA4NjU2MA==&mid=2247486485&idx=1&sn=d874ff7d57fc8c7ea594c946811c0859&source=41#wechat_redirect 数据库两个神器索引和锁 - 数据库开发 https://mp.weixin.q…
sql注入的原理以及怎么预防sql注入(请参考上一篇文章) https://www.cnblogs.com/KHZ521/p/12128364.html (本章主要针对MySQL数据库进行注入) sql注入的分类: 根据注入类型分类: 1.union联合注入 2.报错注入 3.盲注 布尔类型盲注 延时盲注 根据注入位置分类 get注入 post注入 请求头注入 根据sql语句不同分类 数字型注入 字符型注入 sql 注入的步骤: 1.寻找注入点 哪些地方可能存在注入点(所有与数据库交互的地方都有…
Oracle 数据库对象又称模式对象,数据库对象是逻辑结构的集合,最基本的数据库对象是表. 其他数据库对象包括:  …
01_1 mysql数据库启动与停止 以<管理员权限>启动cmd: 输入net stop mysql停止mysql服务: 输入net start mysql启动mysql服务: 输入mysql -u root –p回车,然后输入密码进入到mysql的操作系统,并具有root权限: 在命令提示符窗口使用services.msc查看mysql服务的状态. 01_2 数据库的简单介绍 按照数据库的发展时间顺序,主要出现了以下类型数据库系统: 网状型数据库 层次型数据库 关系型数据库 面向对象数据库…
从外部EXCEl文件导入sqlserver数据库操作命令 reconfigure reconfigure go select * into abc1_1 from OPENROWSET('MICROSOFT.JET.OLEDB.4.0' ,'Excel 5.0;HDR=YES;DATABASE=文件路径',SQLResults$) 注意:文件路径到excel下某个固定的sheet,sheet名字不要有空格 数据库合并 insert into [新数据库名(合并后的)] select [字段] F…
存储过程: 存储过程(Stored Procedure)是一组为了完成特定功能的SQL 语句集,经编译后存储在数据库.中用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它. 因为语句被编译过,所以特别适合用来执行,查询.存储等常用指令,比如文章发布.文章删除.会员注册.会员登录等常用query我们都可以建立存储过程. 视图: 计算机数据库中的视图是一个虚拟表,其内容由查询定义.同真实的表一样,视图包含一系列带有名称的列和行数据.但是,视图并不在数据库中以存储的数据值集形式存在…
//TP 恶补ing... 一.定义数据表模型 1.模型映射 要测试数据库是否正常连接,最直接的办法就是在当前控制器中实例化数据表,然后使用 dump 函数输出,查看数据库的链接状态.代码: public function testdb(){ $obj=M("User"); dump($obj); } 此时浏览器输出: object(Model)#5 (20) { ["_extModel:private"] => NULL ["db:protecte…
1.查询安装的排序规则选项喝当前的排序规则服务器属性 select * from fn_helpcollations(); 2.查看当前服务器的排序规则 select serverproperty('Collation') as ServerCollation; 3.修改数据库DB1的排序规则,使他区分大小写 create database DB1 go alter database DB1 collate SQL_Latin1_General_CP1_CS_AS; go select data…
视图是为用户对数据多种显示需求而创建的,其主要用在一下几种情况: (1)限制用户只能访问特定表特定条件的内容,提高系统的安全性. (2)隐藏表结构.创建多种形式的数透视,满足不同用户需求. (3)将复杂的SELECT语句和表JION形成一个视图,给用户提供一个良好的接口. (4)为使用频率较高的联表聚合运算创建索引视图,以提升程序的性能. (5)创建分区视图调用远程数据,实现数据的分布式存储与查询,提升程序的吞吐能力. 一了解视图           视图是一个虚拟表,其内容由查询定义.同真实的…
控制数据库的位置 默认情况下,数据库是创建在localhost\SQLEXPRESS服务器上,并且默认的数据库名为命名空间+context类名,例如我们前面的BreakAway.BreakAwayContext. 有几种方法可以改变这种默认约定. 利用配置文件 在配置文件中新加一个连接字符串 <connectionStrings> <add name="BreakAwayContext" providerName="System.Data.SqlClient…
以下内容根据此官方文档修改:http://technet.microsoft.com/zh-cn/library/ms189336(v=sql.105).aspx 嵌套事务的使用场景或者说目的主要是为了调用包含了事务的存储过程.不然没必要使用嵌套事务. 下列示例显示了嵌套事务的用途.在TransProc 存储过程中包含事务,在另外的代码中分别启动事务调用TransProc和不启动事务调用TransProc. SET QUOTED_IDENTIFIER OFF; GO SET NOCOUNT OF…
参考  hu_shengyang的专栏 : http://blog.csdn.net/hu_shengyang/article/details/6290029 一. JDBC API中提供的常用数据库编程的类和接口如下 1.Driver 接口:代表驱动程序 2.DriverManager 类:驱动程序管理员 3.Connection 接口:代表数据库连接 4.Statement .PreparedStatement.CallableStatement 接口:代表数据库操作对象 5.ResultS…