测试人员需要了解的sql知识(基础篇)
这是第一篇关于数据库的,本着详细的原则,基础的还是不能放过,还是那句话,有问题,欢迎指出!
-------------------------------------------------------------自然的分割线-------------------------------------------------------------------
一,什么是数据库(Database)
数据库也是一种软件,是按照数据结构来组织、存储和管理数据的仓库;类比存货的仓库, 其中数据结构可能是货物的类型(食物,器材等),放货物的容器(箱,包等),货物的堆放方式(横着堆,竖着堆)以及货物之间的排列方式等等。假如在淘宝上买东西,你的个人信息,收货地址,商品信息,订单信息等都可以放在数据库中。
二,什么是SQL
结构化查询语言(Structured Query Language)简称SQL,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;说白了就是可以编写一串命令来操作数据库的语言。
三,常用的数据库
目前商品化的数据库管理系统以关系型数据库为主导产品,技术比较成熟,如微软的Access(小型),SQL server(仅windows,中大型);免费开源的MySql(中小型),成熟稳定的Oracle(中大型),流行而又陌生的DB2(中大型)和开源的postgresql(中大型)。其他非关系型数据库如MongoDB,Redis,Hbase等,可以自行了解下。
四,SQL的增删查改
借鉴w3school,虽然不同的数据库使用sql有着不同差异,但是都兼容标准,注:w3school说SQL 对大小写不敏感!如SELECT 等效于 select
1,查询 SELECT (测试中,适用于查询表的所有信息)
执行后,结果被存储在一个结果表中(称为结果集)
SELECT 列名称(或*) FROM 表名称 ---------*代表全部列
2,插入 INSERT(测试中,适用于在表中插入新的行)
INSERT INTO 表名称 VALUES (值1, 值2,....) ---------值与列相对应
也可以指定所要插入数据的列:
INSERT INTO 表名称 (列1, 列2,...) VALUES (值1, 值2,....) ---------未包括列的值为空
3,修改 UPDATE(测试中,适用于修改表中的值,需要where条件)
UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值 ---------修改多列,列名称=新值,列名称=新值,...
4,删除 DELETE(测试中,适用于删除表中的某一行,可需要where条件)
DELETE FROM 表名称 WHERE 列名称 = 值 ----------不加where条件,删除所有行数据
五,常用辅助查询
1,DISTINCT 语句(测试中,适用于去除重复值,并返回列)
SELECT DISTINCT 列名称 FROM 表名称 ----------针对多列重复,列名称,列名称,...
2,WHERE 语句(测试中,适用于有条件选取语句)
SELECT 列名称 FROM 表名称 WHERE 列 运算符 值
部分运算操作符如下:
3,AND 和 OR 语句(测试中,适用于结合多个where条件)
AND 显示多个条件都满足的记录,而OR 只要有一个条件满足则显示。
SELECT 列名称 FROM 表名称 WHERE 列 运算符 值 AND/OR 列 运算符 值 ---------可用圆括号来组成复杂的表达式
4,LIKE与通配符(测试中,适用于查找特定的某一值)
SELECT 列名称 FROM 表名称 WHERE 列 LIKE 值 -----------如查找姓氏为李的所有记录,where name like '李%'
值可以使用一下通配符组成:
5,IN与BETWEEN操作符(测试中,in适用于设置多个值,between适用于值的区间)
SELECT 列名称 FROM 表名称 WHERE 列 IN (值1,值2,...) SELECT 列名称 FROM 表名称 WHERE 列 BETWEEN 值1 AND 值2 ---------这里值1值2可以使数字,文本,日期,不同的数据库可能包含值1值2,也可能不包含
6,ORDER BY 语句(测试中,适用于对结果集进行排序)
SELECT 列名称 FROM 表名称 WHERE 列 运算符 值 ORDER BY 列名称 (DESC/ASC) ---------多列排序,以逗号隔开,并以第一个为准,第一个有重复地再看第二个,以此类推
测试人员需要了解的sql知识(基础篇)的更多相关文章
- 测试人员需要了解的sql知识(提高篇)
上一篇写了一些基础的sql知识,这里再深挖一些常用的 ------------------------------------------------------------------骄傲的分割线- ...
- SQL——语法基础篇(上)
用数据库的方式思考SQL是如何执行的 虽然 SQL 是声明式语言,我们可以像使用英语一样使用它,不过在 RDBMS(关系型数据库管理系统)中,SQL 的实现方式还是有差别的.今天我们就从数据库的角度来 ...
- oracle(sql)基础篇系列(五)——PLSQL、游标、存储过程、触发器
PL/SQL PL/SQL 简介 每一种数据库都有这样的一种语言,PL/SQL 是在Oracle里面的一种编程语言,在Oracle内部使用的编程语言.我们知道SQL语言是没有分支和循环的,而PL语 ...
- oracle(sql)基础篇系列(五)——PLSQL、游标、存储过程、触发器
PL/SQL PL/SQL 简介 每一种数据库都有这样的一种语言,PL/SQL 是在Oracle里面的一种编程语言,在Oracle内部使用的编程语言.我们知道SQL语言是没有分支和循环的,而PL语言是 ...
- 测试人员应该掌握的oracle知识体系
闲来无事,总结了一下,软件测试人员应该掌握的基本的oracle数据库知识体系 1.安装 1.1 oracle安装 1.2 oracle升级 1.3 oracle补丁 2.管理 2.1数据库创建(dbc ...
- sql优化基础篇
优化的步骤: 0.先sql运行看看是否真的很慢,注意设置SQL_NO_CACHE 1.where条件单表查,锁定最小返回记录表.这句话的意思是把查询语句的where都应用到表中返回的记录数最小的表开始 ...
- oracle(sql)基础篇系列(一)——基础select语句、常用sql函数、组函数、分组函数
花点时间整理下sql基础,温故而知新.文章的demo来自oracle自带的dept,emp,salgrade三张表.解锁scott用户,使用scott用户登录就可以看到自带的表. #使用ora ...
- oracle(sql)基础篇系列(一)——基础select语句、常用sql函数、组函数、分组函数
花点时间整理下sql基础,温故而知新.文章的demo来自oracle自带的dept,emp,salgrade三张表.解锁scott用户,使用scott用户登录就可以看到自带的表. #使用oracle用 ...
- oracle(sql)基础篇系列(三)——数据维护语句、数据定义语句、伪列
DML语句 insert 向表中插入新的记录 --三种插入方式 --(1)不写字段的名字,直接按照字段的顺序把值逐个往里插 insert into dept2 values(50,'DANAM ...
随机推荐
- 【技术分享会】 iOS开发简述
前言 Objective-C(简称OC)也是面向对象的编程语言,运用的许多面向对象的编程思想和C# . Java .C++等变成语言都是相通的: 本次技术讲座主要讲一些设计模式.设计思想等计算机语言通 ...
- SQL Server2008安装后1433端口没监听问题
win2008系统安装完SQL Server2008后发现1433端口并没有监听,netstat -an并没有发现监听的1433端口,本机telnet localhost 1433也连不通,百度之后说 ...
- Underscore.js(JavaScript对象操作方法)
Underscore封装了常用的JavaScript对象操作方法,用于提高开发效率.(Underscore还可以被使用在Node.js运行环境.) 在学习Underscore之前,你应该先保存它的AP ...
- ubuntu 14.04 LTS 右键菜单解压压缩包时出错
先卸载rar sudo apt-get remove rar 再安装unrar sudo apt-get install unrar
- NC 的简单使用
netcat被誉为网络安全界的’瑞士军刀’,相信没有什么人不认识它吧……一个简单而有用的工具,透过使用TCP或UDP协议的网络连接去读写数据.它被设计成一个稳定的后门工具,能够直接由其它程序和脚本轻松 ...
- github的README.md文件格式
一.在线编辑器:stackedit 网址:https://stackedit.io/ README.md是使用Markdown语法.基本规则如下: Markdown 语法速查表 1 标题与文字格式 标 ...
- thinkphp开启事物的简单方法
使用thinkphp开启事务,ThinkPHP 3.2.2实现事务操作的方法: 开启事务: $User->startTrans() 提交事务: $User->commit() 事务回滚: ...
- 生成式对抗网络GAN 的研究进展与展望
生成式对抗网络GAN的研究进展与展望.pdf 摘要: 生成式对抗网络GAN (Generative adversarial networks) 目前已经成为人工智能学界一个热门的研究方向. GAN的基 ...
- Css 中的 block,inline和inline-block概念和区别
1.block和inline这两个概念是简略的说法,完整确切的说应该是 block-level elements (块级元素) 和 inline elements (内联元素).block元素通常被现 ...
- 安装ubuntu16.04系统后没有无线网络选项的解决方法
ubuntu系统是自带有无线网络驱动的,因此最好的解决办法是安装是把联网更新选项勾选上,这样在安装是就能自动把无线网络驱动配置好 这是一个比较有效的解决没有无线网络驱动的方法,比后续按网络上的教程自己 ...