DML-数据操纵语言

一、查询

  • 查询指定列
SELECT col1,col2... FROM tabname
  • 查询所有列
SELECT * FROM tabname 
  • 取消相同取值的行
SELECT DISTINCT column-name FROM tabname
  • 比较查询
#常见的比较运算符有:=,>,>=,<,<=,<>
#NOT + 比较运算符
SELECT * FROM tabname WHERE colum-name 比较运算符 value
  • 多重条件查询
#当WHERE子句需要指定一个以上的查询条件时,则需要使用逻辑运算符AND、OR和NOT将其连结成复合的逻辑表达式
#其优先级由高到低为:NOT、AND、OR,用户可以使用括号改变优先级
SELECT * FROM tabname WHERE <条件1> AND <条件2> OR <条件3>
  • 范围查询
#用于范围查询的运算符:BETWEEN…AND…和NOT BETWEEN…AND…
SELECT <列名> FROM <表名或视图名> WHERE <列名> [NOT] BETWEEN  值1 AND 值2
这与下等价
SELECT <列名> FROM <表名或视图名> WHERE <列名>>=值1 AND <列名><=值2
SELECT <列名> FROM <表名或视图名> WHERE <列名><值1 OR <列名>>值2
  • 集合查询
#确定集合符号:IN,NOT IN
SELECT <列名> FROM <表名或视图名> WHERE <列名>[NOT] IN  (常量1,常量2,…,常量n)
  • 匹配查询
#字符匹配查询符号:LIKE,NOT LIKE
#通配符:
_(下划线):匹配任意一个字符;
%(百分号): 匹配O个或多个字符;
[ ]:匹配[ ]中的任意一个字符。
[^]:不匹配[ ]中的任意一个字符。

SELECT <列名> FROM <表名或视图名> WHERE <列名> [NOT] LIKE <匹配字符串>
  • 空值查询
SELECT <列名> FROM <表名或视图名> WHERE <列名> IS [NOT] NULL
  • 分组查询
ELECT <列名> FROM <表名或视图名>

GROUP BY<分组依据列>[,…n]

[HAVING<组提取条件>]

注1:分组依据列不能是text、ntext、image和bit类型的列。

注2:有分组时,查询列表中的列只能取自分组依据列(计算函数中的列除外)
  • 排序查询
SELECT <列名> FROM <表名或视图名>
ORDER BY<列名>[ASC l DESC]
  • TOP限制结果集查询
# n为非负整数,表示取查询结果的前n行; n percent:表示取查询结果的前n% 行;With ties:表示包括并列的结果。
#使用TOP谓词时注意最好与ORDER BY子句一起使用,因为这样的前几名才有意义。但当使用WITH TIES时,要求必须使用ORDER BY子句
SELECT TOP n [Percent][WITH TIES] FROM tabname 
  • 常用库函数及统计汇总查询
#AVG: 按列计算平均值
SELECT AVG

SUM:按列计算值的总和

MAX:求一列中的最大值

MIN:求一列中的最小值

COUNT:按列值计算个数
总数:select count(field1) as totalcount from table1 
求和:select sum(field1) as sumvalue from table1 
平均:select avg(field1) as avgvalue from table1 
最大:select max(field1) as maxvalue from table1 
最小:select min(field1) as minvalue from table1

  • 将查询结果存入表中
#1SELECT INTO语句包含两个操作:首先按查询列表创建新表,然后执行查询语句,并将结果保存到新表中
#用INTO子句创建的新表可以是永久表,也可以是临时表。临时表又分为两种:局部临时表和全局临时表。局部临时表要在表名前加#,它只能用在当前的连接中;全局临时表要在表名前加##,它的生存期为创建全局临时表的连接的生存期
SELECT <列名> INTO 新表名 FROM
  • 合并查询
使用UNION的格式为:

    SELECT 语句1

    UNION

    SELECT 语句2

    UNION [ALL]

    SELECT 语句n

使用UNION的两个基本规则是:

A、所有查询语句中的列个数和列的顺序必须相同。

B、所有查语句中的对应列的数据类型必须兼容。
  • 子查询
    A、使用子查询进行比较测试
#使用子查询进行比较测试时,通过比较运算符(=、!=、<、>、<=、>=),将一个表达式的值与子查询返回的单值进行比较。
#使用子查询进行的比较测试要求子查询语句必须是返回单值的查询语句。
SELECT 学号 FROM SC

    WHERE 课程号=‘c02’

    and 成绩>( SELECT AVG(成绩) from SC

    WHERE 课程号=‘c02’)

B、使用子查询基于集合的测试

#使用子查询进行基于集合的测试时,通过运算符IN和NOT IN,将一个表达式的值与子查询返回的结果集进行比较。这同前边在WHERE子句中使用的IN作用完全相同。
# 注意:使用子查询进行基于集合的测试时,由该子查询返回的结果集是仅包含单个列的一个列表,该列必须与测试表达式的数据类型相同。当子查询返回结果之后,外层查询将使用这些结果。

C、 使用子查询进行存在性测试

#使用子查询进行存在性测试时,往往使用EXISTS谓词。带EXISTS谓词的子查询不返回查询的数据,只产生逻辑真值和逻辑假值
#注1:带EXISTS谓词的查询是先执行外层查询,然后再执行内层查询。由外层查询 的值决定内层查询的结果;内层查询的执行次数由外层查询的结果数决定。
  SELECT 姓名 FROM Student  

    WHERE EXISTS

    (SELECT * FROM SC

    WHERE 学号=Student.学号

AND 课程号=‘c01’) 

二、更新

  • 插入一行新数据
    2.1插入一行新记录
INSERT INTO <表名>[(<列名1>[,<列名2>…])] VALUES(<值>)
  • 插入一行的部分数据值
INSERT INTO <表名>[(<列名1>[,<列名2>])] VALUES(<值>)

-修改数据

UPDATE <表名>

SET <列名>=<表达式> [,<列名>=<表达式>]…

[WHERE <条件>].
  • 删除数据
DELETE

FROM<表名>

[WHERE <条件>]

参考整理:
测试人员要掌握的基本sql语句

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,701评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,649评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 166,037评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,994评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,018评论 6 395
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,796评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,481评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,370评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,868评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,014评论 3 338
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,153评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,832评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,494评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,039评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,156评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,437评论 3 373
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,131评论 2 356

推荐阅读更多精彩内容