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
GO
/****** Object: Table [dbo].[udt_mm_Dictionary] Script Date: 07/05/2019 17:56:38 ******/
SET ANSI_NULLS ON
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
GO
SET ANSI_PADDING ON
GO
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]
[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
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
将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 表 查询字段之间使用了.
错误原因:select A.B,C, FROM 表 查询字段之间使用了.
当 IDENTITY_INSERT 设置为 OFF 时,不能为表 'udt_mm_DailyPlan_Detail' 中的标识列插入显式值
错误原因:主键自增,在插入数据的时候为其赋值
错误原因:主键自增,在插入数据的时候为其赋值
(getdate()) 数据库默认当前时间
行转列【将本来一行显示的数据,用列的形式横着显示】
select * from 表名
PIVOT(MAX(分数) for
课程 in(语文,数学,物理)) as A
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类型来处理了
原因:将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
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结尾的值
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运行的操作 水平分表
1,磁盘读IO瓶颈,热点数据太多,数据库缓存放不下,每次查询都会产生大量的IO,降低查询的速度 分库 垂直分表
2,网络IO瓶颈,请求的数据太多,网络带宽不够 分库
CPU瓶颈
1,SQL问题,如SQL中包含JOIN,GROUP BY,ORDER BY,非索引字段条件查询等,增加CPU运行的操作 SQL优化,建立合适的索引,在业务层进行业务运算
2,单标数据量太大,查询时扫描的行太多,SQL效率低,增加CPU运行的操作 水平分表