X



トップページDB@2ch掲示板
1002コメント312KB
SQLite Part.10
■ このスレッドは過去ログ倉庫に格納されています
0783NAME IS NULL垢版2018/11/06(火) 08:53:01.39ID:???
>>779
なんの話がしたいんや?
訓練されたマなら読めて当然やが、大元の質問をするような人は読めなくても当然。
0784NAME IS NULL垢版2018/11/06(火) 08:57:46.02ID:???
アンカー間違えてるぞ w
正しい使い方

>>780, >>782
バカアピール乙
0785NAME IS NULL垢版2018/11/06(火) 09:50:25.94ID:???
>>777
日本国民のほぼ全員が英語教育を受けてるので読めるやつは多いだろう。
プログラミング教育も必須化されるので、、、
0786NAME IS NULL垢版2018/11/06(火) 12:27:40.80ID:???
>>783
訓練 w
矢印追っかけていくだけだからむしろ子供とかプログラムとか知らない奴の方が理解しやすいだろ
0787NAME IS NULL垢版2018/11/08(木) 00:55:32.60ID:???
バカは他人をバカ呼ばわりする
0788NAME IS NULL垢版2018/11/08(木) 07:17:44.92ID:???
> バカは他人をバカ呼ばわりする
上から目線の>>787が言うなよww
0790NAME IS NULL垢版2018/11/08(木) 08:39:31.22ID:???
自分の無知がわかれば哲学者になれる
0793NAME IS NULL垢版2018/12/02(日) 16:12:37.68ID:???
sqliteもいつの間にかJSON型使えるようになってたんだな。
知らんかったよ・・。
0794NAME IS NULL垢版2019/02/16(土) 16:08:19.92ID:???
皆さん冬眠中のとこわるいんだけど1点教えて
Pythonで
 sql = 'select * from hoge'
 cur.execute(sql)
 for i in cur:
  print(i)

 sql = 'select * from hoge'
 cur.execute(sql)
 l = cur.fetchall()
 for i in i:
  print(i)
同じ結果になる。fetchall()て使わないとダメなの?
0796NAME IS NULL垢版2019/02/16(土) 20:55:52.69ID:???
>>794
Pythonのライブラリみたいだけど、SQLite関係なくない?

cur.execute(sql) を
 for i in cur: で一つずつ取得する場合はfetchは不要みたいだね
0797NAME IS NULL垢版2019/02/16(土) 21:35:53.80ID:???
>>794
>  for i in i:

for i in l:
だとして
> 同じ結果になる。fetchall()て使わないとダメなの?
別に使わなくていい、と言うかでかいデータをfetchall()するとメモリー上に展開するからやっちゃダメ
ただforとかfetchone()で回すとシリアルにしか処理できないから読み込んでpythonでランダムに処理したい時とかはfetchall()で一気に読み込んで処理するとかはあり得る
0798794垢版2019/02/17(日) 13:19:11.23ID:???
ありがとう
fetchallがPythonライブラリなのは知らなんだわ
0800NAME IS NULL垢版2019/03/16(土) 23:09:31.62ID:???
すいません。パナのVIERAの録画用外付けHDDがTVで読めなくなったので救出中です。
ddからごにょごにょしてファイルを拾ってみると、txt、dbx、spliteとかのファイルがあって、どうやらデータ保存にこのSQLiteってのを使ってるみたいなんです。誰か同じようにデータ救出したことある人いませんか?

現状、拾ったファイルからプリセットと思われるDBが見えてるだけの状態です。
https://imgur.com/pg50Nq7
0801NAME IS NULL垢版2019/03/17(日) 07:15:15.64ID:???
>>800
そんなもんが簡単にできたら祭りになってる
データ自体は読み出せるだろうけど暗号化されてるから復号キーを知り得る立場でないと意味ないぞ
0802NAME IS NULL垢版2019/03/18(月) 03:25:00.48ID:???
アクセスの特性を考えても動画そのものはSQLiteには入れないだろうね。
datnameという列が動画ファイルの名前なのかな。
0806NAME IS NULL垢版2019/07/30(火) 09:23:06.50ID:???
マルチマスタ,標準機能で入れて欲しい。
0807NAME IS NULL垢版2019/07/30(火) 13:58:57.32ID:???
マネージドサービスも欲しいよね
0808NAME IS NULL垢版2019/08/12(月) 19:16:00.45ID:ZgSTLcpR
アクセスみたいなフォーム・レポート機能も欲しいよね
0809NAME IS NULL垢版2019/09/15(日) 18:36:11.82ID:???
なんかワンセットで使えるものないのかね
アメリカだとジャスパーレポートがあるのか
0810NAME IS NULL垢版2019/10/04(金) 00:21:06.27ID:???
db browser for sqliteの問題なのかも知れないけど
maindb.tbl1とattachしたsubdb.tbl2をjoinした結果でcreate viewして、
それをselectしたら、no such db:"maindb.tbl2"ってエラーになったんだけど、他の人も再現しますか?
joinした結果だけなら普通にselectできて、中身も正しいんだけど
エラーメッセージからも、どうもattachしたsubdbがviewにすると上手く参照出来てないっぽい
0813NAME IS NULL垢版2019/11/30(土) 12:46:47.63ID:???
sqliteって正規表現使えないんだな。
0814NAME IS NULL垢版2020/02/29(土) 17:34:06.34ID:???
日付型がネックだなこれ
excelからVBAで書き込もうとしたけど上手くいかない
0815NAME IS NULL垢版2020/02/29(土) 19:26:41.37ID:???
>>814
sqliteに日付型なんぞ無い
文字型と数値型で代用さ
0816NAME IS NULL垢版2020/02/29(土) 19:46:45.57ID:???
あったらあったでややこしいのが日付型。
タイムゾーンとか範囲とか精度とか表現とか。。。
0817NAME IS NULL垢版2020/02/29(土) 21:10:39.44ID:???
日付を数字八桁に変えてやるのがやっぱベターかね?
0818NAME IS NULL垢版2020/02/29(土) 22:04:36.50ID:???
>>817
文字型にするかepochからの経過日数にするとか
0819NAME IS NULL垢版2020/02/29(土) 23:07:17.82ID:???
>>817
あんまりみたことないやりかた。w
でも、わかる。
わるくないかも?
0820NAME IS NULL垢版2020/03/01(日) 07:23:04.95ID:???
>>819
ふつーだと思う
日付型の演算が必要なければ文字列型にしても不自由はない。
0821NAME IS NULL垢版2020/03/01(日) 08:39:59.21ID:???
8文字の文字列にするのはよくあるが8桁の数値にするのは見たことないわ
0822NAME IS NULL垢版2020/03/01(日) 09:09:44.07ID:???
BCDの変形だけど、何ていうんだろう
Decimal Coded Clock notationで、DCC?

というか、time()とかdate()とかって関数なかったっけ?
0823NAME IS NULL垢版2020/03/01(日) 09:22:40.88ID:???
>>821
COBOLの時代には普通にあったよ
文字だと8バイトだがPacked-Decimalだと5バイト
記憶装置が貧弱だった時代の話し
0824NAME IS NULL垢版2020/03/01(日) 09:26:11.62ID:???
オマエらSQLiteのマニュアルをちゃんと見ろよ。
日付について詳しく書いてある。
オープンソースであんだけしっかりとマニュアルが有るのは無いぞ。
0825NAME IS NULL垢版2020/03/01(日) 09:44:55.05ID:???
ドキュメントはPostgreSQLもしっかりしてるぞ
0826NAME IS NULL垢版2020/03/01(日) 15:20:41.92ID:???
>>821
文字型だとexcelにインポートしたときソート出来ないので
0827NAME IS NULL垢版2020/03/01(日) 17:14:22.26ID:???
普通にソートできるけど?
0828NAME IS NULL垢版2020/03/01(日) 18:03:05.26ID:???
別に>>826に文字列型にしろと言ってるわけじゃないから好きな方法でいいと思うよ
0830NAME IS NULL垢版2020/04/04(土) 17:51:01.08ID:???
何このSQL!?
これ標準SQLなの?
0831NAME IS NULL垢版2020/04/22(水) 07:31:11.44ID:???
出来るようになったんだ。
postgresqlでは昔からあったこの書き方。
0832NAME IS NULL垢版2020/04/23(木) 22:18:26.65ID:???
Create temporary view で接続時限定のマスタを仕立てたりするのに使えるかな
0833NAME IS NULL垢版2020/04/27(月) 15:10:44.26ID:???
設定少な目でお手軽使用
便利だなあ
0835NAME IS NULL垢版2020/06/14(日) 20:03:56.58ID:???
このDB使っててDBが壊れた経験ある人いる?
0837NAME IS NULL垢版2020/06/21(日) 17:57:03.78ID:???
コマンドライン(sqlite3)でパスワード付きのファイルを使うときはどうやってパスワード指定するの?
0838NAME IS NULL垢版2020/07/24(金) 19:27:11.79ID:???
符号なし64bit整数はないのか…
0839NAME IS NULL垢版2020/07/30(木) 12:15:20.47ID:???
C#版のsystem.data.sqlite.dllの暗号化機能は無くなったのでしょうか?
0840NAME IS NULL垢版2020/09/24(木) 14:30:05.42ID:PKn4SiJe
SQLiteのWALファイルが80GBを超えている(DBファイルは8GBほど)なのですが、
これってふつうなのでしょうか。
ググると、WALファイルの内容はコミットされたときに、DBファイルとマージされるという趣旨の記事を見かけたのですが、
WALファイルの内容をDBファイルに加えて、安全に削除できるようにするにはどうしたらいいのでしょうか。
よろしくお願いいたします
0842NAME IS NULL垢版2020/10/22(木) 02:03:20.97ID:???
sqliteのソースコードからビルドってどうやるのでしょうか?
dllファイルを作ろうと公式からamalgamationをダウンロードして、visual studioのc++のプロジェクトに中身全部追加してビルドしようとしても「プリコンパイル ヘッダーを検索中に不明な EOF が見つかりました。'#include "pch.h"' をソースに追加しましたか?」など色々エラーや警告が出ます
0843NAME IS NULL垢版2020/10/22(木) 02:11:58.91ID:???
>>842
プロジェクトの設定で、プリコンパイルヘッダが有効になってんじゃないの?
無効にしないと。
0844NAME IS NULL垢版2020/10/22(木) 03:51:57.88ID:???
>>843
ようやく出来ましたわ
どこ見ても同じような指南していて、その通りにしているのに同じエラーが出続けて参ってました
構成とプラットフォームのコンボボックスにも適切な設定をしないと駄目なんですね
ありがとう
0845NAME IS NULL垢版2021/08/16(月) 19:24:19.07ID:???
SQLiteって、プリペアドステートメントでマルチステートメントって使えないものなの?


凄く初歩的な質問で申し訳ないが、当方Web系ではないので全く相場が分かってない。
PHPからSQLiteを操作している。
元々既に動いているプロトタイプではリテラルで与えていたSQLを、
本格運用前にその他機能も付けてプリペアドに書き換えているのだが、
そうすると何故か動かないケースに何度も遭遇し、色々試ししたところ、
どうやら頭の一つしか動いていないっぽいことに気づいた。
それでググッたのだが、そのものは出てこない。
ただしプリペアドの使用例ではどこもシングルステートメントで書かれているし、
MySQL8.0の仕様書には「プリペアドはマルチステートメントには対応していません」と明示されており、
MySQLで対応出来てない機能がSQLiteにあるはずも無しか?とも思っている。
(というよりそもそもプリペアドがマルチステートメントに対応しているDBが無いのか?)
そこで上記の質問になる。
もう諦めてシングルステートメントに書き直しているが、一応確認したい。
0846NAME IS NULL垢版2021/08/16(月) 21:43:30.84ID:???
もし「使える」とここで言われたところで、実際におまえのところで使えないのであれば、意味はまったくないで?
0847NAME IS NULL垢版2021/08/16(月) 22:31:00.95ID:???
別の人DBMS使ってるけどそれはマルチステートメントでパラメータ使えないな
使えるのってあるのかね
0848NAME IS NULL垢版2021/08/16(月) 23:01:47.24ID:???
>>847
やはりそうか。ありがとう。

>>846
今作っているのは他環境用(公開用)だから。
バージョン上げて済むならそうするし、動作条件にそう書くだけ。


プリペアドがシングルステートメント専用だと絶望的にコードが汚くなる。
これだと上位階層でラップしたくなるのも分かる。
そしてLaravel見たが、完全にORMに近い。まあそりゃそうだ。
(プリペアドが必要な場合は、)SQLなんてベタで書くものではないと痛感している。

ただなあ、ポインタを渡しているだけっぽいので、実装は難しくなさそうだし、やる気がないだけか?
確かにフレームワークで隠蔽するべきだし、その場合には最早どうでもいいのも確かだけど。
0849NAME IS NULL垢版2021/08/16(月) 23:21:52.23ID:???
他のDBならストアド
SQLiteならユーザー定義関数
0850NAME IS NULL垢版2021/08/22(日) 11:38:56.96ID:+WxTgcLC
https://kurashigoto.hokkaido.jp/flexibleSearch/search.php?offset=0&;limit=20&search=%E3%83%98%E3%83%AB%E3%82%B9%E5%AC%A2%E3%83%BB%E5%A3%B2%E6%98%A5%E5%A9%A6%E3%81%AE%E9%87%91%E5%9F%8E%E8%8B%B1%E9%87%8C%E3%81%95%E3%82%93%EF%BC%881984%EF%BC%8F3%EF%BC%8F21%E7%94%9F%EF%BC%89%E3%81%AE%E8%87%AA%E6%92%AE%E3%82%8A%E3%83%8C%E3%83%BC%E3%83%89%E5%85%AC%E9%96%8B%E4%B8%ADavgle
https://magazine.jp.square-enix.com/top/comics/?search=q&;x=0&y=0&sword=%E3%83%98%E3%83%AB%E3%82%B9%E5%AC%A2%E3%83%BB%E5%A3%B2%E6%98%A5%E5%A9%A6%E3%81%AE%E9%87%91%E5%9F%8E%E8%8B%B1%E9%87%8C%E3%81%95%E3%82%93%EF%BC%881984%EF%BC%8F3%EF%BC%8F21%E7%94%9F%EF%BC%89%E3%81%AE%E8%87%AA%E6%92%AE%E3%82%8A%E3%83%8C%E3%83%BC%E3%83%89%E5%85%AC%E9%96%8B%E4%B8%ADavgle
https://miyagi.doctor-search.tv/search/hospital?dis=3000&;Keyword=%E3%83%98%E3%83%AB%E3%82%B9%E5%AC%A2%E3%83%BB%E5%A3%B2%E6%98%A5%E5%A9%A6%E3%81%AE%E9%87%91%E5%9F%8E%E8%8B%B1%E9%87%8C%E3%81%95%E3%82%93%EF%BC%881984%EF%BC%8F3%EF%BC%8F21%E7%94%9F%EF%BC%89%E3%81%AE%E8%87%AA%E6%92%AE%E3%82%8A%E3%83%8C%E3%83%BC%E3%83%89%E5%85%AC%E9%96%8B%E4%B8%ADavgle
https://mtke-job.jp/list/keyword=%E3%83%98%E3%83%AB%E3%82%B9%E5%AC%A2%E3%83%BB%E5%A3%B2%E6%98%A5%E5%A9%A6%E3%81%AE%E9%87%91%E5%9F%8E%E8%8B%B1%E9%87%8C%E3%81%95%E3%82%93%EF%BC%881984%EF%BC%8F3%EF%BC%8F21%E7%94%9F%EF%BC%89%E3%81%AE%E8%87%AA%E6%92%AE%E3%82%8A%E3%83%8C%E3%83%BC%E3%83%89%E5%85%AC%E9%96%8B%E4%B8%ADavgle
https://news.dwango.jp/search/?s=%E3%83%98%E3%83%AB%E3%82%B9%E5%AC%A2%E3%83%BB%E5%A3%B2%E6%98%A5%E5%A9%A6%E3%81%AE%E9%87%91%E5%9F%8E%E8%8B%B1%E9%87%8C%E3%81%95%E3%82%93%EF%BC%881984%EF%BC%8F3%EF%BC%8F21%E7%94%9F%EF%BC%89%E3%81%AE%E8%87%AA%E6%92%AE%E3%82%8A%E3%83%8C%E3%83%BC%E3%83%89%E5%85%AC%E9%96%8B%E4%B8%ADavgle
0851NAME IS NULL垢版2021/10/24(日) 14:06:43.68ID:O6kw9T0t
windows版のSQLite3でFTS5を、トークナイザにtrigramを指定して使ってみたのですが
検索文字を2文字以下にするとヒット数が0件になります
スキーマは
CREATE VIRTUAL TABLE novel USING fts5(text, tokenize= 'trigram')
で、
SELECT * from novel WHERE text MATCH 'ジョー';
→結果391件
SELECT * from novel WHERE text MATCH 'ジョ';
→結果0件
という感じです
SQLite3のtrigramは3文字以上の語句しか検索できないのでしょうか?
0852NAME IS NULL垢版2021/10/24(日) 14:46:14.93ID:???
trigramってなんのことやと思ったん?
0853NAME IS NULL垢版2021/10/24(日) 16:14:36.29ID:???
>>851
> Notes:
> Substrings consisting of fewer than 3 unicode characters do not match any rows when used with a full-text query.
> If a LIKE or GLOB pattern does not contain at least one sequence of non-wildcard unicode characters,
> FTS5 falls back to a linear scan of the entire table.
> https://www.sqlite.org/fts5.html#trigramidx
0856NAME IS NULL垢版2021/10/24(日) 17:48:12.98ID:???
不親切だとは思うけどね。
それ含めてテスト中なのだとも思うけど。
0857NAME IS NULL垢版2021/10/24(日) 18:32:03.63ID:???
>>856
どんな「テスト」なんや?w
ドキュメントを読まない、ググらない、想像もしないヤツに「親切」とは?

>>851よりも>>856のほうがバカに見えるな。。。
0858NAME IS NULL垢版2021/10/24(日) 19:28:58.24ID:???
>>857
Experimentalなんだから、仕様のテスト中だよ。
MATCH対象は文字列なのだから、プリペアドで与えられる事も普通にある。つまり、変数扱いだ。
なら、今の仕様だとプログラム側(上位)で「3文字以上かどうか」を判定してSQLを切り替えてやらないといけなくなる。
これだと使いにくいでしょ。
普通なら、
・2文字以下の場合は内部的にLIKEに切り替えてヒットするようにするか、
・2文字以下もヒットして欲しい場合はMATCHではなく別の予約語(NEARMATCH)とかを用意するか
だと思うけど。

Experimentalが何か知らないお前が一番頭悪いよ。なお853=856=俺な。
>>851に対して言える事は、
SQLiteは公式ドキュメントが素晴らしくよく出来てるので、引っかかったらまずは公式を読めって事だね。
はっきり言って大体公式だけで解決する。
0859NAME IS NULL垢版2021/10/24(日) 21:37:28.36ID:???
>>858
> ・2文字以下の場合は内部的にLIKEに切り替えてヒットするようにするか、
> ・2文字以下もヒットして欲しい場合はMATCHではなく別の予約語(NEARMATCH)とかを用意するか
こんな提案、なおさらバカに見えるわ。w
0860NAME IS NULL垢版2021/10/24(日) 21:57:35.95ID:???
>>859
だとするとお前が「仕様はどうあるべきか」考えるレベルに至ってないだけの話だよ。

変数で与えたらいちいち文字数なんて気にしてないのだから、今の仕様だと、

・プログラミング側で3文字以上であることをいちいち確認するか --- (A)
・さらに上位の仕様で3文字以上である事を保証する(例えばパスワードで8文字以上とかのあれ)か、 --- (B)
・SQLite側で何らかの対応をする --- (C)

のどれかが必要で、Aだと各ライブラリ/フレームワーク/ORM内に「3文字以上チェック」のコードが必要になるだろ。
CならそれがSQLite内の1箇所で済む。
だったら、全世界で重複コードが出来るだけ少なくなるように最適化する場合は、自ずとCになる、ってだけ。
それが分からないお前は、無駄にコード重複しまくってる馬鹿だと断定出来る。
本来そのコードがどこに置かれるべきか考える癖を付けたほうがいい。

で、それ含めてExperimentalで、つまり、
・3文字以下は無視の今の仕様でいいか、
・何らかの対策を盛り込むべきか
というわけだよ。実際に使ってフィードバックしろって事。
限界ギリギリまで高速にする場合は今の「無視」の仕様がよくて、現実的にほぼ2文字以下の検索なんて必要ないのならそれもあり、
いやいちいちラッパを用意するのがウザイ、なら仕様変更で2文字以下も自然にヒットするようになる、というだけ。
だからこそ Note になってるわけで。
0861NAME IS NULL垢版2021/10/24(日) 22:37:19.63ID:???
>>860
SQLは、素人のオモチャやないんやで!w

適当に自動でやりゃあいいってもんやない。
速度激遅のリスクを内包するわけないから、最低限の仕様にしかならんわ。
0862NAME IS NULL垢版2021/10/24(日) 22:52:30.16ID:???
>>861
劇遅ではない。
クエリプランナ(つまりインタプリタ)でif文1個分だよ。しかもSQLiteだとC言語だ。
上位で対応するよりは段違いに速いよ。

まあどのみち君には仕様を考える頭はないし、君に決定権があるわけでもないからいいけどね。
0863NAME IS NULL垢版2021/10/24(日) 23:44:58.31ID:???
長文はn-gram知らんかったんだけやんww
なんかこっちが恥ずかしくなるわ
0864NAME IS NULL垢版2021/10/25(月) 02:15:23.61ID:???
>>862
全文検索のインデックスについてよーく調べるようにな。w
C言語がどうとか関係ないことを知ってるふうにしゃべってる場合ちゃうで!
0865NAME IS NULL垢版2021/10/25(月) 09:50:27.32ID:???
>>862
君には実装を考える頭はないし、君に決定権があるわけでもないからいいけどね。
いやマジでホントによかった。
0866NAME IS NULL垢版2021/11/15(月) 16:23:31.83ID:???
sqliteベースでFilemaker Proみたいに簡単にDBアプリ作れるソフトはないかのう...。
できればLinuxで....。あったら御教授くだされ。

とりあえず、PythonとPyQtでフロントエンド作り始めたんだけど、挫折しそう....
0868NAME IS NULL垢版2021/11/16(火) 00:05:32.11ID:???
webになるけどDjangoでどうよ
0870NAME IS NULL垢版2021/11/25(木) 14:46:07.36ID:???
Streamlitにしとけ
凄い楽にWebUI作れる
0871NAME IS NULL垢版2021/12/08(水) 21:22:54.34ID:GVKAgvqd
お前ら和歌山県出身の下村拓郎様(35歳独身、元自衛隊)をご存知か、この方は将来素晴しい人物になるから覚えておいて損はないぞ
0873NAME IS NULL垢版2021/12/18(土) 18:46:18.71ID:dxWonGct
いまさらこんなの使う理由がない。
0874NAME IS NULL垢版2022/01/07(金) 15:12:25.30ID:U9oQR6GR
皆様ありがとう。866です。
おかげさまで住所録と顧客名簿をFileMakerからPySqlite3 & PyQtに移行できました。
どちらも15フィールド100レコードぐらい...年賀状づくりに間に合って良かったです。
0877NAME IS NULL垢版2022/01/10(月) 16:02:33.92ID:???
>>876
慣れっすよ、慣れ。
だいぶ前にtkinterとWxとPyQtならべてデザイナの良さでPyQtになってしまいました。
結局pycsv(データ以降用)+PyQt(GUI)+pysqlite3(DB)+reportlab(印刷)という
構成で実装できました。とても他人に見せられる代物じゃございやせんが...
0878NAME IS NULL垢版2022/02/26(土) 12:28:50.84ID:LKcnRMUU
ちょっと変わった質問なんですが
iPhone8+からiPhone13proに乗り換え、起動時の移行マネージャでほぼ中身が同じになったと思っています
iPhone13において、iPhone8+で削除したデータを復元させることは可能でしょうか?
移行がSQLiteそのまま移植しているのか、画像データのみ送っているのかにもよると思いますが...
このあたり知見ある方いましたら有難いです
0879NAME IS NULL垢版2022/05/14(土) 16:34:23.53ID:???
sqliteってasyncでrelationshipって効かなくないすか?
asyncにすると関係性なくなるけど
なぜかasyncにしなければrelationshipが効きます
0880879垢版2022/05/14(土) 16:51:33.27
改めて.db消してやったらすんなりできた・・
お騒がせしました
0881879垢版2022/05/14(土) 17:14:23.65
勘違いだった 全然できてなかった・・
0882NAME IS NULL垢版2022/05/15(日) 06:48:52.51ID:???
ちんちんシュッ!シュッ!シュッ!
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況