2012-03-27 1 views
0

Ich scheine viele Tutorials zu finden, wie man mit zwei Tabellen arbeitet, aber ich kann nicht herausfinden, wie man zwei Tabellen erstellt. Vermutlich vermisse ich etwas sehr Einfaches.Erstellen Sie zwei Tabellen in SQLite3-Datenbank in Python

Ich möchte eine Tabelle für my_data_1 und my_data_2 erstellen. Hier ist mein Code:

import sqlite3 

my_data_1 = [('a',1,'BUY'),('b',2,'SELL'),('c',3,'HOLD')] 

my_data_2 = [('a',1,5),('d',6,6),('e',2,7)] 

#I am using :memory: because I want to experiment 
#with the database a lot 

conn = sqlite3.connect(':memory:') 

c = conn.cursor() 

c.execute('''CREATE TABLE MY_TABLE_1 
      (stock TEXT, price REAL, recommendation TEXT)''') 

### Something is probably wrong with the following line 

c.execute('''CREATE TABLE MY_TABLE_2 
      (stock TEXT, price REAL, volume REAL)''') 



for ele in my_data_1: 
    c.execute('''INSERT INTO MY_TABLE_1 VALUES(?,?,?)''',ele) 

conn.commit() 

c.execute('SELECT* FROM MY_TABLE_1') 

for entry in c: 
    print entry 

c.execute('SELECT* FROM MY_TABLE_2') 

for entry in c: 
    print entry 

Meine Ausgabe ist:

(u'a', 1.0, u'BUY') 
(u'b', 2.0, u'SELL') 
(u'c', 3.0, u'HOLD') 

So habe ich nicht erstellt MY_TABLE_2. Wie soll ich das machen?

Vielen Dank im Voraus.

Antwort

2

Sie sind nicht alles, was in der Tabelle eingefügt 2

diesen Code Versuchen Sie, nachdem Sie in Tabelle einfügen 1.

for ele in my_data_2: 
    c.execute('''INSERT INTO MY_TABLE_2 VALUES(?,?,?)''',ele) 
+0

Ich wusste, dass ich etwas einfach :) fehlte. Danke. – Akavall