-
TRUNCATE快速删除表中的所有数据
备注与DELETE语句相比,TRUNCATETABLE具有以下优点:所用的事务日志空间较少。DELETE语句每次删除一行,并在事务日志中为所删除的每行记录一个条目...
数据库操作教程 2022-09-23 20:14:43 -
SQLServer中的集合运算:UNION,EXCEPT和INTERSECT示例代码详解
SQLServer中的集合运算包括UNION(合并),EXCEPT(差集)和INTERSECT(相交)三种。集合运算的基本使用1.UNION(合并两个查询结果集,隐式DINSTINCT,删除重复行)--合并两个提取表/派生表(derivedtable),返回结果为:[a,b,c,d,e]SELECTFCFROM(VALUES('a'),('b'),('c'),('e'))Table1(FC)UNIONSELECTFCFROM(VALUES('a'),('b'),('c'),('d'))Table2(FC)2.UNIONALL(简单合并两个查询结果集,不删除重复行)--提取表/派生表(derivedtable)可以是多列,列名、顺序可以不同,但列数必须相同SELECT*FROM(VALUES('a','Anna'),('b','Bob'),('c','Cassie'),('e','Elina'))Table1(FC,Name)UNIONALLSELECT*FROM(VALUES('a','Anna'),('b','Bob'),('c','Cassie'),('d','David'))Ta...
数据库操作教程 2022-09-23 18:25:20 -
秒懂drop、truncate和delete的区别
(1)DELETE语句执行删除的过程是每次从表中删除一行,并且同时将该行的删除操作作为事务记录在日志中保存以便进行进行回滚操作。TRUNCATETABLE则一次性地从表中删除所有的数据并不把单独的删除操作记录记入日志保存,删除行是不能恢复的...
数据库操作教程 2022-09-23 18:24:42 -
SQL删除语句DROP、TRUNCATE、DELETE的区别
DROP:DROPTABLEtest;删除表test,并释放空间,将test删除的一干二净。TRUNCATE:TRUNCATEtest;删除表test里的内容,并释放空间,但不删除表的定义,表的结构还在...
数据库操作教程 2022-09-23 18:24:10 -
Ubuntu下安装SQLServer教程
微软刚宣布了下一代SQLServer的公开预览,Canonical也正式宣布此预览版本可用于Ubuntu系统。无论是在内部部署还是在云端使用,SQLServeronUbuntu都为开发人员和组织提供了更为自由的选择...
数据库操作教程 2022-09-23 18:18:51 -
SQlFunction创建函数实例介绍
在SQL中系统已为我们提供了很非常丰富的函数:例:聚会函数avg,sum,count,max,min日期函数:Day,Month,Year等等 为我们日常开发节省很多时间 但是有一些特殊需求的话SQL也提供自己创建函数的功能下面举一小例子:需求:某一订单表编号,订单号,产品名称要知道某一订单号的产品名称名称之间用逗号(,)隔开如下图:我们创建一个标题函数:StrName创建过程类似创建存储过程如下:点击右键创建表值函数与标量函数从名称就可以分出来 一个返回表(集合)标题(单一)在这个小例子中因为我们只返回名字所以创建一个标量函数代码如下:CreateFUNCTION[dbo].[OrderDetailGetStrNameByOrderId](@OrderIdint)RETURNSvarchar(500)ASBEGIN--Declarethereturnvariableheredeclare@StrPassengernamevarchar(500)set@StrPassengername=''select@StrPassengername=@St...
数据库操作教程 2022-09-23 18:13:58 -
MySQL5.7createVIEWorFUNCTIONorPROCEDURE
1.视图a.CREATEALGORITHM=UNDEFINEDDEFINER=`root`@`localhost`SQLSECURITYINVOKERVIEW`sakila`.`actor_info`ASSELECT`a`.`actor_id`AS`actor_id`,`a`.`first_name`AS`first_name`,`a`.`last_name`AS`last_name`,GROUP_CONCAT(DISTINCTCONCAT(`c`.`name`,':',(SELECTGROUP_CONCAT(`f`.`title`ORDERBY`f`.`title`ASCSEPARATOR',')FROM((`sakila`.`film``f`JOIN`sakila`.`film_category``fc`ON((`f`.`film_id`=`fc`.`film_id`)))JOIN`sakila`.`film_actor``fa`ON((`f`.`film_id`=`fa`.`film_id`)))WHERE((`fc`.`category_id`=`c`.`category_id...
数据库操作教程 2022-09-23 18:13:44 -
详解SQLServer中JSON_MODIFY的使用
SQLServer中JSON_MODIFY的使用IntroSQLServer从2016开始支持了一些JSON操作,最近的项目里也是好多地方字段直接存成了JSON,需要了解一下怎么在SQLServer中操作JSON.JSON支持适用于SQLServer2016及以上版本和AzureSQLDatabase。最近在项目中很多地方字段都是存一个JSON字符串,尤其是针对一些有很多不确定的属性的数据来说,这样的信息我们一般都放在一个Extra之类的字段保存一个JSON字符串,由于不确定性很大,很有可能会遇到要修改这个JSON字符串结构的问题,在修改JSON对象的某一个值和修改JSON的结构时都会用到JSON_MODIFY,今天就来介绍一下JSON_MODIFY的使用示例直接来看示例:--适用append在数组中追加元素PRINTJSON_MODIFY(@testJsonValue,'append$.skills','Azure');--无效用法,这样会把属性更新为字符串PRINTJSON_MODIFY(@testJsonValue,'$.skills','["C#","T-SQL","Azure...
数据库操作教程 2022-09-23 18:13:33 -
SQLFunction自定义函数详解
目录产生背景(已经有了存储过程,为什么还要使用自定义函数)发展历史构成使用方法适用范围注意事项疑问内容产生背景(已经有了存储过程,为什么还要使用自定义函数)与存储过程的区别(存在的意义):1. 能够在select等SQL语句中直接使用自定义函数,存储过程不行。2. 自定义函数可以调用其他函数,也可以调用自己(递归)3. 可以在表列和CHECK约束中使用自定义函数来实现特殊列或约束4. 自定义函数不能有任何副作用...
数据库操作教程 2022-09-23 18:10:45 -
Sqlserver自定义函数Function使用介绍
一.FUNCTION:在sqlserver2008中有3中自定义函数:标量函数/内联表值函数/多语句表值函数,首先总结下他们语法的异同点: 同点:1.创建定义是一样的:a,CREATEFUNCTIONF_NAME(传入的参数名称传入参数的类型)b,RETURNS返回值类型c,AS异点:1.标量函数返回的是一个数据类型值,内联表值函数返回的是一个table,而多语句返回的是一个table的变量(类似前面两个的结合);2.语法的结构:标量函数和多语句函数都是要有begin,,,end,内联表值函数就没有;3.调用:标量函数要写成在dbo,function_name;标量函数,利用上篇文章写的数据表,在[T_员工信息]表中查姓名为李异峰员工的工号:USESQL_SYSTEMGOCREATEFUNCTIONF_GONGHAO(@XINGMINGNVARCHAR(5))RETURNSINTASBEGINDECLARE@GONGHAOINTSET@GONGHAO=(SELECTY.工号FROM[T_员工信息]ASYWHEREY.姓名=@XINGMING)RETURN@GONGHAOEND...
数据库操作教程 2022-09-23 18:10:22 -
SQL语句的并集UNION交集JOIN(内连接,外连接)等介绍
1.a.并集UNIONSELECTcolumn1,column2FROMtable1UNIONSELECTcolumn1,column2FROMtable2b.交集JOINSELECT*FROMtable1ASaJOINtable2bONa.name=b.namec.差集NOTINSELECT*FROMtable1WHEREnameNOTIN(SELECTnameFROMtable2)d.笛卡尔积SELECT*FROMtable1CROSSJOINtable2与SELECT*FROMtable1,table2相同2.SQL中的UNION与UNIONALL的区别是,前者会去除重复的条目,后者会仍旧保留。a.UNIONSQLStatement1UNIONSQLStatement2b.UNIONALLSQLStatement1UNIONALLSQLStatement23.SQL中的各种JOINSQL中的连接可以分为内连接,外连接,以及交叉连接(即是笛卡尔积)a.交叉连接CROSSJOIN如果不带WHERE条件子句,它将会返回被连接的两个表的笛卡尔积,返回结果的行数等于两个表行数的乘积;举例S...
数据库操作教程 2022-09-23 17:57:30 -
sqlserver四舍五入使用round函数及cast和convert函数
引言 今天和测试沟通一个百分比计算方式时遇到一个问题,我在存储过程里用到了强转CAST(32.678ASDECIMAL(5,1)) 我认为该方式只会保留一位小数,我给测试的回复是我并没有用到四舍五入函数,数据也没有四舍五入,而测试说他们自己验证后觉的数据是经过四舍五入了的。想到这里于是我再试了试存储过程的每个计算点,才发现了这个问题...
数据库操作教程 2022-09-23 17:54:55