Tag: sqlite3

从sqlite数据库中删除重复的行

我有一个巨大的表 – 3600万行 – 在SQLite3。 在这个非常大的表中,有两列 散列 – 文本 d – 真实 但是,一些行是重复的。 也就是说,哈希和d都具有相同的值。 另外,如果两个哈希值相同,则d的值也是相同的,但是两个相同的ds并不意味着两个相同的哈希值 无论如何,我想删除重复的行。 我没有主键列,因为我是个白痴。 什么是最快的方法来做到这一点? 编辑: delete from dist where rowid not in (select max(rowid) from dist group by hash); 似乎做的伎俩。

在android中的sqlite示例程序

我是Newbee数据库的概念,特别是我需要相关的数据库的概念..我想要一个工作的例子,使用的SQLite数据库的android ..我走过了android开发人员的网站,但发现很less的东西关于数据库的例子..因为我是新的数据库概念任何人都可以build议我一些很好的资源,了解创build(),插入(),查询()…等..它会更好,如果我得到任何示例程序使用android .. 提前致谢

如何在Python中为SQLite表/列名转义string?

在SQLite查询中使用variables值的标准方法是“问号风格”,如下所示: import sqlite3 with sqlite3.connect(":memory:") as connection: connection.execute("CREATE TABLE foo(bar)") connection.execute("INSERT INTO foo(bar) VALUES (?)", ("cow",)) print(list(connection.execute("SELECT * from foo"))) # prints [(u'cow',)] 但是,这只适用于将值代入查询。 用于表名或列名时失败: import sqlite3 with sqlite3.connect(":memory:") as connection: connection.execute("CREATE TABLE foo(?)", ("bar",)) # raises sqlite3.OperationalError: near "?": syntax error sqlite3模块和PEP 249都没有提到转义名称或值的函数。 大概这是为了阻止用户用string来组装他们的查询,但是这让我不知所措。 什么函数或技术最适合在SQLite中为列或表使用variables名? 我宁愿能够做到这一点,没有任何其他的依赖,因为我将在我自己的包装使用它。 我查找了一下,但找不到SQLite语法相关部分的清晰完整的描述,用来写我自己的函数。 我想确保这将适用于SQLite所允许的任何标识符,所以对于我来说,一个反复试验的解决scheme是不太确定的。 SQLite 使用"来引用标识符,但是我不确定只是转义它们就足够了。PHP的sqlite_escape_string函数的文档表明某些二进制数据也可能需要被转义,但这可能是PHP库的怪癖。

python 3.2 UnicodeEncodeError:'charmap'编解码器不能在位置9629编码字符'\ u2013':字符映射到<undefined>

我试图做一个脚本,从sqlite3数据库中获取数据,但我遇到了一个问题。 数据库中的字段是文本types,并包含html格式的文本。 看下面的文字 <html> <head> <title>Yahoo!</title> </head> <body> <style type="text/css"> html {} .yshortcuts {border-bottom:none !important;} .ReadMsgBody {width:100%;} .ExternalClass{width:100%;} </style> <table cellpadding="0" cellspacing="0" bgcolor="#ffffff"> <tr> <td width="550" valign="top" align="left"> <table cellpadding="0" cellspacing="0" width="500"> <tr> <td colspan="3"><img src="http://mail.yimg.com/nq/assets/sharedmessages/v1/us/logo.gif" width="292" height="51" style="display:block;" border="0" alt="Yahoo! Mail"></td> </tr> <tr> <td rowspan="3" width="1" bgcolor="#c7c4ca"></td> <td width="498" height="1" bgcolor="#c7c4ca"></td> <td rowspan="3" width="1" […]

SQLite3数据库或磁盘已满/数据库磁盘映像格式不正确

我的数据库大约是25 MB,并且我已经validation了访问它的用户名以及文件权限在几个月内没有改变。 我遇到一个问题,由于“数据库或磁盘已满”而导致查询失败,然后有时“数据库磁盘映像格式错误”问题。 除非我正在读这个错误,否则我的磁盘没有接近完整(这是一个Ubuntu服务器,9.10,如果有任何区别的话) Filesystem 1K-blocks Used Available Use% Mounted on /dev/sda1 19610300 2389596 16224560 13% / udev 10240 128 10112 2% /dev none 254136 0 254136 0% /dev/shm none 254136 36 254100 1% /var/run none 254136 0 254136 0% /var/lock none 254136 0 254136 0% /lib/init/rw 作为一个testing,我只是做了一个添加了新logging的操作,并没有问题。 我试图找出是否有一组特定的操作失败。 但是,在插入(并validation它在那里)之后,数据库在磁盘上的字节数没有变化(既不是向上也不是向下)。 使用命令行实用程序导致类似于以下内容,这是令人惊叹的:) SQLite version 3.6.12 Enter […]

如何使用Python在SQLite插入行后检索插入的ID?

如何使用Python在SQLite插入行后检索插入的ID? 我有这样的桌子: id INT AUTOINCREMENT PRIMARY KEY, username VARCHAR(50), password VARCHAR(50) 我用示例数据username="test"和password="test"插入新行。 如何以交易安全的方式检索生成的ID? 这是一个网站解决scheme,两个人可能同时插入数据。 我知道我可以得到最后一个读取行,但我不认为这是交易安全。 有人可以给我一些build议吗?

创build后,将ON DELETE CASCADE行为添加到sqlite3表中

创build完成后,是否可以将ON DELETE CASCADE添加到表中? 我的模式如下: CREATE TABLE skills(name varchar, skill varchar, level int, foreign key(name) references runners(name), primary key(name, skill)); 如果外键被删除,我想级联。

SQLite插入非常慢?

我最近读了SQLite,并认为我会试一试。 当我插入一个logging时,它performance良好。 但是,当我插入一百个,需要五秒钟,而随着logging数量增加,时间也增加。 什么可能是错的? 我正在使用SQLite包装(system.data.SQlite) : dbcon = new SQLiteConnection(connectionString); dbcon.Open(); //—INSIDE LOOP SQLiteCommand sqlComm = new SQLiteCommand(sqlQuery, dbcon); nRowUpdatedCount = sqlComm.ExecuteNonQuery(); //—END LOOP dbcon.close();

SQLite中有效的表名是什么?

SQLite中表名的字符组合是有效的? 所有字母数字组合(AZ,az和0-9)是否构成一个有效的名称? Ex. CREATE TABLE 123abc(…); 如何将字母和数字组合成短划线“ – ”和句点“。”,这种情况也是有效的? Ex. CREATE TABLE 123abc.txt(…); Ex. CREATE TABLE 123abc-ABC.txt(…); 谢谢。

是否有一个与MySQL的DESCRIBE 等价的SQLite?

我刚刚开始学习SQLite 。 能够看到表格的细节,比如MySQL的DESCRIBE [table] ,会很好。 PRAGMA table_info [table]不够好,因为它只有基本信息(例如,它不显示某列是否是某种字段)。 SQLite有办法做到这一点?