6.SQL和ADO.Net高级【中】

简介: 6.SQL和ADO.Net高级【中】

提示:以下是本篇文章正文内容,下面案例可供参考

1、用户表的CRUD

->用户表修改
->用户表多条件搜索
->  //CTRL+L  快速剪切一行
    //CTRL +TAB:  程序内部的页签切换
    //Alt + Tab  :程序与程序之间的快速切换。

2、SqlHelper的封装

->参数化处理
->DRY原则
  ->ExcuteNonQuery()
  ->ExcuteScalar()
  ->ExcuteReader()
  ->ExcuteTable()
SqlHelper + app.config 
----------*******************---------------------------------------

3、Case的用法

->使用方法一:(类似C#中的Case的用法)
  ->语法:
    Case  表达式
      when 值1  then  返回值
      when 值1  then  返回值
      ....
    End
  ->案例:把0413DB数据库中的用户表中数据 全部查询出来,要求把DelFlag=0的显示成删除,DelFlag=1的显示为 未删除
->使用方法二:(类似C#中的多个if else)
  ->语法
    Case 
      When 表达式 then 返回值
      When 表达式 then 返回值
      else 值
    end
  ->案例:把0413DB数据库中的用户表中数据全部查询出来,要求把DelFlag=0的显示成删除,DelFlag=1的显示为 未删除

3、补充:ISNULL(表达式,替换的值)

4、SQL控制语句

->定义变量:declare
  ->给变量赋值:
    ->set @参数名=值
    ->select @参数名=值
->打印 : Print
->IF ELSE
  ->语法格式:
  if(表达式) 
  begin 
    SQL语句
  end   
  else 
  begin 
    语句
  end   
->WHILE
  ->语法:
    While(表达式)
    begin
      SQL语句
    end

5、子查询

->把一个查询结果作为一个表来使用,就是子查询
->把一个查询结果作为 一个 表达式进行使用就是子查询。
案例:   
  --查询顾客表中属于同一家公司超过两个顾客的公司名称    
  select CompanyName,count(*) as 个数  from SalesLT.Customer group by CompanyName having count(*)>2
  --查询顾客表中  相同公司人数最多的 顾客信息
  select * from SalesLT.Customer where CompanyName=(
    select top 1 CompanyName from SalesLT.Customer group by CompanyName order by count(*) desc
  )
  --查询 相同公司人数最多的顾客的订单信息
  select * from SalesLT.SalesOrderHeader where CustomerID
    in(
      select CustomerID from SalesLT.Customer where CompanyName=(
    select top 1 CompanyName from SalesLT.Customer group by CompanyName order by count(*) desc)
    )
  --查询山东省的所有的城市信息
  use 0413DB
  go
  select areaId from AreaFull where AreaPId =(select AreaId from AreaFull where AreaName=N'山东省')
  --查询山东省中所有县级市的
  select * from AreaFull where AreaPId in(
    select areaId from AreaFull where AreaPId =(select AreaId from AreaFull where AreaName=N'山东省')
  )
  --查询山东省中的所有的县
  select * from AreaFull where AreaPId in(
    select areaId from AreaFull where AreaPId =(select AreaId from AreaFull where AreaName=N'山东省')
  ) and AreaName like N'%县'

6、分页SQL语句

->Row_Number函数的分页使用
->双Order排序 分页法【越过多少条,取多少条数据】


7、表链接

->Inner Join
  ->查询员工出差的信息。
->Right Join
  ->查询所有员工的信息,如果有出差信息则显示出差信息。
->Left Join
->Full Join
  ->查询所有员工的信息和所有的出差信息,
->Cross Join
  ->查询所有员工和所有职位的组合情况

8、索引

->索引就是表的目录。 提高查询效率。
->创建索引    
  ->索引的分类
    ->聚簇索引:索引的存储顺序跟数据的存储顺序一致。
    ->非聚簇索引:索引指向聚簇索引或者是数据存储的磁盘位置。
  ->语法
    ->非聚集索引
      ->CREATE  INDEX  索引名  ON 表名(列名)
    ->创建唯一非聚集索引
      ->CREATE UNIQUE INDEX 索引名 ON 表名(列名)
    ->创建聚集索引
      ->CREATE TABLE t1 (a int, b int, c AS a/b); 
      CREATE UNIQUE CLUSTERED INDEX Idx1 ON t1(c); 
      INSERT INTO t1 VALUES (1, 0);
->使用索引的条件:
  ->经常查询的字段,经常进行数据筛选的列
->索引失效:
  ->where条件后面使用了 <> 、not in 、not exist、!= 、Or等
  ->对列使用了函数处理 类型转换函数 convert  cast
  ->隐式转换使索引失效:
    ->错误的例子:select * from test where tu_mdn=13333333333;
    ->正确的例子:select * from test where tu_mdn='13333333333';
  ->对索引列进行运算导致索引失效,我所指的对索引列进行运算包括(+,-,*,/,! 等)
    ->错误的例子:select * from test where id-1=9;
    ->正确的例子:select * from test where id=10;
  ->like查询是以%开头
  ->在Where子句中使用IS NULL或者IS NOT NULL

->补充GUID的使用

–>选择:

->苹果园 选择苹果。

->做出明智的选择。

->多项选择、单项选择

->如何选择:

->跟着需求走

->报传智播客,明智的选择。

->选择 大于 失败

->为了选择而努力


目录
相关文章
|
6天前
|
云安全 人工智能 安全
AI被攻击怎么办?
阿里云提供 AI 全栈安全能力,其中对网络攻击的主动识别、智能阻断与快速响应构成其核心防线,依托原生安全防护为客户筑牢免疫屏障。
|
15天前
|
域名解析 人工智能
【实操攻略】手把手教学,免费领取.CN域名
即日起至2025年12月31日,购买万小智AI建站或云·企业官网,每单可免费领1个.CN域名首年!跟我了解领取攻略吧~
|
10天前
|
安全 Java Android开发
深度解析 Android 崩溃捕获原理及从崩溃到归因的闭环实践
崩溃堆栈全是 a.b.c?Native 错误查不到行号?本文详解 Android 崩溃采集全链路原理,教你如何把“天书”变“说明书”。RUM SDK 已支持一键接入。
617 215
|
存储 人工智能 监控
从代码生成到自主决策:打造一个Coding驱动的“自我编程”Agent
本文介绍了一种基于LLM的“自我编程”Agent系统,通过代码驱动实现复杂逻辑。该Agent以Python为执行引擎,结合Py4j实现Java与Python交互,支持多工具调用、记忆分层与上下文工程,具备感知、认知、表达、自我评估等能力模块,目标是打造可进化的“1.5线”智能助手。
857 61
|
8天前
|
人工智能 移动开发 自然语言处理
2025最新HTML静态网页制作工具推荐:10款免费在线生成器小白也能5分钟上手
晓猛团队精选2025年10款真正免费、无需编程的在线HTML建站工具,涵盖AI生成、拖拽编辑、设计稿转代码等多种类型,均支持浏览器直接使用、快速出图与文件导出,特别适合零基础用户快速搭建个人网站、落地页或企业官网。
1294 157
|
5天前
|
编解码 Linux 数据安全/隐私保护
教程分享免费视频压缩软件,免费视频压缩,视频压缩免费,附压缩方法及学习教程
教程分享免费视频压缩软件,免费视频压缩,视频压缩免费,附压缩方法及学习教程
243 138
|
7天前
|
存储 安全 固态存储
四款WIN PE工具,都可以实现U盘安装教程
Windows PE是基于NT内核的轻量系统,用于系统安装、分区管理及故障修复。本文推荐多款PE制作工具,支持U盘启动,兼容UEFI/Legacy模式,具备备份还原、驱动识别等功能,操作简便,适合新旧电脑维护使用。
536 109