SQLite:::データーベース名の変更ができた|後から修正:追加:確認:日本語で入力|初心者
初心者による基本の操作と設定の方法など・・あまり詳細ではありませんが、調べたことを纏めたメモを残します。
私と同じく初学者・あまり詳しくない人に・・、参考になりましたら幸いです。
目次 |
1: 最初の登録:ごく普通の名簿の例
番号、名前、年齢、住所(都道府県or国名)のリストを作った場合とします。
(分かり易くなるので、日本語にします。説明のサイト見てたら、何故かみんなローマ字の気がするんですけど・・
日本語だとハードルがかなり下がります!一気に、とっつき易くなりました。)
1 フリーマン 25歳 アメリカ
2 オウヘイ 30歳 ドイツ 3 ノブヨシ 23歳 北海道 |
というリストにしてみますが、以下の通りになります。テーブル名は全て「user_list」とします。
最初に、
sqlite> CREATE TABLE IF NOT EXISTS user_list (id INTEGER PRIMARY KEY,name TEXT,old INTEGER,address TEXT); |
として、項目(column)を登録しておきます。
その後、以下(保存したいデータ)を入力、送信します。
sqlite> INSERT INTO users (id, name, old, address)
VALUES
(1,'フリーマン', '25', 'アメリカ'), (2,'オウヘイ', '30', 'ドイツ') , (3,'ノブヨシ', '23', '北海道'); |
お疲れさまでした。
改行しましたけど、全文を半角スペースで繋げたほうがエラーが出ませんでした。
数字は念の為に半角にしています。(でないと「TEXT」扱いになりそうなので)
日本語だと何故か頼りない感じがしますけど、自分は何度も実際に漢字などで入力出来たので
何事も問題なければ出来る筈です。
2: 後から修正・確認について|確定させるには
update list_name set bikou = 'finger-print' where id = '35'; ---このようにすると、追加ができる。
(35番の人に備考欄へ「フィンガープリント」と、追加の入力)
確定させる方法
確定させるには、修正したい箇所を「BEGIN TRANSACTION;」と「COMMIT;」で挟みます。
「commit(コミット)」と、送信しないと消えてしまいました。。
3: データの確認をしたい時|後から選択した部分だけを表示
select * from テーブル名;
で、入力した全てのデータ一覧や一部分を取り出して見れます。
データの中から特定の条件に合う1部分だけを確認したい時、例えば
名簿であれば、その中での条件「30歳の人」だけを選んで表示するには・・
select * from user_list where old = '30';
-- 選択した1つだけ表示ができます。
SELECT カラム名 , ... FROM テーブル名 WHERE 条件式;
select * from user_list where address = 'Tokyo';
select * from user_list where id = '24';
という感じで「user_listの24番を表示」出来ました(検証済み)。
これで、リストの中の「どれ」か選べるようになります。
4: 日本語で入力できたこと|備考
実は、データの内容は多言語の対応出来る様にデフォルトでセットされていて、日本語や漢字でも入力できるのでした。
実際に何度も成功していますが、ただ「TEXT」とすれば、扱えています。
うまくいかない場合は、
エンコーディングとやらを以下のように行います。
PRAGMA encoding = "UTF-8";
(AIに質問したので、言い回しがもっと分かり易い形式でしたが記憶で改ざんされてしまいました)
条件式」は、細かく(難しく)設定することもできます。比較演算子・論理演算子を使う条件式がありました。
初心者なので、今回はそれらは使いませんでした。
(データが多くなれば必要になりそうですけど、今は未だデータが少ないこともあり。)
おそらく、この様なデータベースを扱う人はプログラミングの言語(呪文)を複数操っておられるみたいです(呪術師・・)。
どうも自分はその辺り、基本の「き」が抜けているので分からない事が多いです。
そのせいかも知れませんけど(マウスで操作出来るソフトをDLしても、そこでも文字化けが起こるそうです)
これ、知ってても使わない人はもう日本語より記号が頭の中いっぱいなんでしょうか。
そうじゃないかと思う位に、
殆どの方が英数字しか使っていない様に見えますけど。。
5: 途中で設定を変えるには|データベース名の変更ができた
設定の変更
- 5-1 途中で設定を変えるには
- 5-2 データベース名の変更ができた
既に動いているプログラムの中で、途中で「設定」を変えたい場合
conn = sqlite3.connect('your_database.db')
cursor = conn.cursor()
と、始まり・・
cursor.execute("PRAGMA default_synchronous;") ---確認「ディスクに書き込まれたことを確認してから次の処理に進む」設定は「execute()メソッドで実行」
print(f"現在のdefault_synchronousは: {cursor.fetchone()[0]}") --意味分からないけど、セットで付ける呪文
最後は、「conn.commit()」「conn.close()」で、設定の終わり。。
sqliteでデータ入力の途中で設定の変更をするには
「PRAGMA encoding = "UTF-8";」などですけど、他にも方法があるかもです。
もしかしたら、とてもイレギュラーな方法かもしれませんが、データベース名の変更は
普通のテキストや画像ファイルなどの様に
ファイルの場所でファイル名をクリックして名前を変更してみたら
普通に変更出来ました。
データベース名変更後の確認・検証
「select * from ○○(新しい名前).db;」で、中身も確認しましたが、全部無事でした。
以前から気になっていたので何度も「その方法で一度やってみよう」と考えていたので、
同じデータベースファイルをコピーしたり、入念に準備を行いましたが、
あまりにも簡単に出来てしまい、拍子抜けしました。。。
非常識な事をしている可能性があります(初心者の為)。
この方法では「とても不作法」とか、
「やってはいけない」
「データベース全体に影響」みたいな事があるやも知れず。。
その辺もまた調べて分かれば追記します。
6: 参考・終わり
データベース名を変更したくて方法を結構調べましたが、多くの方が「出来ません」と断言されており
新しく作成してデータを移すという方法が主流で、絶対にその方が早そうでした。
しかし、見付けた方法の1つに
「Alter database database_name allow_connections false; 」
と、「データベースへ接続を禁止してから行う」とあるので・・その様なルールに沿って出来ないこともない感じですが、
実際に試すとエラーばかりで反映されないし自分には難しいので止めてしまいました。
あと、普通のファイルの様にファイルの場所でファイル名をクリックして名前変更してみようかと思ったので
出来たら追記します。今はエラー続きで疲弊して試す気力がゼロですけど。。
かなり検索して出てきた方法なので、ヒントになるかもしれず残しておきます。
「PostgreSQL」というものでした。こちらが細かく変更したい場合に扱い易そうです。
初心者なので分かったというより「見付けた」部分をコピペなどで追記しましたが、
ヒントにでもなれば嬉しいです。
ここまで読んで頂きありがとうございました。
良かったら気が向いた時にでもまた覗いてやってくださいませ。
#データベース #データ追加 #SQLite #メモ
参考サイト:
https://iifx.dev/ja/articles/173564511
https://support.google.com/analytics/thread/185452173/ga4-google=ja
https://pgcenter.web.fc2.com › contents › sqlite.html SQLiteの基本(Windows) - SQLite~PG CENTER ...
Yahoo知恵袋 https://detail.chiebukuro.yahoo.co.jp › qa › question_detail › q12112358847 SQLite初心者です。データをファイルからテーブルにインポート ...しかし今度は文字化けしてしまいました。 数字はちゃんと表示されているのですが、カタカナと漢字がめちゃくちゃです。
Qiita https://qiita.com › suipy › items › 408cafc4e268ee98593a 【SQLite3】データの登録・取得・更新・削除 #Python - Qiita
【SQLite3】条件式の設定で特定のデータを選択する
https://qiita.com/suipy/items/396d1126643e2e8ab1a8
Let'sプログラミング
https://www.javadrive.jp › sqlite › select › index3.html SQLite | 取得するデータの条件を設定 (WHERE句)
tecnohakase.one https://tecnohakase.one › 235 ※ Sqlで日本語入力できない場合の解決策と対処法まとめ
コメント
コメントを投稿
読んでくださって、ありがとうございます。お気軽にコメントして頂けると嬉しいです。返事は90%くらいお返ししますが、めちゃくちゃ遅い場合があります。気長にお待ちください。