當前位置:首頁 » 操作系統 » 如何獲取資料庫數據

如何獲取資料庫數據

發布時間: 2022-07-17 06:43:18

A. 請問如何從資料庫中讀取具體某個數據

哎呀,你這樣子提問題真的不好回答。你學過什麼了?會哪些東西?做一個資料庫相關的程序,大致過程就是下面這樣子:
首先要連接到資料庫,比如
java
就是用
JDBC。
然後打開一個連接,Java
中就是一個
Connection。
創建一個查詢,開始查詢資料庫
遍歷查詢的結果,這里就是你上面要做的,挨個賦值
最後一定要記住關閉查詢和連接,釋放資源。

.Net,PHP,Python
也是類似的。
不過,在實際開發中,可不是這樣了,不僅效率太低而且程序不好維護。

B. 怎樣獲得資料庫的數據

你是想獲得別人資料庫的內容,還是你自己做網站想把網頁和資料庫連接起來獲得自己資料庫的內容呢???
想弄別人的就難了。相連接自己的資料庫並獲得裡面的數據就簡單了。

C. 平台資料庫數據如何獲取

找到相關的數據平台,數據分析,數據來源網站進行操作高質量公共數據集網址進行數據獲取。

D. 求教如何獲取資料庫增量數據

獲取資料庫增量數據的幾種方式:
a.觸發器:在要抽取的表上建立需要的觸發器,一般要建立插入、修改、刪除三個觸發器,每當源表中的數據發生變化,就被相應的觸發器將變化的數據寫入一個臨時表,抽取線程從臨時表中抽取數據,臨時表中抽取過的數據被標記或刪除。觸發器方式的優點是數據抽取的性能較高,缺點是要求業務表建立觸發器,對業務系統有一定的影響。

b.時間戳:它是一種基於快照比較的變化數據捕獲方式,在源表上增加一個時間戳欄位,系統中更新修改表數據的時候,同時修改時間戳欄位的值。當進行數據抽取時,通過比較系統時間與時間戳欄位的值來決定抽取哪些數據。有的資料庫的時間戳支持自動更新,即表的其它欄位的數據發生改變時,自動更新時間戳欄位的值。有的資料庫不支持時間戳的自動更新,這就要求業務系統在更新業務數據時,手工更新時間戳欄位。同觸發器方式一樣,時間戳方式的性能也比較好,數據抽取相對清楚簡單,但對業務系統也有很大的傾入性(加入額外的時間戳欄位),特別是對不支持時間戳的自動更新的資料庫,還要求業務系統進行額外的更新時間戳操作。

c.全表比對:典型的全表比對的方式是採用MD5校驗碼。ETL工具事先為要抽取的表建立一個結構類似的MD5臨時表,該臨時表記錄源表主鍵以及根據所有欄位的數據計算出來的MD5校驗碼。每次進行數據抽取時,對源表和MD5臨時表進行MD5校驗碼的比對,從而決定源表中的數據是新增、修改還是刪除,同時更新MD5校驗碼。

d.日誌對比:通過分析資料庫自身的日誌來判斷變化的數據。

E. 如何從mysql資料庫讀取數據

讀取資料庫,首先要將資料庫的驅動包導入:如果是mysql資料庫,需要導入mysql-connector-java-5.1.27.jar,如果是oracle就需要導入oracle.jar包;
然後就是建立資料庫連接,使用Connection 新建連接,然後執行你的sql語句查詢出需要的數據,下面是兩個方法: public PageModel findAllUser(int pageNo,int pageSize){String sql = "select * from user where user_name <> 'root' order by user_name" +"limit" + (pageNo - 1) * pageSize + "," + pageSize;PageModel pageModel =null;Connection conn =null;Statement stmt =null;ResultSet rs = null;try{conn = DB.getConn();stmt = conn.createStatement();rs = stmt.executeQuery(sql);List user_List = new ArrayList();while(rs.next()){User user = new User();user.setUser_name(rs.getString("user_name"));user.setUser_password(rs.getString("user_password"));user.setUser_tel(rs.getString("user_tel"));user.setUser_email(rs.getString("user_email"));user.setUser_createDate(rs.getTimestamp("user_createdate"));user_List.add(user);}//取得所有記錄int totalRecords = getTotalRecords(conn);pageModel = new PageModel();pageModel.setPageSize(pageSize);pageModel.setList(user_List);pageModel.setTotalRecord(totalRecords);}catch(SQLException e){e.printStackTrace();}finally{DB.close(rs);DB.close(stmt);DB.close(conn);}return pageModel;} /** * 取得所有記錄 * @param conn * @return 所有記錄totalRecords */public int getTotalRecords(Connection conn){String sql = "select count(*) from user where user_name <> 'root' ";int totalRecords = 0;Statement stmt = null;ResultSet rs = null;try{conn = DB.getConn();stmt = conn.createStatement();rs = stmt.executeQuery(sql);if(rs.next()){totalRecords = rs.getInt(1);}}catch(SQLException e){e.printStackTrace();}finally{DB.close(rs);DB.close(stmt);DB.close(conn);}return totalRecords;}

F. 怎樣調用資料庫的數據

你這個問題太大了。有很多方法。就程序設計語言來說,很多程序設計語言都有調用資料庫的命令。一般地,先建立資料庫連接,再用命令調用SQL語句獲取資料庫的數據。對於.net的linq,操作更方便,功能更強大。

G. 網站首頁的數據是怎麼從資料庫中得到的

合理的做法是先訪問servlet
,如果你不寫這些東西還想訪問資料庫的話,只能把這次訪問資料庫的代碼直接寫字jsp中了

H. 如何讀取資料庫表數據(資料庫表不斷添加新數據)

問題問得過於簡化,根據我的經驗猜測,你是連續地讀取表的記錄,而每次讀取都沒重復的,只讀取新添加的記錄,是吧?
你最好不用table, 盡量用query,這樣使用SQL處理比較簡單。不過也沒關系,就是多寫點語句。我過去的作法是,針對表生成兩個視圖,第一個存儲上次取來的記錄,第二個是當前取到的記錄數據,第三個是一和二視圖相比較而得到的最新的記錄,每次有取動作,都要刷新。
要點,被查詢的主表或query的排序和過濾關鍵字欄位必須是記錄號或ID關鍵字, 保證新記錄排在後面,這樣讀取效率絵高很多,避免反復或重復處理。

I. 如何取得資料庫信息

取得視圖的方法 系統存儲過程 USE xxx EXEC sp_help 或者 獲取指定資料庫的視圖: USE DBAudit SELECT sysobjects.name AS name, sysusers.name AS owner FROM sysobjects LEFT JOIN sysusers ON sysobjects.uid = sysusers.uid WHERE type = 'V' 獲取指定資料庫的視圖的內容: EXEC sp_helptext xxxObject 取得存儲過程的方法 系統存儲過程 USE xxx EXEC sp_help 或者 獲取指定資料庫的存儲過程或者擴展存儲過程: USE DBAudit SELECT sysobjects.name AS name, sysusers.name AS owner, type FROM sysobjects LEFT JOIN sysusers ON sysobjects.uid = sysusers.uid WHERE type = 'P' OR type = 'X' 獲取指定資料庫的存儲過程或者擴展存儲過程的內容: EXEC sp_helptext xxxObject 無法獲取加密的存儲過程。擴展存儲過程只能得到dll 程序名。 取得函數的方法 系統存儲過程 USE xxx EXEC sp_help 或者 獲取指定資料庫的各種函數(內嵌函數等): USE DBAudit SELECT sysobjects.name AS name, sysusers.name AS owner, type FROM sysobjects LEFT JOIN sysusers ON sysobjects.uid = sysusers.uid WHERE type = 'FN' OR type = 'IF' OR type = 『TF』 獲取指定資料庫的函數的內容: EXEC sp_helptext xxxObject 只能獲取用戶定義的函數內容。 取得觸發器的方法 系統存儲過程 USE xxx EXEC sp_helptrigger xxxTable 或者 獲取指定資料庫的表的觸發器: SELECT sysobj1.name AS name, sysusers.name AS owner FROM sysobjects AS sysobj1 LEFT JOIN sysobjects AS sysobj2 ON sysobj1.parent_obj = sysobj2.id LEFT JOIN sysusers ON sysobj1.uid = sysusers.uid WHERE sysobj1.type = 'TR'AND sysobj2.name = 'xxxTable' 取得索引的方法 系統存儲過程 USE xxx EXEC sp_helpindex xxxTable 用戶 系統存儲過程 USE xxx EXEC sp_helpuser 角色 系統存儲過程 USE xxx EXEC sp_helprole 第二部分: 對於oracle 而言: ?ORACLE 只能連接特定資料庫,不能自動掃描資料庫對象。ORACLE 表必須用用戶來區別,否則表可能重名。ORACLE 不能區別系統表或者是用戶表,因此只能由管理員選擇掃描某些特定用戶的表。 取得資料庫名的方法 只能由用戶指定資料庫,不能自動掃描到特定資料庫伺服器上的所有資料庫。 取得表的方法 存儲資料庫表的系統表/視圖主要有: DBA_ALL_TABLES 描述資料庫中所有的對象以及相關的表。 ALL_ALL_TABLES 描述資料庫中所有的用戶可以訪問的對象以及相關的表。 USER_ALL_TABLES 描述資料庫中當前用戶擁有的對象以及相關的表。 DBA_ TABLES 描述資料庫中所有相關的表。 ALL_ TABLES 描述資料庫中所有的用戶可以訪問的相關的表。 USER_ TABLES 描述資料庫中當前用戶擁有的相關的表。 因此,可以從ALL_TABLES 中取得隸屬於指定用戶的表: SELECT TABLE_NAME FROM SYS.ALL_TABLES WHERE OWNER = 'DBAUDIT'; 取得隸屬於指定表空間的表: SELECT TABLE_NAME FROM SYS.ALL_TABLES WHERE TABLESPACE_NAME = 'DBAUDIT'; 也可以不指定用戶名,從而取得所有的表。 SELECT TABLE_NAME FROM SYS.ALL_TABLES; 取得列的方法 存儲資料庫表的列屬性的系統表/視圖主要有: DBA_TAB_COLUMNS 描述資料庫中所有的表的列屬性。 ALL_TAB_COLUMNS 描述資料庫中所有的用戶可以訪問的表的列屬性。 USER_TAB_COLUMNS 描述資料庫中當前用戶擁有的表的列屬性。 ALL_TAB_COLS 描述資料庫中所有的用戶可以訪問的表的列屬性。 因此,可以從ALL_TAB_COLUMNS 中取得隸屬於指定用戶的表: SELECT COLUMN_NAME FROM SYS.ALL_TAB_COLUMNS WHERE TABLE_NAME = 'TASK' AND OWNER = 'DBAUDIT'; 取得視圖的方法 存儲資料庫視圖的系統表/視圖主要有: DBA_VIEWS 描述資料庫中所有的視圖的屬性。 ALL_VIEWS 描述資料庫中所有的用戶可以訪問的視圖的屬性。 USER_VIEWS 描述資料庫中所有的當前用戶擁有視圖的屬性。 因此,可以從ALL_VIEWS 中取得隸屬於指定用戶的視圖: SELECT VIEW_NAME FROM SYS.ALL_VIEWS WHERE OWNER = 'DBAUDIT'; 取得存儲過程的方法 存儲系統對象的系統表/視圖有: DBA_OBJECTS 描述資料庫中所有的對象。 ALL_OBJECTS 描述資料庫中所有的可以訪問的對象。 USER_OBJECTS 描述資料庫中所有的當前用戶擁有的對象。 SYS_OBJECTS 描述資料庫中所有的系統對象。 對象類型有: CONSUMER GROUP CONTEXT DIRECTORY FUNCTION INDEX INDEX PARTITION INDEXTYPE JAVA CLASS JAVA DATA JAVA RESOURCE JAVA SOURCE LIBRARY LOB MATERIALIZED VIEW OPERATOR PACKAGE PACKAGE BODY PROCEDURE QUEUE SEQUENCE SYNONYM TABLE TABLE PARTITION TRIGGER TYPE TYPE BODY VIEW 因此,取得存儲過程可以用: SELECT OBJECT_NAME FROM SYS.ALL_OBJECTS WHERE OBJECT_TYPE = 'PROCEDURE'; 取得隸屬於某個用戶的存儲過程可以用: SELECT OBJECT_NAME FROM SYS.ALL_OBJECTS WHERE OBJECT_TYPE = 'PROCEDURE' AND OWNER = 『DBAUDIT』; 同樣,取得其他的對象也可以用這個方法,包括表,視圖等。 取得存儲過程內容的方法 對象類型為類型、類型體、過程、函數、包、包體,JAVA 源代碼的所有對象的源代碼都存儲在幾個系統表/視圖中: DBA_SOURCE 存儲所有資料庫對象的源代碼。 ALL_SOURCE 存儲所有可以訪問的資料庫對象的源代碼。 USER_SOURCE 存儲所有當前用戶擁有的資料庫對象的源代碼。 因此,取得存儲過程源代碼的方法: SELECT TEXT FROM SYS.ALL_SOURCE WHERE NAME = 『XXX』 AND TYPE = 『PROCEDURE』; 取得函數的方法 同上,取得函數可以用: SELECT OBJECT_NAME FROM SYS.ALL_OBJECTS WHERE OBJECT_TYPE = 'FUNCTION'; 取得隸屬於某個用戶的函數可以用: SELECT OBJECT_NAME FROM SYS.ALL_OBJECTS WHERE OBJECT_TYPE = 'FUNCTION' AND OWNER = 'DBAUDIT'; 取得函數內容可以用: SELECT TEXT FROM SYS.ALL_SOURCE WHERE NAME = 'XXX' AND TYPE = 'FUNCTION'; 取得觸發器的方法 存儲資料庫觸發器的系統表/視圖主要有: DBA_TRIGGERS 描述資料庫中所有的觸發器的屬性。 ALL_ TRIGGERS 描述資料庫中所有的用戶可以訪問的觸發器的屬性。 USER_ TRIGGERS 描述資料庫中所有的當前用戶擁有觸發器的屬性。 因此,可以從ALL_TRIGGERS 中取得隸屬於指定用戶的觸發器: SELECT TRIGGER_NAME FROM SYS.ALL_TRIGGERS WHERE OWNER = 'DBAUDIT'; 取得觸發器內容的方法: SELECT TRIGGER_BODY FROM SYS.ALL_TRIGGERS WHERE TRIGGER_NAME = 'XXX'; 取得索引的方法 存儲資料庫索引的系統表/視圖主要有: DBA_INDEXES 描述資料庫中所有的索引的屬性。 ALL_INDEXES 描述資料庫中所有的用戶可以訪問的索引的屬性。 USER_INDEXES 描述資料庫中所有的當前用戶擁有索引的屬性。 因此,可以從ALL_ INDEXES 中取得隸屬於指定用戶的索引: SELECT INDEX_NAME,TABLE_NAME FROM SYS.ALL_INDEXES WHERE OWNER = 'DBAUDIT'; 取得索引相關的列的方法: SELECT COLUMN_NAME FROM SYS.ALL_IND_COLUMNS WHERE INDEX_NAME = 'XXX' AND TABLE_OWNER = 'DBAUDIT'; 用戶 存儲資料庫用戶的系統表/視圖主要有: DBA_USERS 描述資料庫中所有的用戶的屬性。 ALL_USERS 描述資料庫中所有的用戶的屬性。 USER_USERS 描述資料庫中當前用戶的屬性。 因此,可以從ALL_USERS 中取得用戶: SELECT USER_ID, USERNAME FROM SYS.ALL_USERS; 角色 存儲角色的表/視圖有: DBA_ROLES 描述資料庫中所有角色。 取得角色方法: SELECT ROLE FROM SYS.DBA_ROLES; 表空間 SELECT TABLESPACE_NAME FROM SYS.DBA_TABLESPACES; 數據文件 SELECT FILE_NAME, FILE_ID, TABLESPACE_NAME FROM SYS.DBA_DATA_FILES; 資料庫連接 存儲資料庫連接的系統表/視圖主要有: DBA_LINKS 描述資料庫中所有的連接的屬性。 ALL_LINKS 描述資料庫中所有的用戶可訪問的連接的屬性。 USER_LINKS 描述資料庫中當前用戶的連接屬性。 因此,可以從DBA_DB_LINKS 中取得連接: SELECT * FROM SYS.DBA_DB_LINKS; 同義詞 SELECT * FROM SYS.ALL_SYNONYMS WHERE TABLE_OWNER = 'DBAUDIT'; 程序包 取得程序包可以用: SELECT OBJECT_NAME FROM SYS.ALL_OBJECTS WHERE OBJECT_TYPE = 'PACKAGE'; 取得隸屬於某個用戶的程序包可以用: SELECT OBJECT_NAME FROM SYS.ALL_OBJECTS WHERE OBJECT_TYPE = 'PACKAGE' AND OWNER = 'DBAUDIT'; 取得程序包內容可以用: SELECT TEXT FROM SYS.ALL_SOURCE WHERE NAME = 'XXX' AND TYPE = 'PACKAGE'; 程序包體 取得程序包體可以用: SELECT OBJECT_NAME FROM SYS.ALL_OBJECTS WHERE OBJECT_TYPE = 'PACKAGE BODY'; 取得隸屬於某個用戶的程序包可以用: SELECT OBJECT_NAME FROM SYS.ALL_OBJECTS WHERE OBJECT_TYPE = 'PACKAGE BODY ' AND OWNER = 'DBAUDIT'; 取得程序包內容可以用: SELECT TEXT FROM SYS.ALL_SOURCE WHERE NAME = 'XXX' AND TYPE = 'PACKAGE BODY '; 第三部分: 簡單點的還有。 返回所有列名 select name from syscolumns where id=object_id('表名') 查所有表名 select * from INFORMATION_SCHEMA.TABLES =================================== sp_tableoption N'MyTable', 'text in row', 'OFF' Sybase 取得資料庫名的方法 系統存儲過程sp_helpdb 或者 USE master SELECT d.name dbname, u.name owner FROM sysdatabases d, sysusers u WHERE d.suid = u.suid 取得表的方法 系統存儲過程 USE xxx EXEC sp_help 或者 獲取指定資料庫的用戶表: USE DBAudit SELECT sysobjects.name AS tname, sysusers.name AS owner FROM sysobjects, sysusers WHERE sysobjects.uid = sysusers.uid AND type = 'U' 獲取指定資料庫的系統表: USE DBAudit SELECT sysobjects.name AS tname, sysusers.name AS owner FROM sysobjects, sysusers WHERE sysobjects.uid = sysusers.uid AND type = 'S' 或者統一使用: USE DBAudit SELECT sysobjects.name AS tname, sysusers.name AS owner FROM sysobjects, sysusers WHERE sysobjects.uid = sysusers.uid AND (type = 'U' OR type = 'S') 註: sysobjects 中type 欄位類型解釋: C = CHECK 約束 D = 默認值或 DEFAULT 約束 F = FOREIGN KEY 約束 L = 日誌 FN = 標量函數 IF = 內嵌表函數 P = 存儲過程 PK = PRIMARY KEY 約束(類型是 K) RF = 復制篩選存儲過程 S = 系統表 TF = 表函數 TR = 觸發器 U = 用戶表 UQ = UNIQUE 約束(類型是 K) V = 視圖 X = 擴展存儲過程 取得列的方法 系統存儲過程 USE xxxDatabase EXEC sp_help xxxTable 取得視圖的方法 系統存儲過程 USE xxx EXEC sp_help 或者 獲取指定資料庫的視圖: USE xxx SELECT sysobjects.name AS name, sysusers.name AS owner FROM sysobjects, sysusers WHERE sysobjects.uid = sysusers.uid AND type = 'V' 獲取指定資料庫的視圖的內容: EXEC sp_helptext xxxObject 取得存儲過程的方法 系統存儲過程 USE xxx EXEC sp_help 或者 獲取指定資料庫的存儲過程或者擴展存儲過程: USE xxx SELECT sysobjects.name name, sysusers.name owner FROM sysobjects, sysusers WHERE sysobjects.uid = sysusers.uid AND (type = 'P' OR type = 'X') 獲取指定資料庫的存儲過程或者擴展存儲過程的內容: EXEC sp_helptext xxxObject 無法獲取加密的存儲過程。擴展存儲過程只能得到dll 程序名。 取得函數的方法 Sybase 不支持用戶定義函數。

熱點內容
做解壓橡皮 發布:2025-01-21 15:03:06 瀏覽:990
雙系統win訪問mac 發布:2025-01-21 14:53:52 瀏覽:484
安卓車機系統如何安裝carplay 發布:2025-01-21 14:52:24 瀏覽:589
sql操作手冊 發布:2025-01-21 14:46:08 瀏覽:311
青橙腳本 發布:2025-01-21 14:44:05 瀏覽:218
東風本田crv時尚版是什麼配置 發布:2025-01-21 14:20:04 瀏覽:219
安卓如何多開軟體每個機型不一樣 發布:2025-01-21 14:15:29 瀏覽:501
iis配置php5 發布:2025-01-21 14:08:19 瀏覽:274
凱叔講故事為什麼聯系不到伺服器 發布:2025-01-21 13:56:50 瀏覽:387
linux鏡像文件下載 發布:2025-01-21 13:34:36 瀏覽:218