❶ 我要向一個表中插入數據,且這個表中的ID不是自動連續的,我插入的數據如何讓其ID自動增長;
自增列的類型應為int或bigint型。可以設置起始和每次遞增數。
如:create table [table1]
(
[id] [int] identity(1,1)...
)
這樣每次插入則不需要為主鍵設置參數,資料庫會根據設置的遞增條件,自動給出主鍵值。
如以上代碼所示,則第一次插入後主鍵為1,第二次為2,一次遞增。
需要注意的是:如果這個表中有10條數據,主鍵為1-10不間斷的數字,那現在要刪除第十條數據,
繼續插入的話,id則會變成11,而不是10。通俗的說就是主鍵使用過一次將不會再次使用。
❷ 請問如何在excel表格中統計一列日期中,每周的數據總數。
提問者是想獲取每周的數據條數(而不是統計日期出現多少次)?如果這樣的話就很簡單了:
保持原始數據第一行為表頭,以下每一行都是一條完整的數據
增加一個輔助列:=WEEKNUM(B2,2)&"周"
添加數據透視表
❸ sql server 怎麼記錄最新插入的數據(沒有自動增長列)
沒有自動增長列這個好辦,先在資料庫中查詢出最大的ID號,在把這個ID號+1
具體列子:
--先定義變數@IdentityID 從A表中去取最大的編號賦給@IdentityID
select @IdentyID=max(IdentyID) from A
--如果A表中的最大的ID為空 就將1賦值給@IdentityID
select @IdentyID=isnull(@IdentyID,1)
---再插入數據
insert into stb102(IdentyID,Node1,Node2,NodeValue,StrValue,EnabledUserID)
values( @IdentyID+IdentityID,@NodeID,@AttrID2,-1,'',@UserID)
❹ java中如何獲取結果集ResutSet的總條數
java中獲取結果集ResutSet的總條數,可以直接使用其提供的getRow方法來取得,實例如下:
PreparedStatementpstate=null;//聲明一個PreparedStatement類
Stringsql="SELECT*FROMCHE_GOODWHERETITLELIKE?";//從資料庫中查詢
pstate=con.prepareStatement(sql,
java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE,
java.sql.ResultSet.CONCUR_READ_ONLY);
pstate.setString(1,"%"+greatwqs+"%");
}
ResultSetresult=pstate.executeQuery();//聲明一個結果集類
result.last();
introwcount=result.getRow();//獲得總條數
❺ oracle資料庫 ,想統計一個用戶下,所有表的記錄的總條數,用什麼語句可以實現
1. 查看資料庫的版本
select @@version
2. 查看資料庫所在機器操作系統參數
exec master..xp_msver
3. 查看資料庫啟動的參數
sp_configure
4. 查看資料庫啟動時間
select convert(varchar(30),login_time,120) from master..sysprocesses where spid=1
查看資料庫伺服器名和實例名
print 'Server Name...............:' + convert(varchar(30),@@SERVERNAME)
print 'Instance..................:' + convert(varchar(30),@@SERVICENAME)
5. 查看所有資料庫名稱及大小
sp_helpdb
重命名資料庫用的SQL
sp_renamedb 'old_dbname', 'new_dbname'
6. 查看所有資料庫用戶登錄信息
sp_helplogins
查看所有資料庫用戶所屬的角色信息
sp_helpsrvrolemember
修復遷移伺服器時孤立用戶時,可以用的fix_orphan_user腳本或者LoneUser過程
更改某個數據對象的用戶屬主
sp_changeobjectowner [@objectname =] 'object', [@newowner =] 'owner'
注意:更改對象名的任一部分都可能破壞腳本和存儲過程。
把一台伺服器上的資料庫用戶登錄信息備份出來可以用add_login_to_aserver腳本
查看某資料庫下,對象級用戶許可權
sp_helprotect
7. 查看鏈接伺服器
sp_helplinkedsrvlogin
查看遠端資料庫用戶登錄信息
sp_helpremotelogin
8.查看某資料庫下某個數據對象的大小
sp_spaceused @objname
還可以用sp_toptables過程看最大的N(默認為50)個表
查看某資料庫下某個數據對象的索引信息
sp_helpindex @objname
還可以用SP_NChelpindex過程查看更詳細的索引情況
SP_NChelpindex @objname
clustered索引是把記錄按物理順序排列的,索引占的空間比較少。
對鍵值DML操作十分頻繁的表我建議用非clustered索引和約束,fillfactor參數都用默認值。
查看某資料庫下某個數據對象的的約束信息
sp_helpconstraint @objname
9.查看資料庫里所有的存儲過程和函數
use @database_name
sp_stored_proceres
查看存儲過程和函數的源代碼
sp_helptext '@procere_name'
查看包含某個字元串@str的數據對象名稱
select distinct object_name(id) from syscomments where text like '%@str%'
創建加密的存儲過程或函數在AS前面加WITH ENCRYPTION參數
解密加密過的存儲過程和函數可以用sp_decrypt過程
10.查看資料庫里用戶和進程的信息
sp_who
查看SQL Server資料庫里的活動用戶和進程的信息
sp_who 'active'
查看SQL Server資料庫里的鎖的情況
sp_lock
進程號1--50是SQL Server系統內部用的,進程號大於50的才是用戶的連接進程.
spid是進程編號,dbid是資料庫編號,objid是數據對象編號
查看進程正在執行的SQL語句
dbcc inputbuffer ()
推薦大家用經過改進後的sp_who3過程可以直接看到進程運行的SQL語句
sp_who3
檢查死鎖用sp_who_lock過程
sp_who_lock
11.查看和收縮資料庫日誌文件的方法
查看所有資料庫日誌文件大小
dbcc sqlperf(logspace)
如果某些日誌文件較大,收縮簡單恢復模式資料庫日誌,收縮後@database_name_log的大小單位為M
backup log @database_name with no_log
dbcc shrinkfile (@database_name_log, 5)
12.分析SQL Server SQL 語句的方法:
set statistics time
set statistics io
圖形方式顯示查詢執行計劃
在查詢分析器-查詢-顯示估計的評估計劃(D)-Ctrl-L 或者點擊工具欄里的圖形
文本方式顯示查詢執行計劃
set showplan_all
set showplan_text
set statistics profile
13.出現不一致錯誤時,NT事件查看器里出3624號錯誤,修復資料庫的方法
先注釋掉應用程序里引用的出現不一致性錯誤的表,然後在備份或其它機器上先恢復然後做修復操作
alter database [@error_database_name] set single_user
修復出現不一致錯誤的表
dbcc checktable('@error_table_name',repair_allow_data_loss)
或者可惜選擇修復出現不一致錯誤的小型資料庫名
dbcc checkdb('@error_database_name',repair_allow_data_loss)
alter database [@error_database_name] set multi_user
CHECKDB 有3個參數:
repair_allow_data_loss 包括對行和頁進行分配和取消分配以改正分配錯誤、結構行或頁的錯誤,以及刪除已損壞的文本對象,這些修復可能會導致一些數據丟失。
修復操作可以在用戶事務下完成以允許用戶回滾所做的更改。
如果回滾修復,則資料庫仍會含有錯誤,應該從備份進行恢復。
如果由於所提供修復等級的緣故遺漏某個錯誤的修復,則將遺漏任何取決於該修復的修復。
修復完成後,請備份資料庫。
repai*_**st 進行小的、不耗時的修復操作,如修復非聚集索引中的附加鍵。
這些修復可以很快完成,並且不會有丟失數據的危險。
repair_rebuild 執行由 repai*_**st 完成的所有修復,包括需要較長時間的修復(如重建索引)。
執行這些修復時不會有丟失數據的危險。
添加、刪除、修改使用db.Execute(Sql)命令執行操作
╔--------------------╗
☆ 數據記錄篩選 ☆
╚--------------------╝
注意:單雙引號的用法可能有誤(沒有測式)
Sql = Select Distinct 欄位名 From 數據表
Distinct函數,查詢資料庫存表內不重復的記錄
Sql = Select Count(*) From 數據表 where 欄位名1#18:0:0# and 欄位名1 #19:00#
count函數,查詢數庫表內有多少條記錄,「欄位名1」是指同一欄位
例:
set rs=conn.execute(select count(id) as idnum from news)
response.write rs(idnum)
sql=select * from 數據表 where 欄位名 between 值1 and 值2
Sql=select * from 數據表 where 欄位名 between #2003-8-10# and #2003-8-12#
在日期類數值為2003-8-10 19:55:08 的欄位里查找2003-8-10至2003-8-12的所有記錄,而不管是幾點幾分。
select * from tb_name where datetime between #2003-8-10# and #2003-8-12#
欄位裡面的數據格式為:2003-8-10 19:55:08,通過sql查出2003-8-10至2003-8-12的所有紀錄,而不管是幾點幾分。
Sql=select * from 數據表 where 欄位名=欄位值 order by 欄位名 [desc]
Sql=select * from 數據表 where 欄位名 like '%欄位值%' order by 欄位名 [desc]
模糊查詢
Sql=select top 10 * from 數據表 where 欄位名 order by 欄位名 [desc]
查找資料庫中前10記錄
Sql=select top n * form 數據表 order by newid()
隨機取出資料庫中的若干條記錄的方法
top n,n就是要取出的記錄數
Sql=select * from 數據表 where 欄位名 in ('值1','值2','值3')
╔--------------------╗
☆ 添加數據記錄 ☆
╚--------------------╝
sql=insert into 數據表 (欄位1,欄位2,欄位3 …) valuess (值1,值2,值3 …)
sql=insert into 數據表 valuess (值1,值2,值3 …)
不指定具體欄位名表示將按照數據表中欄位的順序,依次添加
sql=insert into 目標數據表 select * from 源數據表
把源數據表的記錄添加到目標數據表
╔--------------------╗
☆ 更新數據記錄 ☆
╚--------------------╝
Sql=update 數據表 set 欄位名=欄位值 where 條件表達式
Sql=update 數據表 set 欄位1=值1,欄位2=值2 …… 欄位n=值n where 條件表達式
Sql=update 數據表 set 欄位1=值1,欄位2=值2 …… 欄位n=值n
沒有條件則更新整個數據表中的指定欄位值
╔--------------------╗
☆ 刪除數據記錄 ☆
╚--------------------╝
Sql=delete from 數據表 where 條件表達式
Sql=delete from 數據表
沒有條件將刪除數據表中所有記錄)
╔--------------------------╗
☆ 數據記錄統計函數 ☆
╚--------------------------╝
AVG(欄位名) 得出一個表格欄平均值
COUNT(*|欄位名) 對數據行數的統計或對某一欄有值的數據行數統計
MAX(欄位名) 取得一個表格欄最大的值
MIN(欄位名) 取得一個表格欄最小的值
SUM(欄位名) 把數據欄的值相加
引用以上函數的方法:
sql=select sum(欄位名) as 別名 from 數據表 where 條件表達式
set rs=conn.excute(sql)
用 rs(別名) 獲取統的計值,其它函數運用同上。
╔-----------------------------╗
☆ 數據表的建立和刪除 ☆
╚-----------------------------╝
CREATE TABLE 數據表名稱(欄位1 類型1(長度),欄位2 類型2(長度) …… )
例:CREATE TABLE tab01(name varchar(50),datetime default now())
DROP TABLE 數據表名稱 (永久性刪除一個數據表)
╔--------------------------╗
☆ 記錄集對象的方法 ☆
╚--------------------------╝
rs.movenext 將記錄指針從當前的位置向下移一行
rs.moveprevious 將記錄指針從當前的位置向上移一行
rs.movefirst 將記錄指針移到數據表第一行
rs.movelast 將記錄指針移到數據表最後一行
rs.absoluteposition=N 將記錄指針移到數據表第N行
rs.absolutepage=N 將記錄指針移到第N頁的第一行
rs.pagesize=N 設置每頁為N條記錄
rs.pagecount 根據 pagesize 的設置返回總頁數
rs.recordcount 返回記錄總數
rs.bof 返回記錄指針是否超出數據表首端,true表示是,false為否
rs.eof 返回記錄指針是否超出數據表末端,true表示是,false為否
rs.delete 刪除當前記錄,但記錄指針不會向下移動
rs.addnew 添加記錄到數據表末端
rs.update 更新數據表記錄
用Oracle資料庫!!!!!!!!!!!!!!
❻ asp.net 怎麼在數據集中獲取記錄總條數
select count(*) from (查詢語句)獲得記錄總數 除以你每頁顯示的記錄條數,每頁顯示的條數你可以設置的。
❼ java開發中能不能再一個方法里獲取list數據和總條數
java開發中可以在一個方法里獲取list數據和總條數,想要學習java開發推薦千鋒教育,多年來深耕java開發教育,深得學子信賴。
想要掌握Java開發技術需要注意以下幾點:
一、首先,對於初學者來說一定不能盲目,要有自己的規劃,不然就是浪費時間白忙活。
二、既然是學習Java開發專業技術,建議是,一定要有一個能指導你的人,不能都靠自己閉門造車,這樣的行為並不聰明,結識一位這方面的人才,時不時去人家問題,不然你可能會發現一個小問題能困擾你一天,最後還不知道是什麼原因。
三、學習Java開發技術,不能跟學數學語文一樣對待,比較剛接觸代碼是不容易記住的,所以要掌握上述的技術,你還要知道學習Java開發技術有哪些「坑」。對於學習方法這塊是尤為重要的,怎麼學才能讓你學完了能記住之前學的那些,不至於學完了就忘,這個問題值得學習之前去思考的。
四、平時一定要養成好的學習習慣!把自己曾經遇到的問題整理在電腦的日記本上,然後搜集一下博客相關的Java技術文章,一些網站,以後都能用的上,如果想走的更遠,一定要養成習慣。
想要了解更多java開發的相關信息,推薦咨詢千鋒教育。千鋒勵精圖治,不改教育初心。十一年來,千鋒以政策為引導,不斷完善國內特色現代職業教育體系建設,充分發揮教研師資隊伍使命,構建品質教育,加大創新型人才培養力度,為經濟發展提供智力人才和智力支撐,成為新時期職業教育發展的新方向,在同行業中有很高的美譽度。
❽ java中如何獲取結果集ResutSet的總條數
沒有別的方法,你這方法是ResultSet獲取數據條數的最直接方法,獲取之後一般用first()方法將指針移至第一行。
其實如果沒用到org的一些包對ResultSet進行封裝的話,可以自己寫個類對其進行封裝,因為ResultSet是要基於Connection存在的,連接一關,ResultSet就廢了,用起來還是不太方便