• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:python2.5を使用してSQLite3のデータベースを読み込みたいのです。)

Python2.5でSQLite3のデータベースを読み込む方法

このQ&Aのポイント
  • Python2.5を使用してSQLite3のデータベースを読み込む方法を解説します。
  • Python2.5を使ってSQLite3のデータベースを読み込む際に発生するエラーについての解決策を提供します。
  • Python2.5のコードを使用してSQLite3のデータベースを読み込むための正しい書き方を説明します。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.3

さっきのコードの訂正です。インデントする箇所が一箇所抜けておりました。 import sqlite3 con = sqlite3.connect("hogedb") cur = con.cursor() try: ____cur.execute("""create table hoge (name text, age text)""") ____cur.execute("""insert into hoge(name,age) values ('YAMADA', '18')""") ____cur.execute("""insert into hoge(name,age) values ('NAKAMURA', '17')""") except: ____pass con.commit() cur.execute("""select * from hoge""") print cur.fetchall() raw_input()

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

回答No.2

CREATEしただけで、何もINSERTしていないのですから、 中身は空っぽの状態なので、print cur.fetchall()で 空のリストが返されるのは当然です。 cur.execute("""create table hoge (name text, age text)""") でエラーがでるのは、2回目に実行した場合だと思います。 (すでにテーブルが存在するのでエラーになる) これは、if文で確認して処理を分けるなどの対応が必要です。 以下は、それを踏まえたコードです。 ____ の部分は、半角スペース4つに読み替えてください。 import sqlite3 con = sqlite3.connect("hogedb") cur = con.cursor() try: ____cur.execute("""create table hoge (name text, age text)""") ____cur.execute("""insert into hoge(name,age) values ('YAMADA', '18')""") cur.execute("""insert into hoge(name,age) values ('NAKAMURA', '17')""") except: ____pass con.commit() cur.execute("""select * from hoge""") print cur.fetchall() raw_input()

konna
質問者

お礼

有難うございました。とても参考になりました

全文を見る
すると、全ての回答が全文表示されます。
  • suzukikun
  • ベストアンサー率28% (372/1325)
回答No.1

>cur.execute("""create table テーブル名(name text,age text)""") が cur.executescript("""create table テーブル名(name text,age text)""") じゃないでしょうか?

参考URL:
http://d.hatena.ne.jp/seraphy/20060927
konna
質問者

補足

有難うございます。エラーがなくなりました。しかし、print cur.fetchall()をすると[ ]と表示され、中身が表示されないのですが、原因が分かりますでしょうか?何度もすいませんが宜しくお願いします。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • Python で SQL データベース

    こんにちは、現在Pythonにて、sqlite3を使ったデータベース作成の基本を勉強しているのですが、全く何がなんだかわからないとちょっと混乱した状況に陥ってしまったので、お助け頂きたく書き込みさせて頂きました。 先ず、サンプルを見て勉強しているのですが、 con = sqlite.connect(dbname) cur = con.cursor() cur.execute('SELECT City FROM Precipitation') すみません。親のファンクションが解らないです。 Pythonはhelp(Function name)で勉強ができるのですが、 sqlite.connect(dbname)でconに入ったのは、一体何属性の物なんでしょうか。正直、それぞれcur と con に入ったのが何属性のものか解らなければヘルプを使って勉強のしようも無く、立ち往生しています。 そもそも用語の使用が不適切ですみません。訳解らなかったらできるだけ付属しますので、お助け下さい。

  • SQLiteのデータベースについて

    PHP初心者です。以下のSQLiteより作成するデータベースについて教えてください。 $DB = sqlite_open('db1.db'); $sql="create table tables(id integer ,name,texts)"; $result=sqlite_query($db,$SQL); 上記、プログラムにより、同ディレクトリに、db1.dbが作成されますが、このデータベース情報はどのようにして、閲覧するのでしょうか(MS-ACCESS、SQLのように簡単に閲覧できないのか)。主キーやテーブルの名前またはフィールドの名前の変更、データ一覧閲覧などどのようにするのでしょうか。 環境は、Windows環境で、PHP4を使用しております。 よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • SQlite

    SQLiteを使って メールを保存するデータベースを作っています。 以下のようになっています。  さらに、 アドレス帳を作りたいのですが 新たにデータベースを開くのか 同じデータベースで別のテーブルを開けばよいのかわかりません。 ご存知の方よろしくお願いします。 また、 C++からSQLiteを扱う上での参考書などもありましたら 教えてください。 rc = sqlite3_open(".\\mailbox\\SQMail.db", &db); if( rc ){ AfxMessageBox("Can't open database:", MB_OK); sqlite3_close(db); return; } rc = sqlite3_exec(db, "create table MailTbl (id INTEGER PRIMARY KEY, attach varchar(20), subject varchar(120),addressfrom varchar(80),addressto varchar(80),date varchar(80),size integer,priority integer, read integer, state integer, alldata blob);", callback, 0, &zErrMsg); if( rc!=SQLITE_OK ){ // AfxMessageBox("SQL error:", MB_OK); sqlite3_free(zErrMsg); }

  • SQLiteでフィールド名を得る方法はありますか?

    c.execute('''CREATE TABLE stocks (date text, trans text, symbol text, qty real, price real)''') すると、date, trans, symbol, qty, price等のフィールドが用意されます。 c.execute("SELECT * FROM stocks") すると、その登録内容を得ることが出来ます。 ところで、登録内容を得る前に、選ばれる対象となる"date","trans", ...等のフィールド名を得る方法はありませんか。 環境はWindows、Python 2.7です。

  • データベースの接続ができない

    こんにちは。 いつもお世話になっております。 質問させていただきます。 データベースに接続するとき。 「con = ds.getConnection();」 のところで以下のようなエラーが出ます。 org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (Base table or view not found message from server: "Table 'データベース名.データベース名' doesn't exist") ※データベース名は2つとも同じデータベース名です。 GOOGLEで探しても全く見つかりませんでした。 エラーの原因を教えていただけないでしょうか。 よろしくお願いします。

    • ベストアンサー
    • Java
  • 環境PHP5 Apache2.0 SQLite

    環境PHP5 Apache2.0 SQLite データベースSQLiteに関する質問なのですが、データベース名、テーブル名のみ解っている状態からテーブルで使用されている項目の一覧などは取得できますでしょうか? データベース名 くだもの テーブル名 くだもの リンゴ バナナ イチゴ  1   3   2  このようにテーブルのみ解っている状態から中身を見ずに項目「りんご」、「バナナ」、「イチゴ」を取得したのです。SQLiteで無くとも、他のデータベースで可能でしたらご教授ください。よろしくお願い致します。

    • ベストアンサー
    • PHP
  • PerlでSQLiteのデータテーブルを作成し

    PerlでSQLiteのデータテーブルを作成し、作成したテーブルへデータを追加するようにしたいのですが、 下記のように作成し、実行すると、 テーブルの作成のみ、もしくは、既存のテーブルへのデータの追加のみは可能なのですが、 両方処理させると、テーブルの作成のみされて、作成されたテーブルの中身はカラのままです。 #データベースに接続 $dbh = DBI->connect("dbi:SQLite:dbname=c:\\database\\tyumon.db"); open (DATA,"c.dat"); $data = <DATA>; close(DATA); $data = $data+1; $table = "user"; $table .= $data; #テーブル作成実行 $hst = $dbh->do("CREATE TABLE '$table'(name text,area text,tel text,mail text,jikan text, hoka text)"); #レコードの追加(INSERT文の実行) $st = $dbh->do("insert into '$table' values('$data','$name','$area','$tel','$mail','$jikan','$hoka')"); 「c.dat」には、カウントされた数字が入っています。 テーブル名は「user」+カウント数字で作成しています。 データベースと、CGIの勉強を兼ねて作成しているもので、 根本的な間違いなどあるかもしれません。 どなたか、ご指摘いただければ幸いです。

    • ベストアンサー
    • CGI
  • sqlite+phpでのテーブル作成

    こんばんは php+sqlite+pdoで掲示板を作ろうと思っているのですが - $db = new PDO('sqlite:test555.db','', ''); $query = "CREATE TABLE テーブル名 (テーブル内容)"; $db->query($query); //以下掲示板表示処理など - とした場合、すでにテーブルが存在していてもエラーが出ずに掲示板のデータを表示してしまいます。 掲示板の機能としてはこれで動いているので問題ないのですが、プログラム的に掲示板にアクセスするたびにCREATE TABLEを実行しても良いものなのでしょうか? 出来ればテーブルが存在しない場合のみにCREATE TABLEを実行したいのですがその場合はどのように書けばいいのでしょうか?

    • ベストアンサー
    • PHP
  • PHP5でSQLiteが接続エラーを出します

    PHPには初心者です(データベースには多少知識有るはず)。 PHPからSQLに商品データを登録するシステムを作っていますが、データベースに接続することができません。 繋げるためにはどこを直したらよいでしょうか。 データベース名はshop、テーブル名はitemです。 SQLite:バージョン 2.8.17 PHP:バージョン 5.1.6 WindowsXPのプロフェッショナル、eclipse3.2、参考にした本は『eclipseではじめるPHP(http://item.rakuten.co.jp/book/4296315/)』と『基礎PHP(http://item.rakuten.co.jp/book/1711777/)』です。 エラーが出る行 if(!$db = sqlite_open('/../SQLiteManager/shop')){ die("データベース接続エラー.<br/>"); } エラー文 Warning: sqlite_open() [function.sqlite-open]: unable to open database: C:\SQLiteManager\shop in C:\Eclipse\workspace\shop\touroku.php on line 23 データベース接続エラー. PHPのフォルダ内にある 『PHP.iniextension=php_pdo_sqlite.dll』 『extension=php_sqlite.dll』 のコロンは外しました。 SQLiteManagerはworkspaceの中です。 設定が悪いのかファイルを置く場所が悪いのか、それともプログラムが悪いのかもわかりません。 宜しくお願いいたします。

    • 締切済み
    • PHP
  • Android内部のSQLiteデータベースを使う

    Androidアプリ内の既にあるSQLiteデータベースを利用したいのですが、 やり方が分かりません・・。 私が実行したのは、 excelデータ->csvファイルを変換しカンマ区切り,UTF-8変換した上で SQLite3(winコンソール)で .import ファイル名 テーブル名 を実行し実行ファイルを作成しました。 winコンソール上でデータベースにアクセス・文字化け等せずきちんとアクセス、表示することができました。 しかしながら、このデータベースをandroid内のassets?フォルダ内に保持した上で android(のプログラミング上)からオープンし、利用する方法が分かりませんでした・・。 どのようにコーディングすれば 自分で作成したデータベースにアクセスすることができるのでしょうか・・。 SQLiteHelper?というのでアクセス出来るのでしょうか・・。 すみませんがご教授お願いいたします。

消費税減税後の日本の未来予測
このQ&Aのポイント
  • 消費税をゼロにすると、一時的に消費が伸び、個人販売業者は一生分の貯蓄ができ、生活苦を感じていた人たちは喜ぶと思います。
  • 一年くらい経つと、それが当たり前になり、もっと値段を下げろという声が出てきて、消費量は元に戻る。
  • 一部の儲かった大企業は政府の指導により基本給のみを上げることができるでしょうが、儲からなくなった個人経営者が貯蓄を切り崩して消費するとは思えません(将来のために貯蓄する)。多分、一般的会社員やバイトの収入は上がらない。
回答を見る