zoukankan      html  css  js  c++  java
  • Sql知识点总结

    select concat(name,id) as name  from table  这种将两列的结果拼在一起

    select concat(concat(name,' '),id) as nameid,age from table  这种将两列的结果拼在一起,中间有空格隔开

    select name+id as name  from table  这种如果有一列的值为null  则结果为null

    decimal值的精度与小数位数。精度是总的数字位数,包括小数点左边和右边位数的总和。而小数位数是小数点右边的位数。decimal(6,4):总精度是6,小数点后保留4位。结果为:12.4000。

    round(  ,  ,  ,)第一个参数是取值的数据,第二个参数是精度,第三个参数是数据取值模式(1,四舍五入2,截断),其中第三个参数是可选参数,默认是四舍五入模式。第三个参数如果是0,则四舍五入,如果是非0,则截断。

    sql取了别名之后,不能够使用别名做运算,除非套用一层。

    时间格式  23  2019-12-03   112  20191203

    sum()用于求和,SUM 函数会忽略所有 NULL 值,且只能应用于数字类型的字段。,count()用于行数的统计NULL 不计入,但‘ ’计入

    USE [SOADB]
    GO
    /****** Object:  Table [dbo].[udt_mm_Dictionary]    Script Date: 07/05/2019 17:56:38 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    SET ANSI_PADDING ON
    GO
    CREATE TABLE [dbo].[udt_mm_Dictionary](
     [ID] [int] IDENTITY(1,1) NOT NULL,
     [TypeCode] [varchar](50) NULL,
     [TypeDesc] [varchar](50) NULL,
     [ProdCode] [int] NULL,
     [ProdDesc] [varchar](50) NULL,
     CONSTRAINT [PK_udt_MM_Dictionary] PRIMARY KEY CLUSTERED
    (
     [ID] ASC
    )WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
    ) ON [PRIMARY]
    GO
    SET ANSI_PADDING OFF
    GO
    对于状态的描述,用一张表存起来。将需要修改的数据封装到数据,这样修改的工作就大大减少
     判断DataTable是否查询出来数据    if (list.Select("Password='845'").Length>0)  Password表中的字段
    将A表数据导入B表
    INSERT INTO udt_mm_Warehouse (ProdGID,ProdCode,ProdDesc)
    (SELECT PROD_ID ,PROD_CODE,PROD_DESC FROM  v_PA_Material_Complete)   没有values
    select * into A from B  将B表的f复制新表A
    一张表必须有主键且自增
    insert into [soadb0308].dbo.udt_tb_WipInventory
    select * from [soadb0408].dbo.udt_tb_WipInventory
    select * into udt_mm_WFCurrent0512 from udt_mm_WFCurrent 备份临时表加上日期,用完后删除

    --局部  SQL_Server关闭后自动清除
    select * into #Temp from udt_mm_Account
    --全局
    select * into ##Temp from udt_mm_Account
     
    不能对varchar调用方法
    错误原因:select A.B,C, FROM 表  查询字段之间使用了.
    当 IDENTITY_INSERT 设置为 OFF 时,不能为表 'udt_mm_DailyPlan_Detail' 中的标识列插入显式值
    错误原因:主键自增,在插入数据的时候为其赋值
    (getdate())  数据库默认当前时间
    行转列【将本来一行显示的数据,用列的形式横着显示】
    select * from 表名
    PIVOT(MAX(分数) for
    课程 in(语文,数学,物理)) as  A
     
    度娘  最短的语句描述问题
    SQL修改之前查询,在临时表上修改  避免where条件错误
    数据量很大的时候不建议放在临时表

    truncate table udt_mm_ApplyBuy_Main   清空表中的数据【保留表的数据结构】
    Deleete  删除之前使用select 查询出where条件  只删除表的行  保留表的结构,属性,索引
    drop
    varchar(100)   UTF-8(每个汉字3个字节)
    表的内连接(INNNER JOIN)必须保证该条数据在每张表都存在
    (NOT)Between 小 and 大  等价与  A>=  AND A<=
    错误:在将 varchar 值 'KT' 转换成数据类型 int 时失败。
    原因:将varchar类型的数据当做int类型来处理了

    聚集索引:正文内容按照一定规则排列  类比字典的拼音查找汉字
    非聚集索引:正文纯粹的排列方式  类比字典的偏旁部首查找汉字
    order by 放在最后面且前面没有and
    group by 分组  必须跟聚合函数(COUNT()计数,SUM()求和,AVG()平均值,MAX()最大值,MIN()最小值)一起使用  条件使用having而非where
    select Group_Desc, COUNT( Group_Desc ) as 各个权限组人数 from v_PA_SecurityGroup_Storage_User 
    group by  Group_Desc
    having COUNT(Group_Desc)>10
    LIKE
    LIKE 'a%' 以a开头
    LIKE '%a' 以a结束
    LIKE '%a%' 任何位置有a
    LIKE '_a%' 第二个位置具有a
    LIKE 'a_%_%' 以a开头且至少有3个字符
    LIKE 'a%o' 以a开头o结尾的值
    派生表:子查询,一个查询嵌套另一个查询
    IO瓶颈
    1,磁盘读IO瓶颈,热点数据太多,数据库缓存放不下,每次查询都会产生大量的IO,降低查询的速度   分库  垂直分表
    2,网络IO瓶颈,请求的数据太多,网络带宽不够   分库
    CPU瓶颈
    1,SQL问题,如SQL中包含JOIN,GROUP BY,ORDER BY,非索引字段条件查询等,增加CPU运行的操作  SQL优化,建立合适的索引,在业务层进行业务运算
    2,单标数据量太大,查询时扫描的行太多,SQL效率低,增加CPU运行的操作    水平分表
    Hi, Tomorrow!
  • 相关阅读:
    Java的静态块与实例块(转)
    Programming Ability Test学习 1031. Hello World for U (20)
    Programming Ability Test学习 1011. World Cup Betting (20)
    Programming Ability Test学习 1027. Colors in Mars (20)
    Programming Ability Test学习 1064. Complete Binary Search Tree (30)
    Programming Ability Test学习 1008. Elevator (20)
    【maven详解-生命周期】Maven的生命周期和插件
    【maven详解-插件】maven插件学习之源码插件Source Xref
    $(document).ready(){}、$(fucntion(){})、(function(){})(jQuery)onload()的区别
    你还没真的努力过,就轻易输给了懒惰
  • 原文地址:https://www.cnblogs.com/aikeming/p/11906286.html
Copyright © 2011-2022 走看看