第十七章:數據庫操作

數據庫基礎

?SQL語言

1、select?語句

select 語句用于從數據中檢索數據。語法如下:

SELECT 搜選字段列表 FROM?數據表名

WHERE?條件表達式?GROUP BY 字段名 HAVING 條件表達式(指定分組的條件)

ORDER BY 字段名[ASC|DESC]

2、insert 語句

insert 語句用于向表中插入新數據。語法如下:

insert into 表名[(字段1,字段2...)]values(屬性值1,屬性值2);

?

?3、update 語句

update 語句用于更新數據表中的某些記錄。語法如下:

UPDATE 數據表名 SET 字段名=新的字段值 WHERE 條件表達式;

?

?4、delete 語句

delete 語句用于刪除數據。語法如下:

delete from 數據表名 where 條件表達式;

?

?

DBC中常用的類和接口

1、 DriverManager 類

??DriverManager 類師JDBC的管理層,用于管理數據庫中的驅動程序。在操作指定數據庫之前,需要使用Java中Class 類的靜態方法forName(String className)加載指定數據庫的驅動程序。

2、Connection 接口

?? Connection 接口代表與特定的數據庫的連接,在連接上下文中執行SOL語句并返回結果。?

3、Statement 接口

? ? ? Statement 接口用于在已經建立連接的基礎上向數據庫發送SQL語句。?

4、PreparedStatement 接口

? ? ?PreparedStatement 接口用來動態地執行SQL語句。通過PreparedStatement 實例執行的動態的SQL語句,將被預編譯并能保存到PreparedStatement 實例中,從而可以反復地執行該SQL語句。?

5、ResultSet 接口

? ? ? ?ResultSet 接口類似與一個臨時表,用來展示存放數據庫查詢操作所獲得的結果。ResultSet 實例具有指定當前數據行的指針,指針開始的位置在第一個記錄的前面,通常next()方法可將指針向下移。?

數據庫操作

? ? ? 要對數據庫表中的數據庫進行操作,首先應該建立與數據庫的連接。通過JDBC API 中提供的各種各類,可對數據表中的數據進行查找、添加、修改、刪除等操作。代碼如下:
?

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;import com.mysql.cj.jdbc.Driver;public class JDBC {Connection connection;public static void main(String[] args)throws  SQLException {JDBC jdbc=new JDBC();jdbc.getConnection();System.out.println("查詢所有課程,結果為:");jdbc.selectAll();System.out.println("新增4號課程,名為Web");jdbc.add(4,"Web");System.out.println("查詢所有課程,結果為:");jdbc.selectAll();System.out.println("修改三課程,名為office");jdbc.update(3,"office");System.out.println("查詢所有課程,結果為:");	jdbc.selectAll();	System.out.println("刪除4號課程");jdbc.delete(4);System.out.println("查詢所有課程,結果為:");jdbc.selectAll();jdbc.close();}//刪除課程public void delete(int id) throws SQLException {//第三步:獲取statement對象PreparedStatement preparedStatement=connection.prepareStatement("delete from couse where id= ?;");preparedStatement.setInt(1,id);//執行SQL語句返回結果集preparedStatement.executeUpdate();}//修改課程public void update(int id,String name) throws SQLException {//第三步:獲取statement對象PreparedStatement preparedStatement=
connection.prepareStatement("update couse set name= ? where id= ?;");preparedStatement.setString(1, name);preparedStatement.setInt(2, id);//第四步: 獲取statement對象preparedStatement.executeUpdate();}//添加課程public void add(int id, String name)throws SQLException {//第三步:獲取statement對象PreparedStatement preparedStatement=connection.prepareStatement("insert into couse value(?,?);");preparedStatement.setInt(1, id);preparedStatement.setString(2, name);//第四步:執行SQL語句返回結果集preparedStatement.executeUpdate();}public void getConnection()throws SQLException{//第一步注冊驅動	DriverManager.registerDriver(new Driver());	//第二步:獲取連接		connection=DriverManager.getConnection("jdbc:mysql://localhost:3306/school_java","root","1234");}//查詢所有課程public void selectAll()throws SQLException {//第三步:獲取statement對象PreparedStatement preparedStatement=connection.prepareStatement("select * from couse;");
//第四步: 執行SQL語句返回結果集ResultSet resultSet=preparedStatement.executeQuery();
//第五步:遍歷結果集while(resultSet.next()) {System.out.print(resultSet.getInt("id")+" ");System.out.println(resultSet.getString("name"));}//第六步:關閉連接釋放資源resultSet.close();preparedStatement.close();}public void close()throws SQLException {connection.close();}
}

運行結果:

?

?

?

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/165399.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/165399.shtml
英文地址,請注明出處:http://en.pswp.cn/news/165399.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

重新使用hbase前

啟動關閉Hadoop和HBase的順序一定是: 啟動Hadoop—>啟動HBase—>關閉HBase—>關閉Hadoop 1.掛載共享文件夾到掛載點 sudo mount -t vboxsf virtualmachineShare /mnt/shared2.進入hadoop目錄下啟動hadoop cd /usr/local/hadoop/ ./sbin/start-all.sh …

【UE5】五大基類及其使用

UObject UObject表示對象,準確來說,虛幻引擎中的對象基礎類為UObject UObject提供了以下功能: 垃圾收集(Garbage collection)引用自動更新(Reference updating)反射(Reflection&am…

火電廠電氣部分設計

摘要 本文首先根據任務書上所給系統與線路及所有負荷的參數,分析負荷發展趨勢。從負荷增長方面闡明了建站的必要性,然后通過對擬建變電站的概括以及出線方向來考慮,并通過對負荷資料的分析,安全,經濟及可靠性方面考慮…

計算機基礎知識57

前后端數據傳輸的編碼格式(contentType) # 我們只研究post請求方式的編碼格式: get請求方式沒有編碼格式-- index?useranme&password get請求方式沒有請求體,參數直接在url地址的后面拼接著 # 有哪些方式可以提交post請求:f…

構建個性化預約服務:預約上門服務系統源碼解讀與實戰

隨著社會的發展,預約上門服務系統在滿足用戶需求、提升服務效率方面發揮著越來越重要的作用。在本文中,我們將深入研究預約上門服務系統的源碼,通過實際的技術代碼示例,揭示系統內部的關鍵機制,以及如何在實際項目中應…

qml動畫過渡Transition

文章目錄 基本概念使用 `Transition`示例動畫過渡高級用法示例:復雜動畫過渡解釋進階用法在 QML 中,Transition 元素用于定義狀態之間過渡時的動畫。這是 QML 強大的狀態機制的一部分,允許開發者創建平滑且吸引人的用戶界面交互。使用 Transition,您可以定義當元素從一個狀…

深入了解接口測試:方法、工具和關鍵考慮因素(一)

接口測試是軟件測試中的一項重要工作,它涉及到系統與系統之間的交互點。接口可以是外部接口,也可以是內部接口,包括上層服務與下層服務接口以及同級接口。在接口測試中,我們需要確保接口能夠按照預期的方式進行通信和交互&#xf…

【攻防世界-misc】can_has_stdio?

1.用記事本打開文件是這樣子的, 這是一段BF(Brainfuck)編程語言代碼,屬于一種極簡化的編程語言,用于演示計算機程序設計概念。這段代碼包含了一些操作符,如">"表示指針向右移動,&q…

【C++破局】泛型編程|函數模板|類模板

?作者主頁 📚lovewold少個r博客主頁 ??本文重點:c模板初階知識點講解 👉【C-C入門系列專欄】:博客文章專欄傳送門 😄每日一言:花有重開日,人無再少年 目錄 前言 泛型編程 函數模板 函數模…

用Java實現簡易的圖書管理系統(超詳細)

目錄 1.設計背景 2.設計思路 3.模塊展示及代碼演示 3.1 Book類的實現 3.2 BookList類的實現(書架) 3.3 異常類的實現(OperationException) 3.4 用戶類的實現 3.5 操作接口的實現(定義規范) 3.6 操作類的具體實現 3.6.1 增加操作 3.6.2 查找操作 3.6.3 刪除操作 3.6…

標簽打印機打印標簽時出現,數據處理過程中錯誤 無法設置項目 圖片1的內容無法打印

環境: Win10專業版 NiceLabel Designer 10.1 問題描述: 標簽打印機打印標簽時出現,數據處理過程中錯誤 無法設置項目 圖片1的內容無法打印 解決方案: 1.刪除標簽部分文字打印測試 還是一樣(未解決) …

已解決java.lang.IllegalStateException異常的正確解決方法,親測有效!!!

已解決java.lang.IllegalStateException異常的正確解決方法,親測有效!!!文章目錄 報錯問題解決思路解決方法交流 報錯問題 java.lang.IllegalStateException 解決思路 java.lang.IllegalStateException通常表示程序的當前狀態與…

jenkins 參數構建

應用保存 [rootjenkins-node1 .ssh]# ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved i…

【嵌入式面試】2022年嵌入式經典面試題匯總(C語言)

📜作者:不想脫發的基兄 📺專欄:《嵌入式面試》 📣格言:不管前方的路有多苦,只要走的方向正確,不管多么崎嶇不平,都比站在原地更接近幸福。 前言: 2022年秋招我…

C++之初始化列表詳細剖析

一、初始化列表定義 初始化列表:以一個冒號開始,接著是一個以逗號分隔的數據成員列表,每個"成員變量"后面跟一個放在括號中的初始值或表達式。 class Date { public:Date(int year, int month, int day): _year(year), _month(mont…

OpenCV快速入門:圖像分析——圖像分割和圖像修復

文章目錄 前言一、圖像分割1.1 漫水填充法1.1.1 漫水填充法原理1.1.2 漫水填充法實現步驟1.1.3 代碼實現 1.2 分水嶺法1.2.1 分水嶺法原理1.2.2 分水嶺法實現步驟1.2.3 代碼實現 1.3 GrabCut法1.3.1 GrabCut法原理1.3.2 GrabCut法實現步驟1.3.3 代碼實現 1.4 Mean-Shift法1.4.1…

論文閱讀 (106):Decoupling maxlogit for out-of-distribution detection (2023 CVPR)

文章目錄 1 概述1.1 要點1.2 代碼1.3 引用 2 預備知識3 方法3.1 MaxLogit3.2 改進MaxCosine和MaxNorm3.3 DML 1 概述 1.1 要點 題目:解耦最大logit分布外檢測 (Decoupling maxlogit for out-of-distribution detection) 方法: 提出了一種心機基于log…

多級緩存快速上手

哈嘍~大家好,這篇來看看多級緩存。 🥇個人主頁:個人主頁????? 🥈 系列專欄:【微服務】 🥉與這篇相關的文章: JAVA進程和線程JAVA進程和線程-CSDN博客Http…

不做機器視覺工程師,轉行,轉崗的建議與想法

正所謂外行看熱鬧,內行看門道。提前咨詢前輩們,多問問,多看看。要做就做,一定要提前做好防范。 無論你是要轉行或者是轉崗,看你有沒有本錢和試錯成本 有些人,家庭好,可以一直去試錯和從頭再來。…

無線WiFi安全滲透與攻防(國外篇):使用 Aircrack-ng 破解 WEP 密碼

使用 Aircrack-ng 破解 WEP 密碼 使用 Aircrack-ng 破解 WEP 密碼一. 用 Aircrack-ng 破解 WEP 密碼 - 背景知識網卡與網卡芯片WEP 加密協議WEP 所使用的身份認證協議二. 使用 Aircrack-ng 破解 WEP 密碼 - 破解原理破解機理三. 使用 Aircrack-ng 破解 WEP 密碼 - aircrack-ng …