随笔分类 - 08 数据库
摘要:sql:select * from test where col2 like '%'||col1||'%';
阅读全文
摘要:1.增加字段 alter table docdsp add dspcodechar(200)2.删除字段 ALTER TABLE table_NAME DROP COLUMNcolumn_NAME3.修改字段类型 ALTER TABLE table_name ALTER COLUMNcolumn_name new_data_type4.sp_rename 改名EXEC sp_rename '[dbo].[Table_1].[filedName1]', 'filedName2', 'COLUMN'更改当前数据库中用户创建对象(如表、列或用户定义数据
阅读全文
摘要:若使用SQLite API時,出現错误代码21(misuse),可能是你的SQLiteConnection同時打開(Open)了兩個相同的Data source,所造成的错误。解決方法:检查代码是不是重复openDatabase了。
阅读全文
摘要:业务层代码://将解析的更新人员数据批量同步到数据库+(void)operateCompUsers:(NSMutableArray*)operateCompUsers{ sqliteHelper *mysqlite = [[sqliteHelper alloc]init]; if (operateCompUsers.count<=0) return; if([mysqlite openDatabase:@"ucab_db.db"]) { NSMutableArray *transactionSql= [[NSMutableArray alloc]init]...
阅读全文
摘要:join :取两个表的合集;left join:左表的数据全部保留,然后增加右表与左表条件匹配的记录。如下select cc.* from cloud_groups as cg left join cloud_contacts as cc on cg.ou=cc.departmentNumber order by cast(cg.sort as int),cast(cc.sort as int) //先以部门排序,再以员工进行排序效果:(1)cloud_groups 的内的数据全部保留(2)增加 cloud_contacts 表中cg.ou=cc.departmentNumbe...
阅读全文
摘要:insert 语句后面不要跟 where 等条件语句;update 才用得到。
阅读全文
摘要:向sqlite数据库插入和读取图片数据 (for ios)假定数据库中存在表 test_table(name,image), 下面代码将图片文件test.png的二进制数据写到sqlite数据库:char *name = "test";NSString * nameString = [NSString stringWithCString:name encoding:NSUTF8StringEncoding];NSString * filePath = [[NSBundle mainBundle] pathForResource:nameString ofType:@&quo
阅读全文
摘要:如何删除数据库一个表中某列是重复的数据?比如表T:id name1 aa2 bb3 cc4 aa5 aa6 cc如何变成(保留最大的id或者最小的id):id name1 aa2 bb3 cc1.使用distinct关键字,导出无重复的数据到一个临时表,删除原表,再从临时表导入数据:select distinct name into #temp from Tdrop table Tselect identity(int,1,1) as id, * into T from #tempdrop table #temp如果原表的id和其他表没有联系并只有id,name列时,用这种方法可以,当然最好原
阅读全文
摘要:在一个表中有一个自动增长列c1,同时又有两个外健列分别指向另外两个标的主键c2,c3,突然有一天我想让c2与c3组合为一个唯一键,这个时候先必须删除关于c2与c3的重复键(因为c1不可能重复),这就是今天要讨论的话题,如何删除这种情况下的重复键。在网上查询了一下关于删除重复键的一些做法,很多是用拷贝原表的一个distinct查询表格到临时表,然后删除原表,最后拷贝临时表到原表。近似代码如下:select distinct * into #temp from table1;delete table1;insert into table1 select * from #temp;drop #tem
阅读全文
摘要:举例1:insert into table_b(time,score,totalscore)select time,score,sum(score) over (order by time)from table_a举例2:insert into JobInfo_analysis(Salary,address,jobname,company,companysize,companytype,Educational,remak,Releasetime,created,id,LinkStatus,Reply,MyNote,LoveLevel) select Salary,address,jobname
阅读全文
摘要: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函数同样可用于得到
阅读全文
摘要:sqlite数据库是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,资源占用低,执行效率高,可以跨平台使用,已被广泛使用。作为一款轻量级的数据库,功能自然会有所欠缺,比如数据库加密,用户权限设置,其内置函数相对于mysql,access,sqlserver,oracle这些主流数据库也逊色不少。比如最新的sqlite3.0数据库就没有类似于mysql,sqlserver等数据库的charindex内置函数,那么要实现类似的功能应该怎么办呢,我采用了substr这个函数曲线救国,使用如下语句。select*from[table]wheresubstr(findstring,[column
阅读全文
摘要:sqlite 字符串 转 整型使用 cast 函数语法: cast(col_name as type)例子:表:JobInfo表内字段:Salary薪水select * from JobInfo where cast(substr(Salary,1,5)as int)>10000结果集:
阅读全文
摘要:函数:substr(string string,num start,num length)用法:string为字符串;start为起始位置;字符串的第一个字符的位置为1,不是从0开始计算length为长度。例子:假设表table1存在以下数据mark1000100000010002select mark from table1 where substr(mark,1,2)='00'结果集如下:mark00010002编者注:Substring()函数,经过测试,并不适合sqlite数据库。
阅读全文
摘要:mysql 服务器支持 # 到该行结束、-- 到该行结束 以及 /* 行中间或多个行 */ 的注释方格: mysql> SELECT 1+1; # 这个注释直到该行结束mysql> SELECT 1+1; -- 这个注释直到该行结束mysql> SELECT 1 /* 这是一个在行中间的注释 */ + 1;mysql> SELECT 1+/*这是一个多行注释的形式*/1; 注意 -- (双长划) 注释风格要求在两个长划后至少有一个空格! 尽管服务器理解刚才描述的注释句法,但 MySQL 客户端的语法分析在 /* ... */ 注释方式上还有所限止: 单引号和双引号被用.
阅读全文
摘要:SUBSTRING返回字符、binary、text或 image表达式的一部分。有关可与该函数一起使用的有效 Microsoft® SQL Server™数据类型的更多信息,请参见数据类型。语法SUBSTRING ( expression , start , length )参数expression是字符串、二进制字符串、text、image、列或包含列的表达式。不要使用包含聚合函数的表达式。start是一个整数,指定子串的开始位置。length是一个整数,指定子串的长度(要返回的字符数或字节数)。substring()——任意位置取子串left()righ
阅读全文
摘要:mysql 和 sqlite 区别SQLITE是单机数据库。功能简约,小型化,追求最大磁盘效率MYSQL是完善的服务器数据库。功能全面,综合化,追求最大并发效率MYSQL、Sybase、Oracle等这些都是试用于服务器数据量大功能多需要安装,例如网站访问量比较大的。而sqlite是一款小型数据库,简单移植性好无需安装只需要几个文件。一般手机,终端等用的比较多~如一句话,如果只是单机上用的,数据量不是很大,程序上对数据的处理也不太复杂的话,就用SQLite比较合适,它轻量级,单文件,可加密,方便小型程序的使用。其它情况可以建议使用mysql。 SQLite Expert Professiona
阅读全文
摘要:SQL语句的添加、删除、修改虽然有如下很多种方法,但在使用过程中还是不够用,不知是否有高手把更多灵活的使用方法贡献出来?添加、删除、修改使用db.Execute(Sql)命令执行操作╔----------------╗☆ 数据记录筛选 ☆╚----------------╝注意:单双引号的用法可能有误(没有测式)Sql = "Select Distinct 字段名 From 数据表"Distinct函数,查询数据库存表内不重复的记录Sql = "Select Count(*) From 数据表 where 字段名1>#18:0:0# and 字段名1<
阅读全文
摘要:/* 先向数据库插入此人的热度 */ NSString *strSql=[[NSString alloc]initWithFormat:@"%@%@%@", @"select * from cloud_contacts where uid='",compUser.uId,@"'"]; NSLog(@"查询此人热度的sql是:%@",strSql); self.mysqlite = [[sqliteHelper alloc]init]; if([self.mysqlite openDatabase:@
阅读全文