Hallo,
ich möchte aus meinem Python Code heraus(Version 3.6) auf meinem MS SQL Server 2017 mehere gleiche Tabellen automatisch erstellen, welche sich lediglich im Namen der jeweils einzelnen Tabelle, voneinander unterscheiden. Ich habe es mit fix vorgebenen Namen bisher so realisiert:
cursor.execute("""CREATE TABLE test1
(var1 NCHAR(15) PRIMARY KEY,
var2 VARCHAR(20),
var3 VARCHAR(30),
var4 CHAR(10)); """)
connection.commit()
Bis hierher funktioniert alles. Tabelle wird erstellt.
Aber wie schreibe ich es so um, das der hier vergebene Tabellenname "test1" per Variable übergeben werden kann und zweits, wie prüfe ich vor Erstellung der gewünschen Tabelle, ob diese vielleicht doch schon anhand des Namens existiert??? (CREATE TABLE xyz IF NOT EXISTS)???--> damit hatte ich leider keinen Erfolg.
Hier stehe ich nun auf dem berüchtigtem Schlauch.Vielleicht kann mir jemand hierbei auf die Sprünge helfen.
Das wäre super nett und ich bedanke mich ganz groß im Vorraus.
Viele Grüße
Maverik81
"Create Table" mit dynamischen Tabellennamen ???
Hallo,
danke für Eure Rückfragen.
zu meiner Herangehensweise:
Ich habe also einen Artikel der immer der gleiche (Höhe,Breite,Tiefe,etc.) ist, nur die Farbe unterscheidet sich.(den Rest kann man erstmal dahin gestellt lassen)
Sicher kann ich die Spalte Farbe in eine "große" Tabelle einfügen und alles würde laufen, aber ich sehe das im Moment bei meinem kleinem Projekt aus der "Was ist wenn die eine große Tabelle mal Pfutsch ist, warum auch immer" Ecke. Meiner Meinung nach, wenn man die große Datenmasse statt in eine in mehrere kleine Tabellen packt, ist im Ernstfall evtl. nicht gleich alles verloren, oder sehe ich das falsch???
Nur das ich die Artikel am Ende unterscheiden kann, müsste nur die Farbe als Tabellenname dynamisch zu vergeben sein, laut Python Code (meiner Meinung nach)
Viele Grüße
Maverik81
danke für Eure Rückfragen.
zu meiner Herangehensweise:
Ich habe also einen Artikel der immer der gleiche (Höhe,Breite,Tiefe,etc.) ist, nur die Farbe unterscheidet sich.(den Rest kann man erstmal dahin gestellt lassen)
Sicher kann ich die Spalte Farbe in eine "große" Tabelle einfügen und alles würde laufen, aber ich sehe das im Moment bei meinem kleinem Projekt aus der "Was ist wenn die eine große Tabelle mal Pfutsch ist, warum auch immer" Ecke. Meiner Meinung nach, wenn man die große Datenmasse statt in eine in mehrere kleine Tabellen packt, ist im Ernstfall evtl. nicht gleich alles verloren, oder sehe ich das falsch???

Nur das ich die Artikel am Ende unterscheiden kann, müsste nur die Farbe als Tabellenname dynamisch zu vergeben sein, laut Python Code (meiner Meinung nach)
Viele Grüße
Maverik81
Dass Daten futsch sein könnten, ist wirklich kein Grund. Dafür gibt es Backups. Und bei Datenverlust ist entweder nur ein kleiner Teil einer Tabelle oder gleich mehr als eine Tabelle betroffen.
So ganz verstehe ich das Beispiel auch nicht, wenn die einzige Variable die Farbe ist, was kommt dann in die Tabelle?
Also nein, es gibt eine Tabelle mit Artikeln und ein Feld davon ist die Farbe.
So ganz verstehe ich das Beispiel auch nicht, wenn die einzige Variable die Farbe ist, was kommt dann in die Tabelle?
Also nein, es gibt eine Tabelle mit Artikeln und ein Feld davon ist die Farbe.
Hallo,
ok dann speichere ich dann doch alles in eine große Tabelle rein, aber recht wohl dabei ist mir nicht, denn mit der Zeit werden es immer mehr Datensätze, die in die eine große Tabelle landen (da könnten rein rechnerisch dann bis zu 75 Millionen Datensätze/Kalenderjahr(im schlimmsten Fall) entstehen - in einer Tabelle mit MS SQL 2017??
Naja ich werde es jetzt mal mit einer Tabelle versuchen. Falls es schief geht(Datenbank Backups sind zumindest automatisiert bereits hinterlegt), bin ich selbst der Schuldige
Aber erstmal vielen Dank für die Superschnellen Antworten.
Ich wünsche Euch einen schönen Abend.
Viele Grüße
Maverik81
ok dann speichere ich dann doch alles in eine große Tabelle rein, aber recht wohl dabei ist mir nicht, denn mit der Zeit werden es immer mehr Datensätze, die in die eine große Tabelle landen (da könnten rein rechnerisch dann bis zu 75 Millionen Datensätze/Kalenderjahr(im schlimmsten Fall) entstehen - in einer Tabelle mit MS SQL 2017??
Naja ich werde es jetzt mal mit einer Tabelle versuchen. Falls es schief geht(Datenbank Backups sind zumindest automatisiert bereits hinterlegt), bin ich selbst der Schuldige

Aber erstmal vielen Dank für die Superschnellen Antworten.
Ich wünsche Euch einen schönen Abend.
Viele Grüße
Maverik81
Da kann ich dich beruhigen. Wir haben bei uns im Rechenzentrum eine Datenbank mit 650 GB. Ich glaube ich muss morgen mal nachschauen, wie viele Millionen Datensätze da in der Lohnkontotabelle drin stehen. Interessiert mich jetzt grad 
Und gegen Datenverlust hilft ein Backup. Wenn man größere Operationen auf die Datenbank ausführt, macht man vorher ein Backup. Punkt!

Und gegen Datenverlust hilft ein Backup. Wenn man größere Operationen auf die Datenbank ausführt, macht man vorher ein Backup. Punkt!
@Maverik81: Du musst dich dringend damit beschäftigen wie Relationale Datenbanken funktionieren. Und in dem Zug auch gleich verinnerlichen, was Normalisierung bei Datenbanken bedeutet.
Datenbanken sind keine Tabellenkalkulation. "Tabellen" in einer Datenbank sind keine Excel-Sheets.
Datenbanken sind keine Tabellenkalkulation. "Tabellen" in einer Datenbank sind keine Excel-Sheets.