SQL大圣之路笔记——SQL学习笔记

1、复习
-》自连接
针对于什么结构的表做自连接
关系列引用本表的主键列信息
这种表不是单一的含义
-》外连接
left join
right join
full join
-》case子句
必须出现在select语句中
完成选择功能
-》常用全局变量:@@identity,@@error
-》over子句:结合编号、聚合使用
sum(ocount) over()
开窗函数:将多行数据进行划区
over(partition by 列名 order by 列名)
rank()
row_number()
-》视图
封装一个select语句
-》事务
用于解决什么问题?
-》存储过程
封装一段sql代码
-》索引
优化查询速度
注意:不是越多越好

2、t-sql
-》触发器:
当有关联操作发生的时候
比如:下订单时,创建中的商品数量需要减少
比如:退票时,总的票量要增加
属于DDL
关键字trigger
关键:确定要将触发器建立在哪个表上on
执行时间:after:在触发源执行完成后执行触发器中的代码
instead of:在触发源执行前执行触发器中的代码,同时触发源的操作被废弃
触发源:insert update delete
临时表:inserted deleted
-》游标
逐行访问数据

3、ado.net基本类型
-》ado.net两大部分是什么?数据集,数据提供程序Data Provider
-》五个大类是什么?Connection,Command,DataReader,DataAdapter,DataSet
-》连接
连接字符串:服务器名称Data Source,数据库名称Initial Catalog,登录名User ID,密码Password
-》关于数据集的主要的类
DataSet内存中的数据库
DataTable内存中的数据表
DataColumn列信息
DataRow行信息
-》操作sqlserver的类
-》连接SqlConnection
注意:这是一个非托管资源,需要使用完成后,进行close()、dispose()
需要使用异常处理
操作过程:构造连接字符串,创建对象,打开连接...关闭连接,释放资源
-》执行命令SqlCommand
ExecuteNonQuery()
ExecuteScalar()
ExecuteReader()
-》读取SqlDataReader
Read()
Get***(int index)
-》操作步骤
=》首先:记住步骤;其次:记住每个步骤中使用的类及成员

时间: 2024-10-24 10:39:50

SQL大圣之路笔记——SQL学习笔记的相关文章

SQL大圣之路笔记——SQL 创建索引 index

1 --创建索引的标准:根据实际的sql语句进行分析,’列’出现在where中的次数较多,时间损耗较大,则为这个‘列’建立索引, 2 3 --注意:不是越多越好,因为没建立一个‘列’索引,都要排序存储一次,会让数据库文件变大 4 5 6 --创建索引 7 create index index_name 8 on 表名(列名)

SQL大圣之路笔记——把数据库中表里的数据导出成Excel(Copy时,会因分隔符问题导致许多数据存放在一个单元格中)

1.选中DB, 右击选择"Tasks",选中"Export Data" 点击. 2.点击"Next", Authentication 选择使用 "Windows 用户名认证" or "SQL Server 用户名,密码认证",点击"Next".    3.保存文件格式:"Excel", 选择保存文件的路径.Excel 版本,点击"Next".-&g

SQL大圣之路笔记——把Excel中的数据通过Access导入到DataBase中

把Excel中的数据通过Access导入到DataBase中 1.打开Access ,点击“EXTERNAL DATA",选择上传”excel",选中需要导入的excel,点击ok. 2.选择excel中需要上传数据的sheet,点击”next",再点击“next”,选择列明,更改 Data Type (Short Text类型导入后会成为nvarchar);点击“next”,再点击“next” ,设定导入DB之后的表名,点击“finish”. 3.右击表名,点击“Expor

SQL大圣之路笔记——SQL 行转列,列转行

1 /*普通行列转换 2 (爱新觉罗.毓华 2007-11-18于海南三亚) 3 4 假设有张学生成绩表(tb)如下: 5 Name Subject Result 6 张三 语文 74 7 张三 数学 83 8 张三 物理 93 9 李四 语文 74 10 李四 数学 84 11 李四 物理 94 12 */ 13 14 ------------------------------------------------------------------------- 15 /* 16 想变成 1

SQL大圣之路笔记——SQL 获取excel中的数据

1 select 2 --case (isnumeric(CMF_No)) when 1 then Convert(decimal(18,0),CMF_No) 3 --else Convert(nvarchar(255),CMF_No) end as CMF_No,Disti_Name, 4 --case (isnumeric(Disti_Invoice_Num)) when 1 then Convert(decimal(18,0),Disti_Invoice_Num) else 'sss' e

SQL大圣之路笔记——存储过程中含有大量sql时,使用事务处理机制

1 --事务开始,如果中间有系统错误,则Roll Back 2 BEGIN TRY 3 BEGIN TRAN 4 --存储过程的全部脚本 5 SELECT * 6 FROM #raw_data 7 WHERE id = @rowNo 8 9 COMMIT TRAN 10 END TRY 11 BEGIN CATCH 12 ROLLBACK TRAN 13 --系统错误 14 INSERT INTO store_batch_import_templog 15 ( Remark 16 ) 17 SE

SQL大圣之路笔记——SQL存储过程优化之 nocount

在存储过程中,经常用到SET NOCOUNT ON: 作用:阻止在结果集中返回显示受T-SQL语句或则usp影响的行计数信息.当SET ONCOUNT ON时候,不返回计数,当SET NOCOUNT OFF时候,返回计数: 即使当SET NOCOUNT ON 时候,也更新@@RowCount: 当SET NOCOUNT on时候,将不向客户端发送存储过程每个语句的DONE_IN_proc消息,如果存储过程中包含一些并不返回实际数据的语句,网络通信流量便会大量减少,可以显著提高应用程序性能: SE

SQL大圣之路笔记——SQL TRUNCATE,DELETE,DROP

TRUNCATE TABLE 在功能上与不带 WHERE 子句的 DELETE 语句相同:二者均删除表中的全部行.但 TRUNCATE TABLE 比 DELETE 速度快,且使用的系统和事务日志资源少. DELETE 语句每次删除一行,并在事务日志中为所删除的每行记录一项.TRUNCATE TABLE 通过释放存储表数据所用的数据页来删除数据,并且只在事务日志中记录页的释放. TRUNCATE,DELETE,DROP放在一起比较:TRUNCATE TABLE:删除内容.释放空间但不删除定义.D

contiki-main.c 中的process系列函数学习笔记 <contiki学习笔记之六>

说明:本文依然依赖于 contiki/platform/native/contiki-main.c 文件. ------------------------------------------------------------------------------------------------------------------------------------- 根据上一个笔记里面添加的printf()语句的打印信息提示,hello world 打印是在执行了 1 autostart_