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

Wichtige Updates für MySQL 8.0.23 (neue Funktionen)

Autor: Guan Changlong ist DBA in der Delivery Ser...

So führen Sie Tomcat-Quellcode im Maven-Modus aus

Vorwort Kürzlich habe ich den Startvorgang von To...

Lösung für den internen Serverfehler Nginx 500

Als ich heute Nginx verwendete, trat ein 500-Fehl...

Anweisungen zur Verwendung der MySQL-IndexOF-Funktion

Wie unten dargestellt: LOCATE(Teilzeichenfolge,Ze...

Detailliertes Tutorial zur schnellen Installation von Zookeeper in Docker

Docker: Zookeeper schnell installieren Ich habe Z...

Das Implementierungsprinzip der MySQL-Master-Slave-Synchronisation

1. Was ist MySQL Master-Slave-Synchronisierung? W...

Praktisches Tutorial zum Ändern des MySQL-Zeichensatzes

Vorwort: In MySQL unterstützt das System viele Ze...

Detaillierte Erklärung der CSS-Stil-Kaskadierungsregeln

Der Syntaxstil der CSS-Stilregel ist die Grundein...

Docker stellt MySQL bereit, um Beispielcode für eine Remoteverbindung zu erreichen

1. Docker durchsucht MySQL查看mysql版本 2. Docker Pul...