随笔分类 -  [10] 数据库相关

摘要:Oracle中start by prior子句用法 connect by 是结构化查询中用到的,其基本语法是: select ... from tablename start with 条件1 connect by 条件2 where 条件3; 例: select * fromtable start with org_id = 'HBHqfWGWPy' connect by prior org_id = parent_id; 简单说来是将一个树状结构存储在一张表里,比如一个表中存在两个字段: org_id,parent_id那么通过表示每一条记录的parent是谁,就可以形成一 阅读全文
posted @ 2013-10-17 14:48 小y 阅读(1224) 评论(0) 推荐(0)
摘要:C# codepublic void AddIMG_ENTRY(img_entry model) { StringBuilder strSql = new StringBuilder(); strSql.Append("insert into IMG_ENTRY("); strSql.Append("IMG_ID,USER_ID,FOLDER_ID,STATU_ID,WORK_TIME,START_TIME,END_TIME,OUTPUT_STATUS,INPUT_DATA,INPUT_STATES,FORMAT_... 阅读全文
posted @ 2013-09-02 17:58 小y 阅读(20579) 评论(0) 推荐(0)
摘要:id字段自增sql="CREATETABLEIFNOTEXISTS MusicList (id integerprimarykey AutoIncrement,name varchar(20),path varchar(20))"; <br>常用Select语句desc <table> //查看表结构 select * from <table> //查询所有更select , from table ;//查看指定列select distinct , from table ;//非重复查询insert into users(_id,user 阅读全文
posted @ 2013-01-29 20:48 小y 阅读(907) 评论(0) 推荐(0)
摘要:abs(X)返回参数X的绝对值。coalesce(X,Y,...)返回第一个非空参数的副本。若所有的参数均为NULL,返回NULL。至少2个参数。glob(X,Y)用于实现SQLite的"XGLOBY"语法。可使用sqlite3_create_function()重载该函数从而改变GLOB运算符的功能。ifnull(X,Y)返回第一个非空参数的副本。若两个参数均为NULL,返回NULL。与上面的coalesce()类似。last_insert_rowid()返回当前数据库连接最后插入行的ROWID。sqlite_last_insert_rowid()API函数同样可用于得到 阅读全文
posted @ 2013-01-28 23:21 小y 阅读(2439) 评论(0) 推荐(1)
摘要:一、SQLite简介SQLite是遵守ACID的关联式数据库管理系统,它包含在一个相对小的C库中。它是D.RichardHipp建立的公有领域项目。不像常见的客户-服务器范例,SQLite引擎不是个程序与之通信的独立进程,而是连接到程序中成为它的一个主要部分。所以主要的通信协议是在编程语言内的直接API调用。这在消耗总量、延迟时间和整体简单性上有积极的作用。整个数据库(定义、表、索引和数据本身)都在宿主主机上存储在一个单一的文件中。它的简单的设计是通过在开始一个事务的时候锁定整个数据文件而完成的。这个介绍就不说了,反正它就是个小型的SQL数据库,有点类似于ACCESS。先来试试它的功能吧。二、 阅读全文
posted @ 2013-01-28 20:04 小y 阅读(5108) 评论(1) 推荐(4)
摘要:SQL Server Profiler是MS Sql 的性能监控工具,可以利用此工具找到需要优化的Sql语句,然后利用数据库引擎优化顾问工具,帮忙优化数据库。SQL Server Profiler使用方法我们单击开始--程序--Microsoft SQL Server 2005--性能工具--SQL Server Profiler如下图然后会出现如下界面我们单击文件---【新建跟踪(N)...】,这是一个多窗口多任何的工具,我们可以同时新建不同的跟踪窗口,也可以是不同的数据库接着看在这里我们输入 我们的跟踪的数据库的服务器名称,用户名和密码等信息。单击连接进入下一个界面上图中左面的可以进行一个 阅读全文
posted @ 2013-01-07 09:10 小y 阅读(2669) 评论(1) 推荐(0)
摘要:1.使用SET STATISTICS TIME ON--首先清除缓存DBCCDROPCLEANBUFFERS;DBCCFREEPROCCACHE;--运行SETSTATISTICSTIMEON;SELECTorderid,custid,empid,shipperid,orderdate,fillerFROMdbo.OrdersWHEREorderdate>='20060101'ANDorderdate<'20060201';SETSTATISTICSTIMEOFF;GO您将会得到类似的消息:SQLServer分析和编译时间:CPU时间=15毫秒,占用 阅读全文
posted @ 2012-12-07 10:48 小y 阅读(2004) 评论(0) 推荐(0)
摘要:使用Truncate:清理并回收空间,(mysql,sqlserver等有自增序列的数据库将序列归零),无法恢复,不能回滚;使用drop:删除表,但不回收空间,可以恢复,不能回滚;使用delete:删除记录,不回收空间,可恢复,可回滚;1. 使用drop和delete之后如何恢复?使用flashback语句flashback table test2 to before drop ;查询回收站select * from dba_recyclebin; 如果不知道原表名或有多个相同表在不同时间被drop,也可以直接使用回收站中的名称进行闪回。 例如: FLASHBACK TABLE"BI 阅读全文
posted @ 2012-07-18 22:48 小y 阅读(1853) 评论(1) 推荐(0)
摘要:MySQL 日期类型:日期格式、所占存储空间、日期范围 比较。 日期类型 存储空间 日期格式 日期范围 ------------ --------- --------------------- ----------------------------------------- datetime 8 bytes YYYY-MM-DD HH:MM:SS 1000-01-01 00:00:00 ~ 9999-12-31 23:59:59 timestamp 4 bytes YYYY-MM-DD HH:MM:SS 1970-01-01 00:00:01 ~ 2038 date 3 bytes YYYY 阅读全文
posted @ 2010-12-07 21:31 小y 阅读(3775) 评论(0) 推荐(1)
摘要:本主题介绍了 SQL Server 2008 中的更改跟踪函数,以及如何使用它们获取在数据库中所做的更改以及有关这些更改的信息。 关于更改跟踪函数应用程序可以使用以下函数来获取在数据库中所做的更改以及有关这些更改的信息:CHANGETABLE(CHANGES …) 函数 此行集函数用于查询更改信息。该函数查询内部更改跟踪表中存储的数据。该函数返回的结果集中包含已更改的行的主键和其他更... 阅读全文
posted @ 2010-04-01 13:49 小y 阅读(1060) 评论(1) 推荐(0)
摘要:案例:同事搞到个台湾网站,繁体的,要对整个数据库进行繁体转简体,帮忙写了个VBS实现:先是写了changeTable(table,col)函数,可以对单表格进行转换,用法 changeTable("Article","name|address")其中Article是表名,后面的是要转换字段,多个字段用 | 隔开VBS交给他之后,他说能不能把整个库都转了,因为有近3百个表,我晕,于是写了change... 阅读全文
posted @ 2010-04-01 13:35 小y 阅读(4532) 评论(0) 推荐(0)
摘要:微软的SQL SERVER提供了两种索引:聚集索引(clustered index,也称聚类索引、簇集索引)和非聚集索引(nonclustered index,也称非聚类索引、非簇集索引)……   (一)深入浅出理解索引结构   实际上,您可以把索引理解为一种特殊的目录。微软的SQL SERVER提供了两种索引:聚集索引(clustered index,也称聚类索引、簇... 阅读全文
posted @ 2009-08-28 10:14 小y 阅读(26924) 评论(15) 推荐(23)
摘要:由于直接使用临时表来创建中间表,其速度不如人意,因而就有了把临时表建成内存表的想法。但内存表和临时表的区别且并不熟悉,需要查找资料了。一开始以为临时表是创建后存在,当连接断开时临时表就会被删除,即临时表是存在于磁盘上的。而实际操作中发现临时表创建后去目录下查看发现并没有发现对应的临时表文件(未断开链接).因而猜测临时表的数据和结构都是存放在内存中,而不是在磁盘中. 这样一想内存表不是也是存在... 阅读全文
posted @ 2009-02-06 10:32 小y 阅读(13709) 评论(0) 推荐(0)
摘要:mySql中是否能有SQLserver的@@error变量呢,或者如c#中的try catch语法呢。 答案是肯定的,实例代码如下: CodeCode highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->DROP PROCEDURE IF EXISTS sp_cal... 阅读全文
posted @ 2009-01-19 11:31 小y 阅读(4490) 评论(0) 推荐(0)
摘要:自定义属性的作用 有时候我们需要给一个类或者类中的成员加上一些属性或者附加信息,让类或者变量的功能更明确可控制的细粒度更高,打个简单的比方:数据库里面的一张表,表中的每一个字段都有很多属性,如是否主键,默认值,注释信息等等,我们在编写实体类的时候,如何表示这些信息呢?通过自定义属性可以实现。 自定义属性的实现步骤 我说了不算,权威说了算: 声明一个类,并将 Att... 阅读全文
posted @ 2008-10-05 04:11 小y 阅读(11109) 评论(2) 推荐(3)
摘要:本篇的主角是IDataReader.GetSchemaTable,顺便提及容易与之混淆的DataTable.Clone方法。 一、IDataReader.GetSchemaTable 功能:返回一个 DataTable,它描述 IDataReader 的列元数据。 如有表mbr_grade Code highlighting produced by Actipro CodeHighlight... 阅读全文
posted @ 2008-10-05 02:07 小y 阅读(2699) 评论(5) 推荐(1)
摘要:1、选取最适用的字段属性 MySQL可以很好的支持大数据量的存取,但是一般说来,数据库中的表越小,在它上面执行的查询也就会越快。因此,在创建表的时候,为了获得更好的性能,我们可以将表中字段的宽度设得尽可能小。例如,在定义邮政编码这个字段时,如果将其设置为CHAR(255),显然给数据库增加了不必要的空间,甚至使用VARCHAR这种类型也是多余的,因为CHAR(6)就可以很好的完成任务了。同样... 阅读全文
posted @ 2008-09-02 11:07 小y 阅读(874) 评论(0) 推荐(0)
摘要:算数运算子 +, -, *, / 除于 0 会等于 NULL。 比较运算子 任何东西跟 NULL 比较会等于 NULL。 比较字符串通常不需要注意大小写,如果要比较大小写,用 BINARY 关键词。 程序代码: SELECT * FROM department WHERE name = BINARY 'marketing'; 程序代码: = 相等 != 或 不相等 ... 阅读全文
posted @ 2008-08-21 16:35 小y 阅读(1414) 评论(0) 推荐(0)
摘要:INSERT语法 INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE] [INTO] tbl_name [(col_name,...)] VALUES ({expr | DEFAULT},...),(...),... [ ON DUPLICATE KEY UPDATE col_name=expr, ..... 阅读全文
posted @ 2008-07-22 20:07 小y 阅读(1013) 评论(0) 推荐(0)
摘要:1、取随机记录 SELECT id FROM student order by rand() limit 102、分配远程用户权限GRANT ALL ON db_name.* TO username@% IDENTIFIED BY 'userpassword'或GRANT ALL PRIVILEGES ON *.* TO username@% IDENTIFI... 阅读全文
posted @ 2008-07-14 10:40 小y 阅读(2014) 评论(0) 推荐(0)