So speichern Sie Text und Bilder in MySQL

So speichern Sie Text und Bilder in MySQL

Große Textdatentypen in Oracle

Clob-Langtexttyp (wird in MySQL nicht unterstützt, stattdessen wird Text verwendet)
Blob-Binärtyp

MySQL-Datenbank

Text Langtexttyp TINYTEXT: 256 Bytes
  TEXT: 65.535 Bytes => ~64 KB
  MEDIUMTEXT: 16.777.215 Bytes => ~16 MB
  LANGER TEXT: 4.294.967.295 Bytes => ~4 GB
Blob-Binärtyp

Zum Beispiel:

Erstellen einer Tabelle

CREATE TABLE-Test (
   Ich würde INT PRIMARY KEY AUTO_INCREMENT,
   Inhalt LONGTEXT, – Textfeld, Bild LONGBLOB – Bildfeld);

Beim Speichern von Text wird dieser im Zeichentyp gespeichert, und beim Speichern von Bildern wird er im Binärtyp gespeichert. Die spezifische Methode zum Festlegen von Parametern unterscheidet sich von der Methode zum Abrufen von Daten.

Zum Beispiel:

// Beim Speichern von Text den Parameter auf den Zeichenstrom-FileReader setzen
pstmt.setCharacterStream(1, Leser);
// Beim Abrufen der Parameter // Methode 1:
Leser r = rs.getCharacterStream("Inhalt");
// Lange Textdaten abrufen, Methode 2:
System.out.print(rs.getString("Inhalt"));
// Beim Speichern von Binärbildern // Setze den Parameter auf den Binärstream InputStream in 
pstmt.setBinaryStream(1, in);
// Holen Sie den Binärstream InputStream in = rs.getAsciiStream("img");
/**
 * Foto speichern* 
 */
@Prüfen
öffentliche Leere test2(){
  String sql = "in Test(img) Werte einfügen(?)";
  versuchen{
    con = JDBCUtil.getConnection();
    pstmt = con.prepareStatement(sql);
    // Parameter festlegen // Textdatei abrufen file = new File("f:/a.jpg");
    InputStream in = neuer FileInputStream(Datei);
    //Setze den Parameter auf Binärstream pstmt.setBinaryStream(1, in);
    // SQL ausführen
    pstmt.executeUpdate();
    in.schließen();
  }catch (Ausnahme e) {
    e.printStackTrace();
  }Endlich{
    versuchen {
      JDBCUtil.close(con, pstmt);
    } Fang (Ausnahme e) {
      // TODO Automatisch generierter Catch-Block
      e.printStackTrace();
    }
  }
}
/**
 * Fotos erhalten * 
 */
@Prüfen
öffentliche Leere test3(){
  Zeichenfolge SQL = "Wählen Sie * aus Test aus, wobei ID=?;";
  versuchen{
    con = JDBCUtil.getConnection();
    pstmt = con.prepareStatement(sql);
    // Parameter festlegen pstmt.setInt(1, 2);
    // Abfrage ausführen rs = pstmt.executeQuery();
    während(rs.next()){
      byte[] buff = neues byte[1024];
      InputStream in = rs.getAsciiStream("img");
      } l = 0;
      OutputStream out = neue DateiOutputStream(neue Datei("f:/1.jpg"));
      während((l=in.read(buff))!=-1){
        out.write(buff, 0, l);
      }
      in.schließen();
      aus.schließen();
    }
  }catch (Ausnahme e) {
    e.printStackTrace();
  }Endlich{
    versuchen {
      JDBCUtil.close(con, pstmt);
    } Fang (Ausnahme e) {
      // TODO Automatisch generierter Catch-Block
      e.printStackTrace();
    }
  }
}

Zusammenfassen

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels einen gewissen Lernwert für Ihr Studium oder Ihre Arbeit hat. Vielen Dank für Ihre Unterstützung von 123WORDPRESS.COM. Wenn Sie mehr darüber erfahren möchten, schauen Sie sich bitte die folgenden Links an

Das könnte Sie auch interessieren:
  • MySQL implementiert eine Lösung ähnlich der Oracle-Sequenz
  • MySQL-Code zur Implementierung der Sequenzfunktion
  • Verbindung zum lokalen MySQL über Socket ''/tmp/mysql.sock''-Lösung nicht möglich
  • Eine vollständige Liste häufig verwendeter MySQL-Funktionen (klassifiziert und zusammengefasst)
  • Verwenden Sie die MySQL-Master-Slave-Konfiguration, um eine Lese-/Schreibtrennung zu erreichen und den Datenbankdruck zu verringern
  • mysql + spring + mybatis, um die Codekonfiguration der Datenbank-Lese-/Schreibtrennung zu realisieren
  • So löschen Sie den MySQL-Dienst vollständig (bereinigen Sie die Registrierung)
  • Mehrere Möglichkeiten zum Speichern von Bildern in einer MySQL-Datenbank
  • Installation und Verwendung von MySQL unter Ubuntu (allgemeine Version)
  • Durch Kombinieren von Einfügen und Auswählen wird die Methode „Einfügen des Maximalwerts eines Felds in der Datenbank + 1“ implementiert.

<<:  So erstellen Sie mit virtualenv eine virtuelle Umgebung unter Windows (zwei Möglichkeiten)

>>:  So zeigen Sie eine PDF-Datei mit pdfjs in vue in der Vorschau an

Artikel empfehlen

Natives JS zum Erzielen eines Puzzle-Effekts

In diesem Artikel wird der spezifische Code von n...

Detaillierte Erläuterung des Shared-Memory-Mechanismus von Nginx

Der gemeinsam genutzte Speicher von Nginx ist ein...

Detaillierte Analyse der untergeordneten und übergeordneten Vue-Komponenten

Inhaltsverzeichnis 1. Übergeordnete Komponenten u...

Tutorial zur SQL-Optimierung: IN- und RANGE-Abfragen

Vorwort In „High Performance MySQL“ wird erwähnt,...

Lösung für Fremdschlüsselfehler bei der MySQL-Tabellenerstellung

Datenbanktabelle A: Tabelle erstellen Task_Desc_T...

Eine kurze Erläuterung, wann MySQL interne temporäre Tabellen verwendet

Gewerkschaftsexekution Verwenden Sie zur Vereinfa...

Lernen Sie die schwarze Technologie der Union-All-Verwendung in MySQL 5.7 in 5 Minuten

Leistung von „Union All“ in MySQL 5.6 Teil 1: MyS...

Analyse und Lösung des durch Chrome 73 verursachten Flex-Layout-Zusammenbruchs

Phänomen Es gibt mehrere verschachtelte Flex-Stru...

Docker-Fallanalyse: Erstellen eines Redis-Dienstes

Inhaltsverzeichnis 1 Mount-Verzeichnisse und Date...

Erläuterung der Faktoren, die die Datenbankleistung in MySQL beeinflussen

Eine Geschichte über die Datenbankleistung Währen...