X



トップページDB@2ch掲示板
1002コメント312KB
SQLite Part.10
■ このスレッドは過去ログ倉庫に格納されています
0224NAME IS NULL
垢版 |
2013/08/31(土) NY:AN:NY.ANID:???
>>222
そもそもsqlite3.soが入ってないとか

>>223
多すぎってほどか分からないけど、確かに時々落ちるね
なかなか、これぞってソフトがない…
0226NAME IS NULL
垢版 |
2013/08/31(土) NY:AN:NY.ANID:???
SQLiteSpy使うか、コマンドラインからsqlite3で操作するかだな
0227NAME IS NULL
垢版 |
2013/09/09(月) 23:20:54.16ID:???
俺はいろいろ試した結果あれ一択だわ
あれ、何だったっけか、えーとちょっと待ってて
0229NAME IS NULL
垢版 |
2013/09/10(火) 15:10:11.47ID:mn2EqLZS
PostgreSQL 9.3.0
0230NAME IS NULL
垢版 |
2013/09/14(土) 00:05:38.04ID:???
3.8.0.2来てた〜
ttp://www.sqlite.org/releaselog/3_8_0_2.html
0231NAME IS NULL
垢版 |
2013/09/14(土) 06:46:30.81ID:???
思いだした。
SQLite Expert
http://www.sqliteexpert.com
excel exportとか使わなければ無料版でも十分

navicatは高いし昔から好きじゃないんだよなー
0232NAME IS NULL
垢版 |
2013/09/14(土) 08:34:17.15ID:???
遅せーんだよボケ、もうNaviCat買っちゃったよ
0233NAME IS NULL
垢版 |
2013/09/15(日) 14:05:28.99ID:???
すまんのう、俺にも生活有るもんで
0234NAME IS NULL
垢版 |
2013/09/19(木) 04:36:24.30ID:???
チラ裏だけど
sqlite公式のドキュメントって実に良くまとまってるというか、読んでて関心するというか、尊敬さえする。

知りたい情報は探せばちゃんと載ってるし、それで居て機械的な説明に終始してない。読んでて疑問が浮かんだらその答えが次の行に載ってる。
ユーモア的な表現が所々出てくるのも面白い。
暇な時に用も無いのに読んじゃうくらい。

不満はSQL構文図から説明へのリンクが無いことぐらいかな
0235NAME IS NULL
垢版 |
2013/09/22(日) 18:21:34.80ID:???
MIPS の H/PC2000で使えるSQLlite 落ちてませんか
0236NAME IS NULL
垢版 |
2013/09/23(月) 05:49:51.57ID:???
ソースは落ちてるのでコンパイルしましょう
0237NAME IS NULL
垢版 |
2013/10/01(火) 23:29:16.52ID:???
INTEGERで作成したカラムに試しに文字列を入れてみたら普通に入りました
なんかALTER的なことをしないとだめなのでしょうか?
0238NAME IS NULL
垢版 |
2013/10/02(水) 02:08:06.85ID:???
型の概念は有りません。
詳しくはggって。
0239NAME IS NULL
垢版 |
2013/10/02(水) 02:44:07.27ID:???
ありがとう。
プログラム側で制御することにします。
0240NAME IS NULL
垢版 |
2013/10/05(土) 09:47:56.51ID:???
数字や文字を区別していないのは
分かりましたが、
取り出した時に、文字なのか数字なのか、実体の型がはっきりしないのは
本当に困ります
文字数字判別の備え付け関数とかないのでしょうか
0241NAME IS NULL
垢版 |
2013/10/05(土) 14:10:44.56ID:???
>>240
insert,updateする前にチェックして入れろ
0242NAME IS NULL
垢版 |
2013/10/06(日) 12:12:41.85ID:???
>>240
そのカラムは、文字や数字を混在してもいいものであるような設計しているんでしょ?
だったら、取得後、プログラムで制御しなさい。

そうでなければ、型識別用のカラムを用意するとか検討すれば良い。
0243NAME IS NULL
垢版 |
2013/10/06(日) 17:49:56.19ID:???
>>240
select typeof(1), typeof(0.0), typeof('string'), typeof(null);
0244NAME IS NULL
垢版 |
2013/10/14(月) 00:53:56.36ID:???
ユニコードのCSVもしくはmdbかaccdbで書き出せるフリーソフトってありますか?
0245NAME IS NULL
垢版 |
2013/10/14(月) 12:29:43.38ID:???
探すより作った方が早いかもよ
0246NAME IS NULL
垢版 |
2013/10/14(月) 22:29:07.20ID:???
やっぱり作ったほうが手っ取り早いですか…
ありがとうございました。
0248NAME IS NULL
垢版 |
2013/10/22(火) 23:54:28.55ID:???
>>247
unlikely(X) 関数追加
Bool型の値Xが6.25%という低確率でしかtrueにならないことを最適化のためにクエリに埋め込んでコアに教える…か

6.25%という数値にはどんな深遠な意味があるのだろうか?
任意の確率を指定出来るlikelihood関数も追加されたとはいえ。
0249NAME IS NULL
垢版 |
2013/10/28(月) 10:12:41.83ID:BsA/BDpa
テーブル「table1」が存在していたらその内容を「table2」へコピーする

みたいなSQLはどうやって書けばいいですか?
0250NAME IS NULL
垢版 |
2013/10/28(月) 11:27:23.01ID:???
いきなりコピーして、エラー処理をちゃんとする

テーブルの存在をチェックする構文があったとしても、
それやっちゃうとコピー時にエラーが発生するケースのテストが
難しくなるのでよろしくない
0251NAME IS NULL
垢版 |
2013/10/29(火) 08:09:54.97ID:???
>>249
insert 〜 select 〜
とか
create table 〜 as select 〜
0252NAME IS NULL
垢版 |
2013/10/29(火) 08:11:26.31ID:???
あぁ勘違いしたスマン無視して下さい
mysqlみたいなif exist的なことか
0253NAME IS NULL
垢版 |
2013/10/29(火) 10:18:26.45ID:???
スキーマのコピーもいるべ
0254NAME IS NULL
垢版 |
2013/10/29(火) 11:48:05.47ID:???
質問です
SQLite 3.7で作成したデータベースを
3.3で読んだり書き込んだりすることは通常問題なくできるものでしょうか?
0255NAME IS NULL
垢版 |
2013/10/29(火) 12:09:37.58ID:???
3系は同じはず。
変わったら4になるんじゃないかな。
0256NAME IS NULL
垢版 |
2013/11/01(金) 09:20:22.30ID:???
>>255
無事解決できました ありがとう
0257NAME IS NULL
垢版 |
2013/11/04(月) 13:19:03.79ID:???
初歩的な質問です
コマンドラインで複数行での入力中に、キャンセルする方法ってあるのでしょうか?
0258NAME IS NULL
垢版 |
2013/11/04(月) 13:27:47.35ID:???
俺はいつも適当な文字打ってエラー出して終了させる
0259NAME IS NULL
垢版 |
2013/11/04(月) 13:49:22.94ID:???
^Dで丸ごと終わらせる、、とか
0261NAME IS NULL
垢版 |
2013/11/08(金) 01:29:40.01ID:???
sqliteでcteとwindow関数使えたらもう死んでもいい
のらないかな
0262NAME IS NULL
垢版 |
2013/11/12(火) 13:02:35.25ID:???
半角の濁点付き文字を検索するにはどうすればいいのでしょう?

like ”%[だダ(ダ)]%”
こんな感じでタ+”を一文字として扱いたいんですが、何で囲めばいいんでしょう。
0263NAME IS NULL
垢版 |
2013/11/12(火) 14:33:46.66ID:???
正規表現使えるのか
文字列入れるのは無理じゃね
[だダ]|ダ
とか、、
0264NAME IS NULL
垢版 |
2013/11/12(火) 22:23:16.26ID:???
プログラムがごちゃごちゃして後々面倒くさいことになりそうなので妥協してしまった、、、
0265NAME IS NULL
垢版 |
2013/11/15(金) 03:36:20.07ID:???
SQLigtの初心者で、まだネットで調べながら作ってるレベルです。
で質問なんですが
table1
id|year|month|day|・・・
というテーブルと
table2
id|year|month|day|・・・
の二つのテーブルがあるのですが
yearとmonthとdayが同一である時のみ、色々処理をしたいのですが
SQL文をどう書いたらよいかわかりません。
初心者の質問ですみませんが、ご教示願います。
0266NAME IS NULL
垢版 |
2013/11/15(金) 05:07:16.29ID:???
お前はsqliteの初心者じゃなくて
データベースの初心者だな
0267265
垢版 |
2013/11/15(金) 08:32:56.61ID:???
はい、現在androidアプリの製作をしてまして
DBを使うことになりSQLightを触り始めた感じです。
0268NAME IS NULL
垢版 |
2013/11/15(金) 20:22:32.17ID:???
SQLの初心者向けサイトや本は腐るほどあるだろ
なぜそれを見ない?
0269NAME IS NULL
垢版 |
2013/11/16(土) 02:11:06.63ID:???
sqliteどうのではなく、基本的なsqlのお勉強が必要だね
0270NAME IS NULL
垢版 |
2013/11/16(土) 08:34:46.59ID:???
> SQLigtの初心者
> SQLightを触り始めた

すれ違いだな
0271NAME IS NULL
垢版 |
2013/11/24(日) 17:04:52.87ID:fFOXkp70
作成済みのテーブル my_table にて
カラム column_a の存在確認のみやりたいです。
(ALTER TABLE IF NOT EXITS ... とかではなく、存在確認のみです)
(実際には、「存在しないこと」を確認したいです)

色々とググる中で以下の2つの方法が見つかっていますが
どちらもスマートではないなぁと感じています。

 ・PRAGMA index_info(my_table) でテーブル情報を取得して、
  その中に column_a が存在しないことをループを廻して全件チェックする

 ・SELECT column_a FROM my_table で例外が発生したら、存在しないとする

もっと直接的にカラムの存在確認はできないのでしょうか?
方法がありましたらご教授いただきたく、よろしくお願いします。
0272NAME IS NULL
垢版 |
2013/11/24(日) 20:48:48.55ID:???
千葉県松戸市六高台2-78-3
0273NAME IS NULL
垢版 |
2013/11/24(日) 22:14:44.64ID:???
>>271
select sql from sqlite_master where type='table' and name='my_table';
で、定義とってきて、中身見ればいいんじゃね?
0274NAME IS NULL
垢版 |
2013/11/25(月) 21:16:23.62ID:falVPg2c
重複している行の削除をしたいのですが、
どう書けばよいのか思いつきません。
残すのは_IDが一番若いものにしたいです。

_ID  |  Name  |  Data
−−−−−−−−−−−−−−
0   |  AAA   |  ABC
1   |  AAA   |  DCD
2   |  BBB   |  XXX
3   |  AAA   |  YYY
4   |  BBB   |  ZZZ

の場合は、

0   |  AAA   |  ABC
2   |  BBB   |  XXX

を残して、それ以外のレコードを削除したいです。
よろしくお願いいたします。
0276274
垢版 |
2013/11/25(月) 22:56:51.79ID:???
>>275
ありがとうございます。
スレ違いでしたか、大変失礼いたしました。

SQLを自分で書くのがSQLiteが初めてでしたので
どこまでがSQL全般の話なのか理解せずに
使っておりました。もっと勉強いたします。
0278NAME IS NULL
垢版 |
2013/12/02(月) 10:24:15.36ID:g8Y2dRce
sqliteに3DCGのデータを埋め込みたいのですが…
0279NAME IS NULL
垢版 |
2013/12/02(月) 16:09:08.39ID:???
バイナリデータならBLOBでも使うヨロシ
0280NAME IS NULL
垢版 |
2013/12/02(月) 17:53:36.51ID:???
base64エンコードして文字列型でもいい
0282NAME IS NULL
垢版 |
2013/12/06(金) 09:00:08.26ID:???
VBAからデータ追加するのにRecordsetでAddNewで入れるのと
InsertIntoで入れるのとどっちが速い?
0283NAME IS NULL
垢版 |
2013/12/06(金) 11:34:30.68ID:???
自分で試せや、ボケが
0284NAME IS NULL
垢版 |
2013/12/07(土) 00:56:02.56ID:???
C#でクラスからクエリを自動作成してくれるライブラリとかってないですかね
0287NAME IS NULL
垢版 |
2013/12/12(木) 16:07:36.18ID:???
ODBCドライバ経由でプリコンパイルって使える?
0288NAME IS NULL
垢版 |
2013/12/12(木) 19:10:28.35ID:???
ODBCドライバは知らないけど、少なくともSQLiteに「プリコンパイル」なる機能は無いよ。
0291NAME IS NULL
垢版 |
2013/12/14(土) 17:07:26.68ID:???
ttp://d.hatena.ne.jp/mftech/20100929/1285754844

>/// <summary>
>/// SQL文を実行し、検索結果の第1行第1列を返す
>/// </summary>

> public Object ExecuteScalar(string sql, SQLiteParameter[] parameters)

は、原文
ttp://zhoufoxcn.blog.51cto.com/792419/292670
では

> public Object ExecuteScalar(string sql, IList<SQLiteParameter> parameters)
> {
> using (SQLiteConnection connection = new SQLiteConnection(connectionString))
> {
> using (SQLiteCommand command = new SQLiteCommand(sql, connection))
> {
> if (!(parameters == null || parameters.Count == 0))
> {
> foreach (SQLiteParameter parameter in parameters)
> {
> command.Parameters.Add(parameter);
> }
> }
> return command.ExecuteScalar();
> }
> }
> }
で、
>(注:上面的代&#30721;在2011-07-15日代&#30721;重新&#32534;&#36753;了,参数由SQLiteParameter[] parameters&#21464;&#20026;IList<SQLiteParameter> >parameters,使用范&#22260;更广)

とのこと
0292NAME IS NULL
垢版 |
2013/12/15(日) 03:42:50.78ID:???
何言ってるか分からない
0293NAME IS NULL
垢版 |
2014/01/08(水) 08:46:17.46ID:???
EnumerableRowCollection<DataRow> query =
from row in contacts.AsEnumerable()
where IsContainArr(row[0].ToString(), fig)
select row;

bool IsContainArr(string s, string[] arr)
{
foreach (var a in arr)
{
if (!s.Contains(a)) return false;
}
return true;
}

って、メソッドで用意されてないんかな
0295NAME IS NULL
垢版 |
2014/01/11(土) 15:42:52.85ID:???
いつもmysqlを使っていて、
sqliteを勉強中なのですが。

MySQLの以下のクエリについてなんですが、

INSERT INTO
table
(a, b)
VALUES
(aa, 1), (bb, 2), (cc, 3)
ON DUPLICATE KEY UPDATE b=b+VALUES(b)

同一行が存在しないときは、新しい行をinsert。
存在するときは、既存のbに新しい数値を足した値を入れる。
なお、複数の行を一括で処理したい。

以上の条件で、SQLiteでは同じことをするクエリは書けませんか?
0296NAME IS NULL
垢版 |
2014/01/11(土) 19:25:15.43ID:???
一括で同じことをするクエリはないみたいですが、
一応自己解決しました。では。
0297NAME IS NULL
垢版 |
2014/01/13(月) 15:41:14.71ID:???
自分のことしか考えてない・・・
0298NAME IS NULL
垢版 |
2014/01/13(月) 23:03:34.81ID:???
だってゆとりだもの。
0299NAME IS NULL
垢版 |
2014/01/13(月) 23:09:14.82ID:???
義務教育はぜーんぶ糞
0300NAME IS NULL
垢版 |
2014/01/15(水) 22:19:08.42ID:???
/// <summary>
/// NonQueryList
/// </summary>
/// <param name="sql"></param>
/// <param name="param_arr"></param>
/// <param name="list"></param>
/// <returns></returns>
public static int NonQueryList(string sql, string[] param_arr, List<string[]> list)
{
int records = 0;
try
{
List<SQLiteParameter> parameters = new List<SQLiteParameter>();
using (SQLiteConnection connection = new SQLiteConnection("Data Source=" + DB_FILE))
{
connection.Open();
using (DbTransaction transaction = connection.BeginTransaction())
{
using (SQLiteCommand command = new SQLiteCommand(connection))
{
foreach (string[] line in list)
{
command.CommandText = sql;
for (var i = 0; i < param_arr.Length; i++)
{
command.Parameters.Add(new SQLiteParameter(param_arr[i], line[i] ?? ""));
}

records += command.ExecuteNonQuery();
}
}
transaction.Commit();
}
}
}
catch (System.Exception ex)
{
Console.WriteLine(ex.Message);
return 0;
}
return records;
}
0301NAME IS NULL
垢版 |
2014/01/18(土) 00:46:11.01ID:3tf2egSa
カラムにDateTime型を指定出来るけど
実際は、日付入れるとRealかIntegerかTextが入るよね
エポック秒使うとして最初からInteger指定しとくのと何が変わるの?
0303NAME IS NULL
垢版 |
2014/01/29(水) 22:35:04.57ID:gj57qZ83
株価のDBを1ファイルに収めて使ってきたけど1GB超えてるし
これを銘柄数だけファイルを作っても良いのではと思うようになった

db.open&closeするオーバーヘッドって結構大きいのかな?
分ける事でカラムとIndexを減らせるので1ファイルで見ると速度も上がって容量も減るけど
open&closeが4000回近く増えるから、ここで遅くなると意味ないし

他のプログラム見てると結構分けてるんだよね、4000個も無いけど
どう思いますか?
0304NAME IS NULL
垢版 |
2014/01/29(水) 23:25:07.25ID:???
コネクションプールで良いみたい、ではでは
0305NAME IS NULL
垢版 |
2014/01/30(木) 12:31:35.75ID:???
同じでDBを再利用するならそれ
串刺しはアタッチ
0306NAME IS NULL
垢版 |
2014/02/02(日) 00:41:43.45ID:???
データベースを勉強してみようと思ってます。
少し変な質問ですが、SQLiteはサーバーを必要とせず、
ローカル環境で導入できるということですが、
それならば、MS-Accessと、どう違うのか、いや全然違うのは判るんだけど。
二つを対比して、特徴があれば教えてください。
0307NAME IS NULL
垢版 |
2014/02/02(日) 07:34:40.62ID:???
まず病院へいきましょうね
0308NAME IS NULL
垢版 |
2014/02/02(日) 09:13:21.60ID:???
>>306
> 少し変な質問ですが、SQLiteはサーバーを必要とせず、

と、言う仕組みは同じだよ。
個々の機能とか、Access は DBMS 以外の機能 (フォームとか) があるからそういうところは違うけど、漫然と特徴とか言われても説明しづらい。
0309NAME IS NULL
垢版 |
2014/02/02(日) 12:26:30.19ID:???
>>306
SQLiteは、一般的なSQLを扱うRDB入門(ex.情報処理試験)としては、まったく向いていない。

結局のところ、サーバ型のDBMSから始めるのが、仕組みを理解するには一番良かったりする。
0310NAME IS NULL
垢版 |
2014/02/02(日) 12:34:09.34ID:???
Access は、
データベースエンジンACE + VBA + フォーム + レポート
0311NAME IS NULL
垢版 |
2014/02/02(日) 23:51:02.22ID:???
データベースの何を知りたいんだ
sqliteは少なくともデータベースを知ってる人用のプロダクトだと思うぞ

巷のデータベース入門書でも買って、
ポスグレでもMariaDBでもfirebirdでもいいから普通のRDB入れなさい。
全部ローカルで入れて使えるんだから。
0312NAME IS NULL
垢版 |
2014/02/02(日) 23:53:29.45ID:???
ただの釣りだと思います
0313NAME IS NULL
垢版 |
2014/02/03(月) 00:28:49.09ID:???
いろいろとありがとうございます。
西沢直木さんの本でコマンドを打ってみたりしました。
SQLは初めてですが、いまのところsqliteが扱いやすい(他と実際比べたわけでないけど)
と思いました。

Accessを比較にだしたのは個人的にローカルで株価などの経済データを扱いたいと思ったからです。
特にサーバを必要と感じなかったので、MySQLなどは今のところ考えていません。
ちゃんと説明せず申し訳ないです。概要はわかりましたありがとうございました。
0314NAME IS NULL
垢版 |
2014/02/03(月) 08:27:55.69ID:???
今は中学生が株やるのか
0315NAME IS NULL
垢版 |
2014/02/03(月) 23:57:55.04ID:???
これは、煽ってるんだよな。おそらく。
0316NAME IS NULL
垢版 |
2014/02/04(火) 07:43:15.68ID:???
Current Status

Version 3.8.3 of SQLite is recommended for all new development.
Upgrading from versions 3.7.17, 3.8.0.2, 3.8.1, and 3.8.2 is optional.
Upgrading from all other prior versions of SQLite is recommended.
0317NAME IS NULL
垢版 |
2014/02/04(火) 10:37:12.45ID:???
おい、CTE載ったじゃねーかよ。recursiveも使えるし
素晴らしい!長年の希望がひとつかなった。
valuesも単独で使えるようになってるし、GJ

あとはwindow関数・・・
0318NAME IS NULL
垢版 |
2014/02/04(火) 11:05:12.45ID:???
SQLite3のデータファイルと言うのは、それ自体にバージョンの違いが有るのでしょうか?
それとも個々が持ってるDLLで決まるのですか?
0321NAME IS NULL
垢版 |
2014/02/04(火) 12:50:03.65ID:???
フォーマットが変わるまで何もしなくて大丈夫なんですね
変わればDumpする

ファイルを触るプログラム側にバージョンの違いが有り
Access2013でmdbファイル操作するようなイメージなのかな
■ このスレッドは過去ログ倉庫に格納されています

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