T-SQL查询语句

1、SQL的组成

①DML:数据操纵语句

select、insert、delete、update

②DDL:数据定义语句

create、alter、drop

③DCL:数据控制语句

grant、revoke

2、查询语句:select

select 列名1,列名2,…… [into 新表名称] from 表名 [where 条件表达式]

[order by 列名 排序方式] 排序

[group by 表达式] 分组

[having 条件] 分组搜索

3、比较运算符

< > = >= <= < > !=

小于 大于 等于 大于等于 小于等于 不等于 不等于

between ...... and ...... :在......之间,包含两个边界

is(not) null :是(否)为空

like :模糊匹配

in :在 ...... 之间,指定范围

4、逻辑表达式:

and :并且,两个条件都必须满足

or :或者,两个条件只要满足一个

not :非,取反

5、特殊字符

①top n :前n行

②as :别名,可以省略

③asc|desc :升序|降序 默认为asc

④% :代表任意字符

⑤_ :代表一个字符

⑥[ ] :括号内任选一个字符

⑦[^ ] :括号外任选一个字符

6、聚合函数:

sum :求和 avg :求平均值 min :求最小值

max :求最大值 count :求个数

分组使用 group by

条件使用 having 包含聚合函数

7、表的连接:

内连接:inner join

只返回匹配条件的行

外连接:

左外连接:left join 返回左表所有行和右表有关联的行

右外连接:right join 返回右表所有行和左表关联的行

完整外连接:full join 返回左表和右表所有行(合并表)

交叉连接:cross join

select a.name,a.school,b.name,b.job from a inner|left|right|full join b on a.name=b.name

8、事务

是一个由一组命令组成,不可分割的工作逻辑单元,这组命令要么都执行,要么都不执行。

属性:ACID

原子性(A):事务是不可分割的整体

一致性(C):事务执行前后必须保持一致状态

隔离性(I):每个事务不依赖与其他事务,都是独立的

持久性(D):一旦提交永久保存

9、事务的命令

开始事务:begin transaction 可省略

提交事务:commit tran

回滚(撤销)事务:rollback tran

实际操作中需要使用@@error变量判断事务是成功还是失败来决定提交还是回滚

10、锁:用于多用户环境下保证数据库完整性和一致性,防止事务访问指定资源的手段

锁的模式:

共享锁(S锁):用于读取数据,拥有共享锁的资源,不能被修改,兼容其他S锁。

排他锁(X锁):用于数据修改,与其他任何锁都不兼容。

更新锁(U锁):用于读取和修改,与S锁兼容,不影响读取,与U锁不兼容,避免死锁。形成死锁的条件:

①互斥条件:每个事务独占资源

②请求和等待条件:已有资源请求新资源

③不剥夺条件:获得新资源前不释放旧资源

④环路等待条件:请求资源互相占用

原文发布于微信公众号 - L宝宝聊IT(gh_b0e552aa80db)

原文发表时间:2017-12-26

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏吾爱乐享

软件测试之学习mysql的查询功能select及高级查询(重中之重)

852
来自专栏wblearn

mysql错误Every derived table must have its own alias解决

Every derived table must have its own alias

701
来自专栏java小白

MySQL WHERE子句内使用正则表达式搜索

1385
来自专栏PHP技术

使用MySQL正则表达式 __MySQL必知必会

正则表达式作用是匹配方本,将一个模式(正则表达式)与一个文本串进行比较。 MySQL用WHERE子句对正则表达式提供了初步的支持,允许你指定用正则表达式过滤SE...

3309
来自专栏水击三千

SQL语言学习-数据操纵语言

一般而言,数据库中数据的生命周期包括数据插入以及更新、数据删除3个阶段。首先需要用户或者系统将数据插入表。然后,对数据的使用,包括数据的检索以及数据的更新。最后...

28010
来自专栏技术碎碎念

sql server存储过程编程

存储过程是一组完成特定功能的SQL 语句集合,经编译后存储在数据库中。 存储过程作为一个单元进行处理并以一个名称来标识。它能向用户返回数据、向数据库表中写入或修...

3536
来自专栏闻道于事

Oracle数据库(三)表操作,连接查询,分页

复制表 --复制表 create table new_table as select * from Product --复制表结构不要数据 create tab...

2868
来自专栏LanceToBigData

MySQL(六)之MySQL常用操作符

前言 在前面的MySQL学习中,我们学习了MySQL的安装,管理以及配置,还有是它的DDL。今天给大家分享一下,MySQL的操作符。 千里之行始于足下,做什么事...

2588
来自专栏HansBug's Lab

1012: [JSOI2008]最大数maxnumber

1012: [JSOI2008]最大数maxnumber Time Limit: 3 Sec  Memory Limit: 162 MB Submit: 443...

2645
来自专栏L宝宝聊IT

数据库和表的管理

1193

扫码关注云+社区