sql查询所有表的记录数

sql server 查询所有表的记录数  


CREATE TABLE #temp
    (
      TableName VARCHAR(255) ,
      RowCnt INT
    ) 
EXEC sp_MSforeachtable 'INSERT INTO #temp SELECT ''?'', COUNT(*) FROM ?' 
SELECT  TableName ,
        RowCnt
FROM    #temp
ORDER BY TableName 
DROP TABLE #temp 

查询表

select * from 
sys.objects 
where type='U'

在 SQL Server 2005 中查询表结构及索引 
-- 1. 表结构信息查询 
-- ===================================================
-- 表结构信息查询
-- 邹建 2005.08(引用请保留此信息)
-- ====================================================
SELECT 
    TableName=CASE WHEN C.column_id=1 THEN O.name ELSE N'' END,
    TableDesc=ISNULL(CASE WHEN C.column_id=1 THEN PTB.[value] END,N''),
    Column_id=C.column_id,
    ColumnName=C.name,
    PrimaryKey=ISNULL(IDX.PrimaryKey,N''),
    [IDENTITY]=CASE WHEN C.is_identity=1 THEN N'√'ELSE N'' END,
    Computed=CASE WHEN C.is_computed=1 THEN N'√'ELSE N'' END,
    Type=T.name,
    Length=C.max_length,
    Precision=C.precision,
    Scale=C.scale,
    NullAble=CASE WHEN C.is_nullable=1 THEN N'√'ELSE N'' END,
    [Default]=ISNULL(D.definition,N''),
    ColumnDesc=ISNULL(PFD.[value],N''),
    IndexName=ISNULL(IDX.IndexName,N''),
    IndexSort=ISNULL(IDX.Sort,N''),
    Create_Date=O.Create_Date,
    Modify_Date=O.Modify_date
FROM sys.columns C
    INNER JOIN sys.objects O
        ON C.[object_id]=O.[object_id]
            AND O.type='U'
            AND O.is_ms_shipped=0
    INNER JOIN sys.types T
        ON C.user_type_id=T.user_type_id
    LEFT JOIN sys.default_constraints D
        ON C.[object_id]=D.parent_object_id
            AND C.column_id=D.parent_column_id
            AND C.default_object_id=D.[object_id]
    LEFT JOIN sys.extended_properties PFD
        ON PFD.class=1 
            AND C.[object_id]=PFD.major_id 
            AND C.column_id=PFD.minor_id
--             AND PFD.name='Caption'  -- 字段说明对应的描述名称(一个字段可以添加多个不同name的描述)
    LEFT JOIN sys.extended_properties PTB
        ON PTB.class=1 
            AND PTB.minor_id=0 
            AND C.[object_id]=PTB.major_id
--             AND PFD.name='Caption'  -- 表说明对应的描述名称(一个表可以添加多个不同name的描述)
    LEFT JOIN                       -- 索引及主键信息
    (
        SELECT 
            IDXC.[object_id],
            IDXC.column_id,
            Sort=CASE INDEXKEY_PROPERTY(IDXC.[object_id],IDXC.index_id,IDXC.index_column_id,'IsDescending')
                WHEN 1 THEN 'DESC' WHEN 0 THEN 'ASC' ELSE '' END,
            PrimaryKey=CASE WHEN IDX.is_primary_key=1 THEN N'√'ELSE N'' END,
            IndexName=IDX.Name
        FROM sys.indexes IDX
        INNER JOIN sys.index_columns IDXC
            ON IDX.[object_id]=IDXC.[object_id]
                AND IDX.index_id=IDXC.index_id
        LEFT JOIN sys.key_constraints KC
            ON IDX.[object_id]=KC.[parent_object_id]
                AND IDX.index_id=KC.unique_index_id
        INNER JOIN  -- 对于一个列包含多个索引的情况,只显示第1个索引信息
        (
            SELECT [object_id], Column_id, index_id=MIN(index_id)
            FROM sys.index_columns
            GROUP BY [object_id], Column_id
        ) IDXCUQ
            ON IDXC.[object_id]=IDXCUQ.[object_id]
                AND IDXC.Column_id=IDXCUQ.Column_id
                AND IDXC.index_id=IDXCUQ.index_id
    ) IDX
        ON C.[object_id]=IDX.[object_id]
            AND C.column_id=IDX.column_id
-- WHERE O.name=N'要查询的表'       -- 如果只查询指定表,加上此条件
ORDER BY O.name,C.column_id

MYSQL 查询表

use dbname;

show tables;


Oracle 查询

SELECT * FROM TABS; 查询所有表名,可能会查出系统表。
selectt.table_name from user_tab_comments t 查询所有表。

DESC table_name 查看所有列名

 

• 查询命令 包括SELECT命令

• DML命令 包括INSERT、DELETE、UPDATE命令

• DDL命令 包括CREATE、DROP、ALTER、RENAME、TRUNCATE命令

 

MYSQL语句,表的增删查改

insert intotable_name values ();--增加表中数据

 

Delete from  table_name;--删除表数据

 

UPDATE          table_name   SET  column_name=’  ’;

 

DROP TABLE table_name --删除新表

 

ALTER TABLE A RENAME TO B --修改表名

 

ALTER TABLE test  CHANGE COLUMN   address  address1 VARCHAR(10)-修改表列名

 

ALTER TABLE test ADD  COLUMNname VARCHAR (10); --添加表列

 

ALTER TABLE test DROP COLUMN name; --删除表列

 

ALTER TABLE test MODIFY address char(10) --修改表列类型

SHOW INDEX FROM    tableName      --查看索引   

 

 

Oracle 查询

1.     数据查询语句

select完整表达式

SELECT 表达式

FROM 表名

WHERE 条件

GROUP BY 列名

HAVING 条件

ORDER BY 表达式

SELECT[ * | all | column1,column2 ]

         From  table1 [ ,table2 ]

         [ WHERE condition ]

         [ GROUP BY column1 ]

         [ ORDER BY column2(asc,desc) ]—查询语句

 

2.删除表

DROP  TABLE databasename.table_name例:DROP  TABLE pubs.dbo.authors2

 

3 DELETE  删除表中数据

DELETE  FROM table_name [WHERE  condition]

例:DELETE FROM   products_tblWHERE  prod_ID = ‘1001’

 

4.UPDATE  更新已存在的数据

UPDATE  table_name  SET column_name = ‘value’[WHERE  condition]

例:UPDATE  products_tbl  SET prod_id = ‘1001’ WHERE  prod_desc = ‘coat’

 

5修改表结构语法:

ALTER TABLE old_table_name RENAME TOnew_table_name –修改表名

ALTERTABLE  table_name [modify][col_name  col_properties]

                      [add] [col_name  col_properties]

                      [drop][col_name  col_properties]

例:ALTER TABLE employee_tbl MODIFY(emp_id  varchar(10))

 

 

6.创建与删除基表

CREATE TABLE table_name

                           (col_name  col_properties  constraint

                           ……

                           )

CREATETABLE 表名 ( 字段名 类型,字段名 类型,...... )

table_name表名

col_name   列名

创建临时表:

CREATE TABLE # table_name

                           (col_name  col_properties  constraint

                           ……

                           )

7. 给表填充数据

语法:

INSERT  INTO  table_name VALUES(value1,value2,…...)

例:

products_tbl:prod_id varchar(10)

                                        prod_desc  varchar(25)

                                        cost  number(6,2)

输入数据:

INSERT INTO  products_tbl VALUES(‘7725’,’LEATHER’,26.99)   

 

8.Update已存在的数据

语法:

UPDATE table_name  SET column_name =‘value’  [WHERE condition]

例:UPDATE  products_tbl

                     SET prod_id = ‘1001’

                     WHERE prod_desc = ‘coat’

查看表中索引 :

selectt.*,i.index_type from user_ind_columns t,user_indexes i where t.index_name =i.index_name and

t.table_name='INTEGRATED_FLD_VIEW'

9. DELETE 删除表中数据

语法:

DELETE FROM  table_name

                             [WHERE condition]

例:DELETE FROM   products_tbl

                    WHERE  prod_ID = ‘1001’

10  Oracle查询用户所有表的语句

select * from all_tab_comments
-- 查询所有用户的表,视图等

select * from user_tab_comments  
-- 查询本用户的表,视图等

select * from all_col_comments
 

--查询所有用户的表的列名和注释.

select * from user_col_comments
-- 查询本用户的表的列名和注释

select * from all_tab_columns
--查询所有用户的表的列名等信息(详细但是没有备注).

select * from user_tab_columns
--查询本用户的表的列名等信息(详细但是没有备注).

--一般使用1:
select t.table_name,t.comments from user_tab_comments t

--一般使用2:
select r1, r2, r3, r5
from (select a.table_name r1, a.column_name r2, a.comments r3
          from user_col_commentsa),
       (select t.table_name r4, t.comments r5from user_tab_comments t)
where r4 = r1

以上就是oracle查询用户所有表的语句介绍。

如何在oracle中查询所有用户表的表名、主键名称、索引、外键等

1、查找表的所有索引(包括索引名,类型,构成列):    select t.*,i.index_type from user_ind_columns t,user_indexes i where t.index_name = i.index_name and t.table_name = i.table_name and t.table_name = 要查询的表   

selectt.*,i.index_type from user_ind_columns t,user_indexes i where t.index_name =i.index_name and t.table_name = 要查的表
 
2、查找表的主键(包括名称,构成列):    select cu.* from user_cons_columns cu, user_constraints au where cu.constraint_name = au.constraint_name and au.constraint_type = 'P' and au.table_name = 要查询的表     
3、查找表的唯一性约束(包括名称,构成列):    select column_name from user_cons_columns cu, user_constraints au where cu.constraint_name = au.constraint_name and au.constraint_type = 'U' and au.table_name = 要查询的表    
 
4、查找表的外键(包括名称,引用表的表名和对应的键名,下面是分成多步查询):    select * from user_constraints c where c.constraint_type = 'R' and c.table_name = 要查询的表     查询外键约束的列名:    select * from user_cons_columns cl where cl.constraint_name = 外键名称     查询引用表的键的列名:    select * from user_cons_columns cl where cl.constraint_name = 外键引用表的键名     
5
、查询表的所有列及其属性    select t.*,c.COMMENTS from user_tab_columns t,user_col_comments c where t.table_name = c.table_name and t.column_name = c.column_name and t.table_name = 要查询的表 

 

 

 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值