當前位置:首頁 » 編程語言 » sql查詢所有表的記錄數

sql查詢所有表的記錄數

發布時間: 2023-02-19 00:28:44

sql 查詢記錄數的SQL語句

sql中查詢記錄數用count函數。
1、創建測試表,插入數據:
create table test
(id int)
insert into test values (1)
insert into test values (2)
insert into test values (3)
insert into test values (null)2、查詢記錄數為兩種,一種是count(*),一種是count(欄位值):
測試一:
select count(*) from test結果:

測試二:
select count(id) from test結果:

說明:如果count(欄位名)的欄位中含有空值,則在count中不計數,而count(*)則是查詢全部的行數。

Ⅱ SQL怎麼查找表裡的所有數據

如果是SQLSERVER的話,在查詢分析器里輸入 select * from 你的表名就可以查看所有數據。

Ⅲ 怎樣用SQL語句查詢一個資料庫中的所有表

1、打開Microsoft SQL Server 2012,選中需要查詢所有表的資料庫。

Ⅳ 怎樣用SQL語句查詢一個資料庫中的所有表

TABLE 語句

具體語法:TABLE table_name [ORDER BY column_name] [LIMIT number [OFFSET number]]
其實從語法上看,可以排序,也可以過濾記錄集,不過比較簡單,沒有 SELECT 那麼強大。

示例 1

簡單的建一張很小的表 y1,記錄數為 10 條。表 t1,插入 10 條記錄

  • mysql-(ytt/3305)->create table t1 (r1 int,r2 int);

  • Query OK, 0 rows affected (0.02 sec)

  • mysql-(ytt/3305)->insert into t1

  • with recursive aa(a,b) as (

  • select 1,1

  • union all

  • select a+1,ceil(rand()*20) from aa where a < 10

  • ) select * from aa;

  • Query OK, 10 rows affected (0.00 sec)

  • Records: 10 Duplicates: 0 Warnings: 0

  • 簡單全表掃描mysql-(ytt/3305)->select * from t1;+------+------+| r1 | r2 |+------+------+| 1 | 1 || 2 | 9 || 3 | 9 || 4 | 17 || 5 | 17 || 6 | 16 || 7 | 6 || 8 | 1 || 9 | 10 || 10 | 3 |+------+------+10 rows in set (0.00 sec)

  • TABLE 結果mysql-(ytt/3305)->table t1;+------+------+| r1 | r2 |+------+------+| 1 | 1 || 2 | 9 || 3 | 9 || 4 | 17 || 5 | 17 || 6 | 16 || 7 | 6 || 8 | 1 || 9 | 10 || 10 | 3 |+------+------+10 rows in set (0.00 sec)

  • 看下 table 的執行計劃mysql-(ytt/3305)->explain table t1 order by r1 limit 2G*************************** 1. row *************************** id: 1 select_type: SIMPLE table: t1 partitions: NULL type: ALLpossible_keys: NULL key: NULL key_len: NULL ref: NULL rows: 10 filtered: 100.00 Extra: Using filesort1 row in set, 1 warning (0.00 sec)

  • 其實可以看到 TABLE 內部被 MySQL 轉換為 SELECT 了。mysql-(ytt/3305)->show warningsG*************************** 1. row *************************** Level: Note Code: 1003Message: /* select#1 */ select `ytt`.`t1`.`r1` AS `r1`,`ytt`.`t1`.`r2` AS `r2` from `ytt`.`t1` order by `ytt`.`t1`.`r1` limit 21 row in set (0.00 sec)

  • 那其實從上面簡單的例子可以看到 TABLE 在內部被轉成了普通的 SELECT 來處理。示例 2應用於子查詢里的子表。這里要注意,內表的欄位數量必須和外表過濾的欄位數量一致。克隆表 t1 結構mysql-(ytt/3305)->create table t2 like t1;Query OK, 0 rows affected (0.02 sec)

  • 克隆表 t1 數據mysql-(ytt/3305)->insert into t2 table t1;Query OK, 10 rows affected (0.00 sec)Records: 10 Duplicates: 0 Warnings: 0

  • table t1 被當做內表,表 t1 有兩個欄位,必須同時滿足 t2 檢索時過濾的欄位也是兩個。mysql-(ytt/3305)->select * from t2 where (r1,r2) in (table t1);+------+------+| r1 | r2 |+------+------+| 1 | 1 || 2 | 9 || 3 | 9 || 4 | 17 || 5 | 17 || 6 | 16 || 7 | 6 || 8 | 1 || 9 | 10 || 10 | 3 |+------+------+10 rows in set (0.00 sec)

  • 注意:這里如果過濾的欄位數量和子表數量不一致,則會報錯。

Ⅳ MSSQLSERVER中如何快速獲取表的記錄總數

在資料庫應用的設計中 我們往往會需要獲取某些表的記錄總數 用於判斷表的記錄總數是否過大 是否需要備份數據等 我們通常的做法是 select count(*) as c from tableA 然而對於記錄數巨大的表 上述做法將會非常耗時 在DELL 伺服器上做試驗 MS Sqlserver 資料庫對於 萬記錄的簡單數據表執行上述語句 時間在 分鍾以上 如果在表的某個欄位上做聚簇索引 第一次執行該語句的時間和沒有索引的時間差不多 之後執行上述語句 速度很快 在 秒中以內 但當表的記錄數發生較大變化後 再執行該語句又會經歷一次耗時的過程 而且不是每個表都適合做聚簇索引的 對於數量巨大的表 如果需要經常增刪操作 建聚簇索引是一個很不明智的做法 將會極大的影響增刪的速度 那麼有沒有一個比較簡單的方法快速獲取表的記錄總數呢?答案是有的

在MS SQL 資料庫中每個表都在sysindexes 系統表中擁有至少一條記錄 該記錄中的rows 欄位會定時記錄表的記錄總數 下面是sysindexes 表的相關記錄的含義

列名數據類型描述

id int 表ID(如果 indid = 或 ) 否則為索引所屬表的ID

Indid *** allint 索引ID

=表

=聚簇索引

> =非聚簇索引

=具有text或image數據的表條目

rows int 基於indid= 和 indid= 地數據級行數 該值對於indid> 重復 如果indid= rows設置為

當表沒有聚簇索引時 Indid = 否則為

那麼現在大家應該知道如何獲取表的記錄總數了 只需執行如下語句

select rows from sysindexes where id = object_id(tablename) and indid in ( )

lishixin/Article/program/SQL/201311/16342

Ⅵ 怎樣用SQL語句查詢一個資料庫中的所有表

查詢資料庫里所有表名和欄位名的語句

SQL 查詢所有表名:

SELECT NAME FROM SYSOBJECTS WHERE TYPE='U'

SELECT * FROM INFORMATION_SCHEMA.TABLES

結構化查詢語言(Structured Query Language)簡稱SQL,結構化查詢語言是一種資料庫查詢和程序設計語言,用於存取數據以及查詢、更新和管理關系資料庫系統;

sql 語句就是對資料庫進行操作的一種語言。

(6)sql查詢所有表的記錄數擴展閱讀:

SQL語句常見語句:

1、更新:update table1 set field1=value1 where 范圍;

2、查找:select * from table1 where field1 like 』%value1%』 (所有包含『value1』這個模式的字元串);

3、排序:select * from table1 order by field1,field2 [desc];

4、求和:select sum(field1) as sumvalue from table1;

5、平均:select avg(field1) as avgvalue from table1;

6、最大:select max(field1) as maxvalue from table1;

7、最小:select min(field1) as minvalue from table1[separator]。

參考資料來源:網路-sql語句

Ⅶ sql語句查詢某欄位的數據總和,並列出表中的所有記錄。

1、首先,創建一個測試表,相關代碼如下,進入下一步。

Ⅷ SQL Server得到表記錄總數的另類方法

得到一個表的記錄總數 常用的作法就是:

以下為引用的內容

select count(*) from 表名;

這種做法沒做 我這兒主要說的是效率問題 當一個數據表的記錄數不是太多時 這樣得到記錄總數的效率不是問題 但試想 如果一個表的記錄總數超過幾百萬或者幾千萬 要再用上面的Sql語句得到表的記錄總數 速度會慢得讓人難以忍受 有人會說了 可以一表上建立聚簇集索引呀 不錯 若在表的某個欄位上建立聚簇索引 第一次執行該語句的時間和沒有索引的時間差不多 之後執行上述語句 速度很快 但如果要經常做增刪改操作 建立聚簇索引不是一個明智的做法 將會極大的影響增刪改的速度 得到一個數據表的記錄總數經常用在以下幾個方面

一 做數據分頁時要得到總記錄數

二 判斷數據表的記錄數是否過大 是否需要備份數據

三 用戶要求等等

說了這么多 那麼到底如何快速得到一個數據表的記錄總數呢?答案是 利用SqlServer資料庫的系統視圖sys sysindexes

在MS SQL Serverl資料庫中 每個數據表都在sys sysindexes系統表中擁有至少一條記錄 記錄中的rows 或rowcnt欄位會定時記錄表的記錄總數 注意是定時 這說明了用這個方法得到的總記錄數不是一個精確值 原因是MsSQL並不是實時更新該欄位的值 而是定時更新 但從實踐來看該值和精確值誤差不大 如果你希望快速粗略估算表的記錄總數 建議你採用該方法

SQL Server幫助文件對sys sysindexes系統視圖的說明為 當前資料庫中的每個索引和表在表中各對應一行 說了這么多 直接動手操作便一目瞭然

打開SQL Server 執行如下語句:

以下為引用的內容

useAdventureWorks

select id object_name(id) as tableName indid rows rowcnt

from sys sysindexes where indid in( )

lishixin/Article/program/SQLServer/201311/22343

Ⅸ sql 查詢某個庫中的每個表的記錄行數

最簡單的是這個:
select a.name as '表名',b.rows as '表數據行數'
from sysobjects a inner join sysindexes b
on a.id = b.id
where a.type = 'u'
and b.indid in (0,1)
order by b.rows desc
親測OK。

Ⅹ sql如何查詢一個表並統計表內的數據條數

其實使用select count(1) from Tablename就可以了,沒有必要在裡面寫欄位名的,這樣效率是最高的,後面你也可以跟上條件!

熱點內容
更新時間伺服器ip移動 發布:2024-11-08 09:39:13 瀏覽:218
存儲與網路的關系 發布:2024-11-08 09:37:42 瀏覽:558
php設置文件大小 發布:2024-11-08 09:36:37 瀏覽:515
ftp文件注釋 發布:2024-11-08 09:20:06 瀏覽:169
大疆上傳視頻 發布:2024-11-08 09:19:58 瀏覽:637
cwebservice文件上傳 發布:2024-11-08 09:09:18 瀏覽:583
王牌戰爭有沒有什麼和平的伺服器 發布:2024-11-08 09:01:36 瀏覽:375
centos7刪除文件夾 發布:2024-11-08 09:00:58 瀏覽:990
伺服器可以分成多個獨立的電腦嗎 發布:2024-11-08 08:56:15 瀏覽:202
如何運行gcc編譯的文件 發布:2024-11-08 08:51:49 瀏覽:499