㈠ 如何查詢一個mysql資料庫中有多少個表
每個表都是三個物理文件,你可以查看數據目錄文件數量來計算表數量
㈡ sqlserver查詢資料庫中有多少個表
1、查詢SQL中的所有表:SelectTABLE_NAMEFROM資料庫名稱.INFORMATION_SCHEMA.TABLESWhereTABLE_TYPE='BASETABLE'執行之後,就可以看到資料庫中所有屬於自己建的表的名稱2、查詢SQL中所有表及列:Selectdbo.sysobjects.nameasTable_name,dbo.syscolumns.nameASColumn_nameFROMdbo.syscolumnsINNERJOINdbo.sysobjectsONdbo.syscolumns.id=dbo.sysobjects.idWhere(dbo.sysobjects.xtype='u')AND(NOT(dbo.sysobjects.nameLIKE'dtproperties'))3、在Sql查詢分析器,還有一個簡單的查詢方法:EXECsp_MSforeachtable@command1="sp_spaceused'?'"執行完之後,就可以看到資料庫中所有用戶表的信息4、查詢總存儲過程數:selectcount(*)總存儲過程數fromsysobjectswherextype='p'附:xtype類型D=默認值或DEFAULT約束F=FOREIGNKEY約束L=日誌FN=標量函數IF=內嵌表函數P=存儲過程PK=PRIMARYKEY約束(類型是K)RF=復制篩選存儲過程S=系統表TF=表函數TR=觸發器U=用戶表UQ=UNIQUE約束(類型是K)V=視圖X=擴展存儲過程另:在sqlserver中取得某個資料庫中所有表名的sql語句selectsysobjects.namefromsysobjects.xtype='U';SELECTnameWHERE(xtype='U')在資料庫的sysobjects表裡有這個資料庫全部表的信息,xtype值為'U'的就是表名注意:一般通過上述方法獲得全部用戶表示都會有一個dtproperties表,SQLSERVER默認它也是用戶表,想要從用戶表中排出,需要加上限定條件status>0,即:select*fromsysobjectswherextype='U'andstatus>0
㈢ oracle資料庫怎麼查詢某個表有多少個欄位
1、創建測試表,
create table test_cols(id varchar2(20),remark varchar2(20),ex_filed1 varchar2(20),ex_filed2 varchar2(20));
㈣ DB2中如何查詢一個資料庫中有多少張表
資料庫中還有大量系統表的,所以我覺得你查某些模式下的表比較好:
select count(*) from syscat.tables where tabschema='GP'
GP為某用戶模式。
當然也可以用
select count(*) from syscat.tables where tabschema='GP'
查出所有表的數量。
再查出有多少張系統表,就是在SYSIBM、SYSTOOLS下的表數目。相減就可以了。
我用的是DB2 V9.7。
㈤ sql如何查詢dsn下有多少個資料庫
方法:1、使用SQL自帶的管理工具進行查看。2、在查詢分析器/能執行SQL命令的程序中執行下面的代碼,可以查詢到當前實例中所有資料庫。
SQLServer是一個關系資料庫管理系統。SQLServer2005是Microsoft公司近年來具有里程碑性質的企業級資料庫產品,是新一代的數據管理與分析軟體。
㈥ mysql快速查詢資料庫中有多少條數據
今天主要復習了MySQL的一些簡單語句,可總結:
mysql 統計 表的數量:SELECT COUNT(1) FROM information_schema.TABLES WHERE TABLE_SCHEMA = '你的資料庫';
有時候需要查詢MySQL資料庫中各個表大小,該如何操作呢?
MySQL中有一個名為 information_schema 的資料庫,在該庫中有一個 TABLES 表,這個表主要欄位分別是:
TABLE_SCHEMA : 資料庫名
TABLE_NAME:表名
ENGINE:所使用的存儲引擎
TABLES_ROWS:記錄數
DATA_LENGTH:數據大小
INDEX_LENGTH:索引大小
use information_schema;
SELECT
TABLE_NAME,
(DATA_LENGTH/1024/1024) as DataM ,
(INDEX_LENGTH/1024/1024) as IndexM,
((DATA_LENGTH+INDEX_LENGTH)/1024/1024) as AllM,
TABLE_ROWS
FROM
TABLES
WHERE
TABLE_SCHEMA = '你的資料庫';
MySQL的一些基礎語句:
行是記錄 列是欄位
創建庫
CREATE DATABASE [IF NOT EXISTS] 資料庫名 [參數[ 參數] [ 參數]...];
參數:
CHARACTER SET 碼表名
COLLATE 校對規則名, 詳見文檔10.10.1
顯示庫
SHOW DATABASES;
顯示資料庫創建語句
SHOW CREATE DATABASE 資料庫名;
修改庫
ALTER DATABASE 資料庫名[ 參數[ 參數][ 參數]...];
注意: 不能改資料庫的名字
刪除庫
DROP DATABASE [IF EXISTS] 資料庫名;
操作表之前使用需要先確定使用哪個資料庫
USE 資料庫名
創建表
CREATE TABLE 表名(列名 類型[,列名 類型][,列名 類型]...);
查看所有表
SHOW TABLES;
查看錶的創建語句
SHOW CREATE TABLE 表名;
顯示表結構
DESC 表名;
修改表名
RENAME TABLE 原表名 TO 新表名;
修改字元集
ALTER TABLE 表名 CHARACTER SET 字元集名;
刪除表
DROP TABLE 表名;
追加列
ALTER TABLE 表名 ADD 列名 類型[,列名 類型][,列名 類型]...;
修改列類型
ALTER TABLE 表名 MODIFY 列名 類型[,列名 類型][,列名 類型]...;
修改列
ALTER TABLE 表名 CHANGE COLUMN 原列名 新列名 類型;
刪除列
ALTER TABLE 表名 DROP 列名;
插入語法:
INSERT INTO 表名[(列名[,列名]...)] VALUES(值[,值]...);
注意事項:
插入值類型必須與對應列的數據類型一致
數據不能超出長度
插入值得為之必須與列名順序一致
字元和日期數據要放在單引號中
插入空值使用null
如果不指定插入哪一列, 就是插入所有列
中文數據
由於默認碼表是utf8, 而cmd.exe的碼表是gbk, 在插入中文數據的時候會報錯, 所以我們需要修改客戶端碼表
先查看系統變數: SHOW VARIABLES LIKE 'character%';
修改客戶端碼表: SET character_set_client=gbk;
修改輸出數據的碼表: SET character_set_results=gbk;
修改語法
UPDATE 表名 SET 列名=值[,列名=值]...[WHERE 條件語句];
注意事項
WHERE子句選擇滿足條件的行進行更新, 如果不寫, 則更新所有行
刪除語法
DELETE FROM 表名 [where 條件語句]
注意事項
如果不加where子句, 將刪除表中所有記錄
delete只能用作刪除行, 不能刪除某一列的值, 需要用update
在delete和update的時候需要注意表與表之間的關聯關系
刪除表中所有數據可以使用: TRANCATE 表名, 這種方式會刪除舊表重新創建, 在數據較多的時候使用
備份資料庫
輸入quit退出mysql, 在cmd.exe中輸入:
mysqlmp –u用戶名 –p密碼 資料庫名 > 文件名
恢復資料庫
進入mysql.exe之後, 使用資料庫之後
source 文件名
操作數據(查詢)
DISTINCT語法
SELECT [DISTINCT] 列名[, 列名]... FROM 表名
注意事項
*可以替代列名, 表示所有列, 但是通常我們為了提高代碼的可讀性, 不使用*
DISTINCT為過濾重復記錄
如果DISTINCT後面跟多列, 是過濾掉多列合並之後的重復
列名表達式——語法
SELECT 列名|表達式[,列名|表達式]... FROM 表名
注意事項
表達式只是顯示時起作用, 不會改變資料庫中的值
AS——
SELECT 列名 AS 別名 FROM 表名
注意事項
起別名時AS可以省略
不會改變資料庫中的值
WHERE——
語法
SELECT 列名 FROM 表名 [WHERE 條件語句]
WHERE子句中的運算符
比較運算符
>, <, >=, <=, =, <>
注意不等於和Java中不同, 是<>
BETWEEN ... AND ...
某一區間內的值, 從 ... 到 ...
IN(列表)
在列表之中, 例: in(1,2,3) 代表1或2或3
LIKE(表達式)
模糊查詢, %代表多個字元, _代表單個字元
IS NULL
判斷是否為NULL
邏輯運算符
AND &&
與, 兩邊都為TRUE結果為TRUE
OR ||
或, 一邊為TRUE結果就為TRUE
NOT !
非, 將表達式結果取反
ORDER BY——
語法
SELECT 列名 FROM 表名 ORDER BY 列名 ASC|DESC;
注意事項
ORDER BY 指定排序的列名可以是表中的列名, 也可以是SELECT語句後面起的別名
ASC為升序, DESC為降序
ORDER BY應在查詢語句的結尾
COUNT函數——
語法
SELECT COUNT(*)|COUNT(列名) from 表名 [WHERE 條件語句]
注意事項
COUNT(列名)的方式是統計指定列中有多少條記錄, 不包括值為NULL的
COUNT(*)則是統計表中有多少條數據
COUNT(DISTINCT 列名) 統計不重復的記錄數
如果加上WHERE子句, 則是統計滿足條件的記錄