最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL存儲(chǔ)文本和圖片的方法

 更新時(shí)間:2019年03月04日 10:39:44   作者:kerer-sk  
今天小編就為大家分享一篇關(guān)于MySQL存儲(chǔ)文本和圖片的方法,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧

Oracle中大文本數(shù)據(jù)類(lèi)型

Clob  長(zhǎng)文本類(lèi)型  (MySQL中不支持,使用的是text)
Blob  二進(jìn)制類(lèi)型

MySQL數(shù)據(jù)庫(kù)

Text   長(zhǎng)文本類(lèi)型
  TINYTEXT:   256 bytes
  TEXT:     65,535 bytes    => ~64kb
  MEDIUMTEXT:  16,777,215 bytes  => ~16MB
  LONGTEXT:   4,294,967,295 bytes => ~4GB
Blob  二進(jìn)制類(lèi)型

例如:

建表

CREATE TABLE test(
   id INT PRIMARY KEY AUTO_INCREMENT,
   content LONGTEXT, -- 文本字段
   img LONGBLOB  -- 圖片字段
);

存儲(chǔ)文本時(shí)是以字符類(lèi)型存儲(chǔ),存儲(chǔ)圖片時(shí)是以二進(jìn)制類(lèi)型存儲(chǔ),具體使用的設(shè)置參數(shù)方法,和獲取數(shù)據(jù)方法不同。

例如:

// 存儲(chǔ)文本時(shí)
// 存儲(chǔ)時(shí),設(shè)置參數(shù)為字符流 FileReader reader
pstmt.setCharacterStream(1, reader);
// 獲取參數(shù)時(shí)
// 方式1:
Reader r = rs.getCharacterStream("content");
// 獲取長(zhǎng)文本數(shù)據(jù), 方式2:
System.out.print(rs.getString("content"));
// 存儲(chǔ)二進(jìn)制圖片時(shí) 
// 設(shè)置參數(shù)為2進(jìn)制流 InputStream in 
pstmt.setBinaryStream(1, in);
// 獲取2進(jìn)制流
InputStream in = rs.getAsciiStream("img");
/**
 * 保存照片
 * 
 */
@Test
public void test2(){
  String sql = "insert into test(img) values(?)";
  try{
    con = JDBCUtil.getConnection();
    pstmt = con.prepareStatement(sql);
    // 設(shè)置參數(shù)
    // 獲取文本
    File file = new File("f:/a.jpg");
    InputStream in = new FileInputStream(file);
    // 設(shè)置參數(shù)為2進(jìn)制流
    pstmt.setBinaryStream(1, in);
    // 執(zhí)行sql
    pstmt.executeUpdate();
    in.close();
  }catch (Exception e) {
    e.printStackTrace();
  }finally{
    try {
      JDBCUtil.close(con, pstmt);
    } catch (Exception e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }
  }
}
/**
 * 獲取照片
 * 
 */
@Test
public void test3(){
  String sql = "select * from test where id=?;";
  try{
    con = JDBCUtil.getConnection();
    pstmt = con.prepareStatement(sql);
    // 設(shè)置參數(shù)
    pstmt.setInt(1, 2);
    // 執(zhí)行查詢(xún)
    rs = pstmt.executeQuery();
    while(rs.next()){
      byte[] buff = new byte[1024];
      InputStream in = rs.getAsciiStream("img");
      int l=0;
      OutputStream out = new FileOutputStream(new File("f:/1.jpg"));
      while((l=in.read(buff))!=-1){
        out.write(buff, 0, l);
      }
      in.close();
      out.close();
    }
  }catch (Exception e) {
    e.printStackTrace();
  }finally{
    try {
      JDBCUtil.close(con, pstmt);
    } catch (Exception e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }
  }
}

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接

相關(guān)文章

  • 深入了解MySQL中分區(qū)表的原理與企業(yè)級(jí)實(shí)戰(zhàn)

    深入了解MySQL中分區(qū)表的原理與企業(yè)級(jí)實(shí)戰(zhàn)

    本文詳細(xì)講解什么是分區(qū)表,分區(qū)表增刪改查的工作原理以及分區(qū)表的實(shí)戰(zhàn),分區(qū)表的場(chǎng)景有哪些,哪些場(chǎng)景不建議用分區(qū)表,并列舉出六點(diǎn)使用分區(qū)表的誤區(qū),需要的可以參考一下
    2022-11-11
  • mysql中inner join和left join使用詳解

    mysql中inner join和left join使用詳解

    本文主要介紹了mysql中inner join和left join使用詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • Mysql 5.7.14 使用常見(jiàn)問(wèn)題匯總(推薦)

    Mysql 5.7.14 使用常見(jiàn)問(wèn)題匯總(推薦)

    本文給大家分享Mysql 5.7.14 使用常見(jiàn)問(wèn)題匯總的相關(guān)知識(shí)及結(jié)合自己的實(shí)踐總結(jié)了相關(guān)原因,本文介紹的非常詳細(xì),具有參考借鑒價(jià)值,感興趣的朋友一起看看吧
    2016-09-09
  • mysql如何將一個(gè)字段賦值給另一個(gè)字段

    mysql如何將一個(gè)字段賦值給另一個(gè)字段

    這篇文章主要介紹了mysql如何將一個(gè)字段賦值給另一個(gè)字段,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • SQL常見(jiàn)函數(shù)整理之Format將日期、時(shí)間和數(shù)字值格式化

    SQL常見(jiàn)函數(shù)整理之Format將日期、時(shí)間和數(shù)字值格式化

    最近項(xiàng)目總是寫(xiě)sql查詢(xún)時(shí)間,數(shù)據(jù)庫(kù)存的時(shí)間有各種格式,下面這篇文章主要給大家介紹了關(guān)于SQL常見(jiàn)函數(shù)整理之Format將日期、時(shí)間和數(shù)字值格式化的相關(guān)資料,需要的朋友可以參考下
    2024-01-01
  • MySQL排序原理和案例詳析

    MySQL排序原理和案例詳析

    這篇文章主要給大家介紹了關(guān)于MySQL排序原理和案例詳析的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • 一文教你快速生成MySQL數(shù)據(jù)庫(kù)關(guān)系圖

    一文教你快速生成MySQL數(shù)據(jù)庫(kù)關(guān)系圖

    我們經(jīng)常會(huì)用到一些表的數(shù)據(jù)庫(kù)關(guān)系圖,下面這篇文章主要給大家介紹了關(guān)于生成MySQL數(shù)據(jù)庫(kù)關(guān)系圖的相關(guān)資料,文中通過(guò)圖文以及實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-06-06
  • MySQL加減間隔時(shí)間函數(shù)DATE_ADD和DATE_SUB的實(shí)現(xiàn)

    MySQL加減間隔時(shí)間函數(shù)DATE_ADD和DATE_SUB的實(shí)現(xiàn)

    mysql中內(nèi)置函數(shù)date_add 和 date_sub能對(duì)指定的時(shí)間進(jìn)行增加或減少一個(gè)指定的時(shí)間間隔,本文主要介紹了MySQLDATE_ADD和DATE_SUB的實(shí)現(xiàn),感興趣的可以了解一下
    2024-09-09
  • MySQL忘記root密碼以及遠(yuǎn)程無(wú)法連接的解決方法

    MySQL忘記root密碼以及遠(yuǎn)程無(wú)法連接的解決方法

    這篇文章主要介紹了MySQL忘記root密碼以及遠(yuǎn)程無(wú)法連接問(wèn)題的解決方法,文中有詳細(xì)的代碼示例來(lái)解決這些辦法,需要的朋友可以參考下
    2023-06-06
  • Mysql經(jīng)典的“8小時(shí)問(wèn)題”

    Mysql經(jīng)典的“8小時(shí)問(wèn)題”

    MySQL 的默認(rèn)設(shè)置下,當(dāng)一個(gè)連接的空閑時(shí)間超過(guò)8小時(shí)后,MySQL 就會(huì)斷開(kāi)該連接,而 c3p0 連接池則以為該被斷開(kāi)的連接依然有效。
    2015-04-04

最新評(píng)論

康乐县| 洪泽县| 宾阳县| 仙桃市| 弥渡县| 深水埗区| 白城市| 于都县| 雷州市| 金川县| 浪卡子县| 青海省| 通州区| 宣化县| 晋城| 鸡泽县| 广灵县| 深州市| 沁水县| 中阳县| 马边| 康定县| 当涂县| 鞍山市| 黄陵县| 得荣县| 阳西县| 赤峰市| 四川省| 常山县| 道真| 揭西县| 安达市| 都匀市| 呼玛县| 都兰县| 南昌县| 策勒县| 鞍山市| 绥阳县| 镇赉县|