MySQL Berechnung

Installation und Anwendung von Datenbankschnittstellen wie SQLite, PostgreSQL, MariaDB/MySQL, der DB-API 2.0 und sonstigen Datenbanksystemen.
Antworten
Algha
User
Beiträge: 10
Registriert: Mittwoch 24. Mai 2017, 10:13

Hallo zusammen,

ich bin ein ziemlicher Anfänger was Python betrifft. Um Allgemein ein besseres Gefühl für die Syntax usw. zu bekommen wollte ich mal nach einem Grundstock für eine Berechnung fragen. Falls das schon irgendwo gibt verzeiht mir :)

Grundidee ist das ich mich zu einer Datenbank verbinde, da etwas berechne und das Ergebnis in die Datenbank schreibe.

Grobes Beispiel die MySQL Datenbank Test mit der Tabelle Daten. Primärschlüssel ist die Kanalnummer (gibt auch noch Datum). In dem Beispiel soll die Kanalnummer 111 + die Kanalnummer 222 berechnet werden und das Ergebnis in die Kanalnummer 333 geschrieben werden.


Hoffe die Frage ist nicht zu blöd gestellt, aber hoffe damit ein Gerüst zu bekommen welches ich dann immer weiter erweitern kann.

Danke und viele Grüße
Timo
Benutzeravatar
noisefloor
User
Beiträge: 3843
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,

du Frage ist IMHO nicht blöd gestellt, aber leicht unverständlich...

Wie kommst du denn an die 111 und 222? Liest du aus der Datenbank mittels eines SELECT-Befehls? Und dann willst du die Werte einfach nur addieren und mittels eines `INSERT` zurück geschrieben? Zeig' doch mal den Code, den du schon hast. Egal, wie falsch dieser sein mag.

Abgesehen davon ist das IMHO ein nicht wirklich guter Weg zum Lernen, wenn du kein /kaum Python kannst. Wenn man mit Datenbanken und der Python DB API 2.0 arbeitet hilft es ungemein, wenn man eine leise Ahnung von der Instanzierung von Klassen und dem Aufrufen von Methoden hat. Sonst kann man da nicht wirklich verstehen, was man tut...

Hast du schon das offizielle Python-Tutorial durchgearbeitet? Das ist zum Lernen im 1. Schritt immer eine gute Idee.

Gruß, noisefloor
BlackJack

@Algha: Ungünstig ist auch die Formulierung Kanalnummer 111 + Kanalnummer 222 — was soll denn da addiert werden? Doch wahrscheinlich nicht wirklich die Kanalnummer selbst, sondern irgendwelche Daten.

Eine präzise Formulierung des Problems ist der erste Schritt zu einer Lösung.

Ich würde mich dem Beitrag von noisefloor anschliessen und vor oder nach Python ein Grundlagentutorial zu SQL empfehlen. Relationale Datenbanken und SQL ist ein ziemlich grosses Thema und eine weitere Programmiersprache oder zumindest Abfragesprache für sich.
Algha
User
Beiträge: 10
Registriert: Mittwoch 24. Mai 2017, 10:13

Problem ist das ich fertige, laufende Programme habe welche ich verstehen soll. Problem ist nur das es mehr als Quick & Dirty von der Art her ist. Also habe ich zumindestens das Gefühl :wink:

Wollte wie Du sagst mit Select auslesen und dann mit Insert einfügen. Das dies nicht die beste Art ist zu lernen und verstehen ist mir bewusst :) Vorteil wäre nur das praxisbezogene an der Aufgabe.

Am Python Tutorial bin ich schon dran. Ich schau mal das ich selbst was schreibe und dann schauen wir mal weiter :)

@BlackJack
Ja ist unglücklich formuliert. Die Werte/Value von den Kanalnummern sollen addiert werden. Die Abfrage von MySQL sollte ich hinbekommen, also da ist mehr Verständnis da als von Python.
Benutzeravatar
BigZ
User
Beiträge: 30
Registriert: Mittwoch 1. Juli 2015, 21:18
Wohnort: Hamburg
Kontaktdaten:

Im Internet findet man sehr viele Beispiele die genau solche basic Anwendungen mit mysql oder anderen Datenbanken behandeln.
Ein kurzes Google nach python mysql förderte beispielsweise dieses Tutorial zu Tage.
Mit ein bisschen anpassen der dort behandelten Befehle solltest du dir fix ein Script zusammen basteln können was du brauchst.
Allerdings frage ich mich ob man für ein select auf zwei tabellen, dem addieren der beiden werte und dem einsetzen in eine dritte überhaupt Python braucht.
Das ließe sich doch sicherlich in einem Sql Befehl erledigen *denk*
"Ist noch λ?"
"Ja, aber das ϕ ist noch ϱ"
Algha
User
Beiträge: 10
Registriert: Mittwoch 24. Mai 2017, 10:13

Die Addition war jetzt nur als Beispiel gedacht. Die Berechnungen welche durchgeführt werden sollen sind schon aufwendiger. Das Tutorial schaue ich mir mal an, danke :)
Antworten