SQL-Quelldatei lässt sich nicht öffnen?

3 Antworten

Das liegt daran, dass SQL und SQLite zwei völlig unterschiedliche Dinge sind.

SQL ist ganz grob gesagt die Datenbanksprache. Die Quelldateien dieser Sprache speichert man in .sql Dateien.

SQLite ist ein Datenbankmanagementsystem. Dieses arbeitet mit Datenbanken, die zwar mit SQL beschrieben werden können, aber SQLite speichert seine Datenbanken nicht im .sql Format, sondern im .sqlite Format.

Du müsstest also mit SQLiteStudio erst mal eine leere Datenbank erstellen und kannst dann die SQL Datei importieren.

Die .sqlite Datei ist die Datenbank selbst und die .sql Datei ist nur eine Datei mit einer Liste von Datenbankbefehlen.

Woher ich das weiß:Berufserfahrung – Berufserfahrung

ItCat 
Beitragsersteller
 12.06.2024, 19:09

Hi! Vielen Dank erstmal!

Das Problem ist, ich kann die .sql Datei nicht in SQLite öffnen und ich weiß nicht genau, wie ich diese umschrieben/umändern kann, dass sich diese öffnen lässt.. Gibt es dafür Programme, oder muss ich alles per Hand auslesen und neu einrichten?

0
TheQ86  12.06.2024, 19:12
@ItCat
Das Problem ist, ich kann die .sql Datei nicht in SQLite öffnen

Nein, nicht direkt. Ich kenn das Programm nicht genau. Aber du müsstest wie gesagt erst mal eine neue leere Datenbank in dem Programm anlegen. Diese würde er dir dann in einer .sqlite Datei speichern.

Wenn dein Programm kein Menüpunkt wie "importieren" hat, dann kopier dir einfach den Inhalt der .sql Datei in das SQL Befehlsfeld des Programms.

0
TheQ86  12.06.2024, 19:17
@TheQ86

Menü "Datenbank" -> "Datenbank hinzufügen"

Datenbanktyp SQLite 3

Dann einen Dateinamen zum speichern angeben. Das ist der Dateiname der DATENBANK selbst, die wird vom Programm dann neu erstellt.

-----------------------

Menü "Werkzeuge" -> "SQL Editor öffnen"

Ins obere Textfenster den Inhalt der .sql Datei einfügen

Den "Play" Pfeil oben drücken oder F9 auf der Tastatur

Danach sollte deine .sql Datei importiert sein.

0

Meines Wissen stehen in .sql-Dateien SQL-Anweisungen (ist das so im Texteditor?). Das sind keine Datenbanken. Du kannst eine Datenbank erstellen und anschließend die sql-Dateien öffnen um die commands auszuführen. Jedoch weiß ich nicht, was da drin steht.


ItCat 
Beitragsersteller
 12.06.2024, 19:07

Hi! Also ich kenne mich leider mit dem Programm nicht sehr gut aus, da ich den html Teil übernehmen wollte und sie diesen Teil, aber ich wurde gebeten die Datei zu fixen und komme leider auch nicht weiter...

Ich habe die ellenlangen Bildbeschreibungen rausgenommen (da sollen Bilder rein) und das ist der gefilterte Rest, vielleicht hilft das!

-- Datei mit SQLiteStudio v3.4.4 am Mo Jun 10 16:17:04 2024 erstellt

--

-- verwendete Textkodierung: System

--

PRAGMA foreign_keys = off;

BEGIN TRANSACTION;

-- Tabelle: Entwickler

CREATE TABLE IF NOT EXISTS Entwickler (EntwicklerID INTEGER PRIMARY KEY UNIQUE NOT NULL, Name TEXT UNIQUE NOT NULL);

INSERT INTO Entwickler (EntwicklerID, Name) VALUES (1, 'Bethesda Game Studio');

INSERT INTO Entwickler (EntwicklerID, Name) VALUES (2, 'Avalanche Software');

INSERT INTO Entwickler (EntwicklerID, Name) VALUES (3, 'Nintendo');

-- Tabelle: Games

CREATE TABLE IF NOT EXISTS Games (GameID INTEGER PRIMARY KEY UNIQUE NOT NULL, Name TEXT UNIQUE NOT NULL, Preis REAL NOT NULL, Erscheinungsjahr TEXT NOT NULL, Cover BLOB, Beschreibung TEXT, EntwicklerID INTEGER REFERENCES Entwickler (EntwicklerID) UNIQUE);

INSERT INTO Games (GameID, Name, Preis, Erscheinungsjahr, Cover, Beschreibung, EntwicklerID) VALUES (1, 'Fallout 4', 10.0, '10.11.2015', '', NULL, 1);

INSERT INTO Games (GameID, Name, Preis, Erscheinungsjahr, Cover, Beschreibung, EntwicklerID) VALUES (2, 'Animal Crossing: New Horizons', 10.0, '20.03.2020', X', 'Erkunde die Welt der Zauberer. Besuche Hogwarts. Bekämpfe die dunklen Mächte, oder werde Teil davon?', 2);

-- Tabelle: Musik

CREATE TABLE IF NOT EXISTS Musik (MusikID INTEGER PRIMARY KEY UNIQUE NOT NULL, Name TEXT NOT NULL, Künstler TEXT NOT NULL, Länge REAL NOT NULL, Preis REAL, GameID INTEGER REFERENCES Games (GameID) NOT NULL);

INSERT INTO Musik (MusikID, Name, Künstler, Länge, Preis, GameID) VALUES (1, 'It''s All Over But the Crying', 'The Ink Spots', '2:50', 0.0, 1);

INSERT INTO Musik (MusikID, Name, Künstler, Länge, Preis, GameID) VALUES (2, 'Crawl Out Trough the Fallout', 'Sheldon Allman', '2:26', 0.0, 1);

INSERT INTO Musik (MusikID, Name, Künstler, Länge, Preis, GameID) VALUES (3, 'Hufflepuff Commonroom', 'J. Scott Rakozy', '3:34', 0.0, 3);

INSERT INTO Musik (MusikID, Name, Künstler, Länge, Preis, GameID) VALUES (4, 'The Room Of Requirement', 'J. Scott Rakozy', '1:43', 0.0, 3);

-- Tabelle: Nutzer

CREATE TABLE IF NOT EXISTS Nutzer (NutzerID INTEGER PRIMARY KEY NOT NULL, Name TEXT NOT NULL, Passwort TEXT NOT NULL, Rechnuungsadresse TEXT NOT NULL, GamesID REFERENCES Games (GameID));

INSERT INTO Nutzer (NutzerID, Name, Passwort, Rechnuungsadresse, GamesID) VALUES (1, 'Tamira', '1234', 'Nidda', 2);

INSERT INTO Nutzer (NutzerID, Name, Passwort, Rechnuungsadresse, GamesID) VALUES (2, 'Lea', '2313', 'Nidda', 3);

-- Tabelle: Reviews

CREATE TABLE IF NOT EXISTS Reviews (ReviewID INTEGER PRIMARY KEY UNIQUE NOT NULL, Text TEXT, Bewertung INTEGER NOT NULL, GameID INTEGER REFERENCES Games (GameID) NOT NULL, NutzerID REFERENCES Nutzer (NutzerID) NOT NULL);

INSERT INTO Reviews (ReviewID, Text, Bewertung, GameID, NutzerID) VALUES (1, 'Gutes Spiel. Würde es wieer kaufen!', '5/5', 2, 1);

INSERT INTO Reviews (ReviewID, Text, Bewertung, GameID, NutzerID) VALUES (2, 'Nicht mein Fall. Aber anderen könnte es gefallen!', '2/5', 1, 1);

-- Tabelle: Tags

CREATE TABLE IF NOT EXISTS Tags (TagsID PRIMARY KEY UNIQUE NOT NULL, Genre TEXT NOT NULL, GamesID INTEGER REFERENCES Games (GameID));

INSERT INTO Tags (TagsID, Genre, GamesID) VALUES (1, 'Actionspiel', 1);

INSERT INTO Tags (TagsID, Genre, GamesID) VALUES (2, 'Simulator', 2);

COMMIT TRANSACTION;

PRAGMA foreign_keys = on;

0
DonkeyShot  12.06.2024, 19:10
@ItCat

Das ist sind die DBML-Anweisungen, um die Tabellen in einer Datenbank zu erstellen. Und weitere SQLs, um offenbar Testdatensätze einzufügen Du brauchst also erst einmal eine Datenbank, dann führst du diese SQLs gegen die Datenkbank aus.

0
DonkeyShot  12.06.2024, 19:11
@ItCat

Ich kenne die Umgebung leider nicht, vielleicht geht es mit einem Click auf einen Menüpunkt, das in eine Durchmarsch zu erledigen.

0

Die .sql Datei enthält eine Sequenz von SQL-Anweisungen. Solange sich das auf den Umfang von SQLite beschränkt, könnte man das problemlos mit den CLI-Tools von SQLite importieren.

sqlite3 somedb.db < somefile.sql

Mehr wäre das ansich nicht. Ob es in SQLite-Studio dafür eien fertige Funktion gibt, oder ob es da vielleicht ein sqlite Prompt gibt?

Dann könnte man mit .read die Anweisungen ebenso importieren.