
いま、python2.5を使用してSQLite3のデータベースを読み込みたいのですが、うまく接続できません。pythonとSQLiteは単体ではうまく起動しているので、問い合わせ方に問題があるようなのですが、参考書のとおりに実行してもエラーが出てしまします。接続の書き方を教えていただければ幸いです。以下には、エラーが出た問い合わせを書きました。違うところがあれば指摘してください。
import sqlite3
con = sqlite3.connect("データベース名")
cur = con.cursor() //ここまではうまくいきました。
cur.execute("""create table テーブル名(name text,age text)""")
cur.execute("select * from テーブル名")
print cur.fetchall()
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()
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()

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
この回答への補足
有難うございます。エラーがなくなりました。しかし、print cur.fetchall()をすると[ ]と表示され、中身が表示されないのですが、原因が分かりますでしょうか?何度もすいませんが宜しくお願いします。
補足日時:2007/12/20 13:04お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- Ruby pandasでsqlite3にテーブル作成・追加・読み出しでindexの取り扱い方教えてください 5 2023/03/08 09:57
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- JavaScript Typescript が必要な理由 1 2023/01/07 11:45
- その他(プログラミング・Web制作) pythonをjupiter notebookからmecabで頻出の高い単語の抽出について(Runt 1 2022/12/17 18:08
- PHP htmlspecialcharsが機能していないです。 バグですか? 1 2022/04/05 01:22
- Visual Basic(VBA) access count数を変数に格納 2 2022/03/30 19:21
- その他(プログラミング・Web制作) pythonのグローバル変数 2 2022/11/25 18:02
- その他(データベース) IT用語について質問です。 以前ITパスポートの試験を受けた際にデータベースが何の集まりかについての 2 2022/12/10 12:29
- PHP ここでの ②if($su_d<>"")の比較演算子 を使う理由は 1 2022/03/26 02:33
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
一つ前に戻るには…
-
python2.5を使用してSQLite3の...
-
うまくいきません教えてくださ...
-
MySQLについての質問です!!
-
MYSQLで異なるテーブル間のデー...
-
条件があった場合だけINSERTしたい
-
SQL文の書き方(こんなこと出来...
-
会社の飲み会の幹事になり、座...
-
テーブルの作り方
-
お金持ちのテーブル
-
MySQL:文字列の自動収集
-
ACCESSで3ファイルを結合して、...
-
MySQLのテーブルに、CSV形式の...
-
条件によって抽出するデータを...
-
テーブルデータの絞込み条件
-
Oracleで上書きImportはできま...
-
グループごとの最高得点者一覧...
-
off of と fromの違いを教えて...
-
下記、問題に対しての解答が以...
-
ACCESS 2003について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
一つ前に戻るには…
-
最大値を持つレコードを削除したい
-
mysqlでJOIN文
-
mysqlのフィールド名
-
テーブルが作成できない
-
mysqlで外部キーをつけたカラム...
-
2つのテーブルの連動
-
PHP上のSQLで、SELECT文をいく...
-
MySQLで、テーブル内のフィール...
-
SQL一発でカレンダー表示は可能...
-
MySQLのテーブルタイプの変更に...
-
外部キー、親を調べるにはshow ...
-
SQL文による残業時間の算出につ...
-
python2.5を使用してSQLite3の...
-
ビューに追加・削除が出来ません。
-
グループからランダムに抽出す...
-
1000万件のデータをmysqlで効率...
-
連番の質問
-
mysqlのデータベースを復元した...
-
DBの文字コード切り替え
おすすめ情報