Geiling();--向上取整 Floor();--向下取整 Round(,)--四舍五入(数,小数点后位数) abs();--绝对值 sign();--测试正负与0,正返回1.0,负返回-1.0,0返回0 PI();--π:3.1415926······ Rand();--随机数 Lower();--全部转换成小写 Upper();--全部转换成大写 Str();--把数值类型转换为字符型 Ltrim();--把字符串头部的空格去掉 Rtrim();--把字符串尾部的空格去掉 left(,),right(,),substring(,);--返回字符串指定位置,指定位数的字符串 charindex(1,2);--返回1字符串在2字符串中第一次出现的位置 patindex('%1%',2);--返回1字符串在2字符串中第一次出现的位置 quotename();--返回被特定字符括起来的字符串 replicate(1,2);--返回一个重复1字符串2次的新字符串 replace(1,2,3);--返回1字符串中的2子字符串被3子字符串替代 getdate();--获取系统时间 convert(char(10),GETDATE(),20);--获取当前时间,显示年月日 select convert(char(8),GETDATE(),108);--获取当前时间,显示时分秒 执行顺序: from -> where -> group by -> having -> select -> order by
但当有top时,top选取的是经过order by排序好的
union(联合结果集):合并两个或多个select语句的结果集 DDL(Data Define Language):数据定义语言: create();创建 drop();删除 alter();修改 DML(Data Management Language):数据操作语言: insert();增 update();更新 delete();删除 select();查 DCL(Data Control Language):数据控制语言: Grant insert,select,update On 数据库 To 用户;--用户权限的搜于或修改 revoke all On 数据库 To 用户;--用户权限的撤销 主键约束(primary key constraint):要求主键列数据唯一,并且不允许为空 唯一约束(unique constraint):要求该列唯一,允许为空,但只能出现一个空值 检查约束(check constraint):某列取值范围、格式限制等,如有关年龄的约束 默认约束(default constraint):某列的默认值 外键约束(foregin key constraint):用于两表间建立关系,需要制定引用主表的那列,哪个表是外键表,就修改哪个表 district 去重 局部变量:用户自定义的变量,变量名以@开头 set @变量名=数值 以查询结果为值 全部变量:系统提供,以@@开头,只读的,也就是由系统赋值,我们取值 select @@VERSION;--返回 Microsoft? SQL Server? 当前安装的日期、版本和处理器类型 select @@identity;--得到上一次插入记录时自动产生的ID select @@error;--当没有发生错误时返回0,如果发生错误时@@error<>0,并返回错误号,每个SQL语句执行完,@@error值都会变 select @@language;--返回当前所用语言的名称 select @@rowcount;--返回受上一语句影响的行数 select @@servername;--返回运行 SQL Server 的本地服务器的名称 select @@trancount;--返回当前连接的活动事务数 select @@max_connections;--返回 SQL Server 实例允许同时进行的最大用户连接数。返回的数值不一定是当前配置的数值 流程控制语句:把平常的{}换成begin,end /*视图创建*/ create view stu1 as select stu_id as id, stu_name as name, stu_gender as sex, stu_age as age from student go select * from stu1 事务:同时执行多个insert,update,delete等sql语句时使用 特点:原子性(Atomicity):事务是一个完整的操作。事务的各步操作是不可分的(原子的),要么都执行,要么都不执行 一致性(Consistency):当事务完成时,数据必须处于一致状态 隔离性(Isolation):对数据进行修改的所有并发事务是彼此隔离的,这表明事务必须是独立的,它不应以任何方式依赖于或影响其他事物 永久性(Duraility):事务完成后,它对数据库的修改被永久保存,事务日志能够保持事务的永久性 开始事务:begin transation 提交事务:commit transation 回滚事务:rollback transation 一旦事务提交或者回滚,则事务结束 显示事务:用begin transation明确指定事务的开始,这是最常用的事务类型 隐性事务:通过设置set implicit_stransation语句,讲隐性事务模式设置为打开,下一个语句自动启动一个新事务。当该事务完成时,再下一个T-SQL语句又将启动一个新事务 自动提交事务:这是SQL Server的默认模式,它将每条单独的T-SQL语句视为一个事务,如果成功执行,则自动提交;如果错误,则自动回滚 索引:SQL Server编排数据的内部方法,它为SQL Server提供一种方法来编排查询的数据 索引页:数据库存放的数据页,索引页类似于汉语字典中按平阴或笔画排序的目录页 索引的作用:通过使用索引,可以大大提高数据库的检索速度,改善数据库性能 类型: 唯一索引(Unique):不允许两行具有相同的索引值 主键索引:为表定义一个主键将自动创建主键索引,主键索引是唯一的特殊类型,主键索引要求主键中的每个值是唯一的,并且不能为空 聚焦索引(clustered):表中各行的物理顺序与键值的逻辑(索引)顺序相同,每个表只能有一个 非聚焦索引(non-clustered):非聚焦索引指定表的逻辑顺序,数据存储在一个位置,索引存储在另一个位置,索引中包含指向数据存储位置的指针,可以有多个,小于249个 优点:加快访问速度 加强行的唯一性 缺点:带索引的表在数据库中需要更多地存储空间 操纵数据的命令需要更长的处理时间,因为它们需要对索引进行更新 存储过程(Procedure)可以包含数据操纵语句、变量、逻辑、控制语句等 优点:执行速度更快 允许模块化程序设计 提高系统安全性 减少网络流量 触发器(Trigger)是在对表进行插入、更新或删除操作时自动执行的存储过程 在触发器触发时:系统自动在内存中创建两张临时表,deleted表或insert表 这两张表为只读,不允许修改,触发器执行完成后,自动删除 inserted表: 临时保存了插入或更新后的记录行,可以从inserted表中检查插入的数据是否满足业务需求,如果不满足,则向用户报告错误,并回滚插入操作 deleted表: 临时保存了删除或更新前的记录行,可以从表中检查被删除的数据是否满足业务需求,如果不满足,则向用户报告错误,并回滚插入操作