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的使用

–>选择:

->苹果园 选择苹果。

->做出明智的选择。

->多项选择、单项选择

->如何选择:

->跟着需求走

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

->选择 大于 失败

->为了选择而努力


目录
相关文章
|
1天前
|
数据采集 人工智能 安全
|
10天前
|
云安全 监控 安全
|
2天前
|
自然语言处理 API
万相 Wan2.6 全新升级发布!人人都能当导演的时代来了
通义万相2.6全新升级,支持文生图、图生视频、文生视频,打造电影级创作体验。智能分镜、角色扮演、音画同步,让创意一键成片,大众也能轻松制作高质量短视频。
910 150
|
15天前
|
机器学习/深度学习 人工智能 自然语言处理
Z-Image:冲击体验上限的下一代图像生成模型
通义实验室推出全新文生图模型Z-Image,以6B参数实现“快、稳、轻、准”突破。Turbo版本仅需8步亚秒级生成,支持16GB显存设备,中英双语理解与文字渲染尤为出色,真实感和美学表现媲美国际顶尖模型,被誉为“最值得关注的开源生图模型之一”。
1645 8
|
6天前
|
人工智能 前端开发 文件存储
星哥带你玩飞牛NAS-12:开源笔记的进化之路,效率玩家的新选择
星哥带你玩转飞牛NAS,部署开源笔记TriliumNext!支持树状知识库、多端同步、AI摘要与代码高亮,数据自主可控,打造个人“第二大脑”。高效玩家的新选择,轻松搭建专属知识管理体系。
365 152
|
7天前
|
人工智能 自然语言处理 API
一句话生成拓扑图!AI+Draw.io 封神开源组合,工具让你的效率爆炸
一句话生成拓扑图!next-ai-draw-io 结合 AI 与 Draw.io,通过自然语言秒出架构图,支持私有部署、免费大模型接口,彻底解放生产力,绘图效率直接爆炸。
603 152
|
9天前
|
人工智能 安全 前端开发
AgentScope Java v1.0 发布,让 Java 开发者轻松构建企业级 Agentic 应用
AgentScope 重磅发布 Java 版本,拥抱企业开发主流技术栈。
566 13
|
2天前
|
编解码 人工智能 机器人
通义万相2.6,模型使用指南
智能分镜 | 多镜头叙事 | 支持15秒视频生成 | 高品质声音生成 | 多人稳定对话