SQL Server整理
1、SQL Server简介
SQL Server是关系型数据库。
1、SQL Server大致可以分为以下几类:
1)横向:企业版,标准版,个人版,开发版
2)纵向:2000,2005,2008,2012
3)易用:完整版,精简版
2、SQL Server数据库的功能组件
1)数据库引擎服务
2)分析服务
3)报表服务
4)集成服务
3、SQL Server数据库的组成
sql语句替换表中内容1)数据文件(DataFile) 扩展名为 mdf
2)日志文件(LogFile) 扩展名为 ldf
4、数据库完整性
实体完整性,参照完整性,人为约束;
2、SQL语言
SQL语句,用于存取数据以及查询,更新和管理关系数据库系统。SQL语言结构简洁,功能强大,简单易学。
1、SQL语言组成
1)数据查询语言(DQL) 主要是select语句(where,order by,group by,having)
2)数据操作语言(DML) inset,update,delete
3)数据定义语言(DDL) create,drop,alter
2、SQL语言的特点
1)非过程化语言
2)统一的语言 :身份统一,接口统一
3)所有关系数据库的公共语言
3、SQL常用函数
1)execute sp_helpdb [数据库名称]; -- 查看数据库
2)execute sp_renamedb [oldname],[newname]; -- 修改数据库名字
3)LOWER(); --将大写字母改成小写
4)STR(number); --将数字型转换成字符型
5)TRIM(); --去除两头的空格
LTRIM()--去除左边的空格
RTRIM()--去除右边的空格
6)LEFT(<content>,<length>); --返回内容左边指定长度的内容
7)RIGHT(<content>,<length>); --返回内容右边边指定长度的内容
8)SUBSTRING(<content>,<start>,<length>);--返回指定位置指定长度的内容
9)CHARINDEX(<子串>,<主串>); --返回子串在主串中第一次出现的位置
10)REVERSE(); --反转字符串
11)REPLACE(<主串>,<子串>,<替换内容>); --将主串中是子串的内容改成指定的内容
12)GETDATE(); --获得当前系统时间
year(GETDATE()),month(GETDATE()),day(GETDATE())
13)CONVERT(); --类型转换
(聚合函数)
14)->AVG() --返回平均值,数值型数据
15)->count() --返回的行数,*(any)、field:多用主键 (主键自带索引)
16)->max() --返回最大值,多用于数值型数据
17)->min() --返回最小值,多用于数值型数据
18)->sum() --返回总和,多用于数值型数据
4、DML数据操作语言
Inset、Delete、Update、Select
Insert 、Delete、Update 返回受影响的行数;int 类型的值
Select 返回结果:带着标题行的二维表结构;
在c#环境中,有两种方式可以接收查询结果:
1)Reader(阅读器)来逐行在线读取
2)Adapter(适配器)一次性读出所有数据,离线存放处理
5、SQL插入操作
Insert into --插入操作
1)insert into table_name values(1,);要求必须为所有字段赋值,并且顺序一致
2)Insert into table_name(列1,列2.。。) values (值1,值2.。。。); --要求列与值之间类型和个数一一对应
6、SQL数据更新操作
Update
Update table_name set 列名 = 新值 where condition
Condition 是条件
7、SQL删除操作
1)delete,truncate
delete和truncate异同
相同点:两者删除之后表结构都还在
不同点:delete逐条删除,写操作日志,可以恢复,删除速度慢
truncate批量删除,不写日志,不可以恢复,删除速度快
8、SQL查询操作
1)基本查询:从表中查询某些列的值,这是最基本的查询语句。语法:SELECT 列名1,列名2 FROM 表名
Where(条件)作用:按照一定的条件查询数据语法:SELECT 列名1,列名2 FROM 表名
WHERE 列名1 运算符 值常用运算符:=、<>、>、>=、<、<=、BETWEEN、Like(模糊查询,可以使用的通配符:%、_、[ ]、[!])
2)AND:在 WHERE 子语句中把两个或多个条件结合起来。表示和的意思,多个条件都成立。
3)OR:在 WHERE 子语句中把两个或多个条件结合起来。或关系,表示多个条件,只有一个符合即可。
4)IN:在 WHERE 子句中规定多个值。表示:在哪些值当中。多用于在子查询中进行比对,注意,此时的字查询返回结果必须是一列。
5)NOT 否定:对于条件的否定,取非;
6)ORDER BY(排序):对需要查询后的结果集进行排序(ASC:生序;DESC:降序),永远放在查询语句的最后面。
7)AS:为列名称和表名称指定别名
8)Distinct:查询时忽略重复值
9)GROUP BY:用于结合合计函数,根据一个或多个列对结果集进行分组
10)HAVING:在 SQL 中增加 HAVING 子句原因是,WHERE 关键字无法与合计函数一起使用。
11)TOP:TOP 子句用于规定要返回的记录的数目。对于大数据很有用的,在分页时也会常常用到。
12)Case语句:计算条件列表,并返回多个可能的结果表达式之一
13)Union:用于合并两个或多个 SELECT 语句的结果集,使用UNION时,两张表查询的结果有相同数量的列、列类型相似。
(连接查询)
14)INNER JOIN(内连接):根据两个或多个表中的列之间的关系,从这些表中查询数据,内连接是从结果中删除其他被连接表中没有匹配行的所有行。
15)外连接:与内连接相比,即使没有匹配行,也会返回一个表的全集。外连接分为三种:
左外连接,右外连接,全外连接(不常用)。对应SQL:LEFT JOIN、RIGHT JOIN、FULL OUTER JOIN等。
16)SELECT INTO:从一个表中选取数据,然后把数据插入另一个表(不一定是存在的)中。常用于创建表的备份或者用于对记录进行存档。
3、SQL Server的应用
1、SQL中的视图
虚拟的逻辑表,视图存的是查询语句
不同的用户从不同的角度查看相同的数据源
从数据库内部来看:视图是由一张或多张表中数据所组成
从数据库外部来看:视图就是一张表一样,对表能够进行的一半操作都可以应用于视图
对视图的操作不会影响基础表
2)视图的创建
命令形式:CREATE VIEW 视图名 [<列名>[,< 列名>]] AS 子查询 [WITH CHECK OPTION]; 其中:子查询可以是任意复杂的SELECT语句,但通常不允许含有 ORDER BY子句和DISTINCT短语。WITH CHECK OPTION表示视图的创建约束是否始终有效
3)3种视图类型
①表中列的子集:包含表中的一个或者多个列,这是常见的视图类型(列过滤)
②两个或多个表的连接:通过表的连接建立的视图(多表连接)
③聚集信息:可以创建具有聚集函数的视图,可以简化统计的操作
4)视图的意义
①简化用户操作
②从多角度看待同意数据
③增加数据的安全性
④提高访问的逻辑独立性
2、SQL中的存储过程
概述:存储过程就是作为可执行对象存放在数据库中的一个或多个SQL命令。能完成一定操作的一组SQL语句
1)引入存储过程的目的:
1 1.存储过程只在创造时进行编译,以后每次执行不需再重新编译,而一般SQL语句每执行一次就编译一次,所以使用存储过程可提高数据库执行速度。
2 2.当对数据库进行复杂操作时,可将此复杂操作用存储过程封装起来与数据库提供的事务处理结合一起使用,保证完整性。
3 3.存储过程可以重复使用,可减少数据库开发人员的工作量。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论