随笔分类 - 数据库
摘要:一、数据类型介绍 多选字符串数据类型,适合存储表单界面的“多选值” insert into enum_set_table(id,gender,hobby) values(null,'F','music,movie,footbal'); 二、外键删除更新规则 CASCADE:父表delete、upda
阅读全文
摘要:案例:现需要对一些设备的信息进行存储,设备的类型包括“除湿机”、“空调”、“风机”,其中“除湿机”的数据包括“温度”、“湿度”、“除湿状态”;空调的数据包括“温度”、“状态”;“风机”的数据包括“电流”、“电压”、“状态”。在设计的时候要考虑到设备类型可能会增加,每种类型的设备的数据种类也可能会改变...
阅读全文
摘要:sysobjects是系统自建的表,里面存储了在数据库内创建的每个对象(约束、默认值、日志、规则、存储过程等)。列名数据类型描述namesysname对象名idint对象标识号xtypechar(2)对象类型:C=CHECK约束D=默认值或DEFAULT约束F=FOREIGN KEY约束L=日志FN...
阅读全文
摘要:获取数据库里所有表SELECT TABLE_NAME,TABLE_ROWS FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='数据库名'获取表里所有字段select column_name from information_schema.colum...
阅读全文
摘要:1、having筛选分组 正如where子名限制了select显示的行数,having限制了group by显示的分组数。where查询条件在分组产生前就被计算,而having搜索条件在分组产生之后才被应用。除了having子句可以包含聚合函数以外,having语法类似于where语法。having子句可以引用显示在select列表中的任何一项。 总结:(1)where子句从from和join子句指定的运算结果中筛选行;(2)group by子句对where子句的输出进行分组;(3)having子句对分组后的结果筛选行。2、DBMS处理联结时,按照以下顺序执行整个查询(1)在join子...
阅读全文
摘要:分析比较执行时间计划读取情况1. 查看执行时间和cpuset statistics time onselect * from Bus_DevHistoryDataset statistics time off执行后在消息里可以看到2. 查看查询对I/O的操作情况set statistics io o...
阅读全文
摘要:1.SQLite 缺省为每个操作启动一个事务,那么如果进行1000次操作则要开启1000个事务,"事务开启 + SQL 执行 + 事务关闭"自然耗费了大量的时间。SQLite的数据库本质上来讲就是一个磁盘上的文件,所以一切的数据库操作其实都会转化为对文件的操作,而频繁的文件操作将会是一个很好时的过程...
阅读全文
摘要:1.将两个字段的值合并为一个selectcolumn1||column2||...fromtable12.获取部分数据select*fromtable1limit要显示多少条记录offset跳过多少条记录;或 select*fromtable1limit跳过多少条记录,要显示多少条记录;3.创建表c...
阅读全文
摘要:/*创建表*/CREATETABLE[UserInfo]([UserID][uniqueidentifier]notnull,[UserName][varchar](100)notnull,[LoginNumber][varchar](50)notnull,[Password][varchar](5...
阅读全文
摘要:实例一:selecta.namecolumnname,c.nameastypename,casewhena.is_nullable=0then'NotNull'else'Null'endasnullable,a.*fromsys.columnsa,sys.objectsb,sys.typescwhe...
阅读全文
摘要:一、触发器是一种特殊的存储过程,不能被显式调用,只能在对表进行insert、update、delete操作时被自动激活。所以触发器可以用来实现对表进行复杂的完整性约束。二、 Sql Server为每个触发器都创建了两个专用表:Inserted表和Deleted表。这两个表由系统来维护,它们存在于内存...
阅读全文
摘要:3Sql Server数据库,在跨库多表连接查询时,若两数据库默认字符集不同,系统就会返回这样的错误:“无法解决equal to操作的排序规则冲突” 一、错误分析:这个错误是因为排序规则不一致造成的,比如:createtable#t1(namevarchar(20)collateAlbanian_C...
阅读全文
摘要:ifexists(select*fromsysobjectswhereid=object_id(N'[fn_ChineseToSpell]')andxtypein(N'FN',N'IF',N'TF'))dropfunction[fn_ChineseToSpell]GO/*创建取拼音首字母函数*/cr...
阅读全文
摘要:abs(X) 返回参数X的绝对值coalesce(X,Y,……) 返回第一个非空参数的副本。若所有的参数均为NULL,返回NULL。至少2个参数。ifnull(X,Y) 返回第一个非空参数的副本。若两个参数均为NULL,返回NULL。last_insert_rowid() 返回当前数据库连接最后插入...
阅读全文
摘要:使用ROW_NUMBER() OVER(PARTITION BY COLUMN ORDER BY COLUMN)为查询结果添加序号列row_number() over(partition by col1 order by col2)表示根据col1分组,在分组内部根据col2排序,而此函数计算的值就表示每组内部排序后的顺序编号例如:select ROW_NUMBER() OVER(ORDER BY Convey_Fee desc) as z,rank() OVER(ORDER BY Convey_Fee desc) as z,DENSE_RANK() OVER(ORDER BY Convey_
阅读全文
摘要:Sql Server数据库中表等对象都保存在sysobjects数据表中,临时表被保存于tempdb数据库中1.判断普通表是否存在,可以使用object_id函数,它可以根据对象名称返回对象的idif (select object_id('TableName')) is not null sele...
阅读全文
摘要:1,SqlServer存储过程的事务处理一种比较通用的出错处理的模式大概如下:Create procdure prInsertProducts(@intProductId int,@chvProductName varchar(30),@intProductCount int)ASDeclare @...
阅读全文
摘要:1.什么是游标 游标实际上是一种能从包括多条数据记录的结果集中每次提取一条记录的机制。游标总是与一条T_SQL选择语句相关联,因为游标由结果集(可以是零条、一条、或多条记录)和结果集中指向特定记录的游标位置组成。当决定对结果集进行处理时,就要声明一个指向结果集的游标。2.游标的作用 (1)游标允许...
阅读全文
摘要:聚合函数Avg(numeric_expr)返回integer、decimal、money、float---返回组中各值的平均值Count(*|column_name|distinct column_name) 返回integer---返回表中的记录数|返回指定列的数目|返回指定列的不同值的数目Cou...
阅读全文
摘要:存储过程如同一门程序设计语言,同样包含了数据类型、流程控制、输入和输出和它自己的函数库。--------------------基本语法--------------------------一、创建存储过程 create procedure 存储过程名称 参数列表 as begin ……...
阅读全文