T-SQL语句查询
来源:互联网 发布:淘宝话术大全 编辑:程序博客网 时间:2024/04/29 19:42
T-SQL语句简单查询
1.T-SQL语句的组成。
T-SQL语言主要由以下几个部公组成:
1.1 DML(数据操作语言):用来查询、插入、删除和修改数据库中的数据,如Select 、Insert 、 Update及Delete等。
1.2 DCL(数据控制语言):用来控制数据库组件的存取许可和权限等,如Grant 、Revoke等。
1.3 DDL(数据定义语言):用来建立数据库、数据库对象和定义其列,大部分是以Greate开头的命令,如Greate Table 、Greate View 、Drop Table等。
2.T-SQL的查询原理:
查询是针对表已经存在的数据行而言的,查询的过程其实就是“筛选”的过程。
数据表在接受查询请求时,进行逐行选取,将符合查询条件的提取出来,然后把所有被选取的行组织在一起,形成一个类似表的结构,而这个表中的数据就是查询的结果,通常叫做记录集(RecordSet)。
3.T-SQL语句使用的语法:
T-SQL语法有四个分别注释如下:
3.1 Select语法
Select select__list from Table__list [where子句] [order by 子句(ASC | DESC)]
n --select__list为字段列表,也可以说是要查询显示的内容,可以有多个字段列表一起查询--
n --Table__list 为表名,是要查询的表的表名。--
n -- [where子句]是指在”Where 后面为要查询的条件的条件表达式或逻辑表达式。--
n --[order by 子句(ASC | DESC)]是指查询结果按照某字段排序的字段列表,其中ASC表示升序、DESC表示降序。--
3.1.1在T-SQL语法中所用到的“比较运算符”
运算符
含义
=
等于
>
大于
<
小于
>=
大于或等于
<=
小于或等于
<>
不等于
!=
不等于
Between
指定值的包含范围(包含边界);between 开始值 and 结束值。
Is[not]null
根据使用的关键字,指定是否搜索空值或非空值。如果有任何一个操作数为NULL,则包含位运算符或算术运算符的表达式的计算结果为NULL。
Like
模糊查询“像什么一样”,指定字符串进行模式匹配(查询符合特征的数据)
In
是不在数据范围里面(In关健字用来限制范围)
通配符
通配符
解释
示例
‘_’
一个字符
A like ‘C_’
%
任意长度的字符串
B like ‘Cr_%’
[]
括号中所指定范围内的一个字符
C like ‘8x0[1-2]’
[^]
不在括号中所指定范围内的任意一个字符
逻辑运算符
操作符
说明
Not
和其它操作符一起使用,取反的操作
And
组合两个条件,并在两个条件都为True时取值为True
Or
组合两个条件,并在两个条件之一为True时取值为True
3.2 Insert语法
Insert into <表名> [列名] values <值列表>.
--into 是可选的,可要可不要.—
--表名 必须要有(要插入数据的表)--
--列名 也是可选的,但省略时, <值列表>中的数据必须和数据表中的字段顺序一致,(多个列名和多个值列表用逗号分开)—
例:
insert into table_1 (username,userpasspwd,phonenumber) values (张三,123456,13401138741)
表示在表table_1中插入一行数据” 张三,123456,13401138741”分别对应以下三列插入
“username,userpasspwd,phonenumber”.
注意:
1. 在插入数据时每次都是插入一整行数据不可能是半行或几列数据.
2. 数据值的数目必须与列数相同,每个数据值的类型、精度和小数位数也必须与相应的列匹配。
3. INSERT语句不能为IDENTITY标识列指定值,因为它的数字是自动增长的。
4. 对于字符型的列,当插入数据的时候,用单引号将其引起来。
5. 如果在设计表的时候指定某列不允许为空,则该列必须插入数据,否则将报告错误信息。
6. 插入的数据项要求符合检查约束的要求。
扩展:
1. 通过insert…….select…….语句可以将现有表中的数据添加到新表中。
2. 通过select…….into……语句可以将现在表中的数据添加到新表中。
3. 通过Union关健字合并数据进行插入。
3.3 Update 语法
Update <表名> set <列名 = 更新值> [Where <更新条件>]
--set 后面可以紧随多个数据列的更新值勤。--
--where子句是可选的,用来限制条件。如果不限制,整个表的所有数据行都将被更新。--
例1:Update NEWS_table set newsource = ‘中国移动’ where newsource is null
--表示将表NEWS_table中所有新闻来源newsource为空null的记录,改为‘中国移动’。--
例2:Update NEWS_table set newsource = ‘来自:’+ newsource where newsource is not null
--在T-SQL表达式中,可以将某列值统一加上数字或字符串形成新的值。--
--在例2中就是将新闻来源全部加上“来自:”。--
注意:
在更新数据时,要注意限制条件(where 子句),否则将更新表中所有行的数据,可能导致有效数据丢失。
3.4 Delete 语法
Delete from <表名> [where<删除条件>]
例:Delete from NEWS_table where newsource like ‘%谷歌网%’
--表示删除新闻来源是“谷歌网”的所有新闻—
注意:
1. 如果要删除的行的主键值被其它表引用,将不能被删除。
2. Delete……from ……只要删除就是删除整条记录,不会删除单个字段,所以在Delete后不能出现字段名。
扩展:
使用Truncate Table也可以删除数据,但它是删除表中的所有行(相当于没有where子句的Delete语句。
Truncate Table NEWS_table
Truncate与Delete的区别:
1. Truncate Table不带where子句只能将整个表清空,而Delete语句可以带where子句允许按条件删除某条记录。
2. Truncate Table不记录事务日志,而Delete无论删除多少条记录,都会每删除一行记录一条事务日志。所以Truncate Table删除后无法通过事务日志恢复。
3. Truncate Table删除表中的所有行,标识列会重置为0,而Delete不会重置标识列。
4. Truncate Table不能用于外键约束引用的表,Delete可以。
所以Truncate Table执行速度更快,在清空大数据量表作业时,DBA常用此命令。但在执行前必须确定数据可以删除,否则无法恢复。
- T-SQL语句查询
- T-SQL语句查询
- 04 T-SQL查询语句
- T-SQL查询技巧语句
- T-SQL查询语句(二):嵌套查询
- T-SQL查询语句(二):嵌套查询
- SQL查询语句大全 T-SQL
- SQL查询语句大全 T-SQL
- T-SQL查询语句的执行步骤
- MSSQL(T-SQL)查询语句执行时间
- T-SQL查询进阶--流程控制语句
- T-SQL查询进阶--流程控制语句
- T-SQL查询进阶--流程控制语句
- T-SQL查询进阶--流程控制语句
- T-SQL查询进阶--流程控制语句
- T-sql语句查询执行顺序
- T-sql语句查询执行顺序
- T-SQL查询进阶--流程控制语句
- SQL2000/2005字符串拆分为列表通用函数
- 笨用户(转自KESO)
- ETL(简译)
- Singleton 深度涉险
- 2010-04-28
- T-SQL语句查询
- 哈哈,我来也
- C# 多线程基础,仅以此心得献给那些渴望学习多线程的朋友[转]
- C#语言 第四部分 图形界面编程(五) 布局容器类(4)
- ORACLE中的数据类型分类
- 【搜索水题】hdu hdoj How Many People Can Survive
- 多一点
- 天理
- 关于云计算的两个PPT演示文档分享