當前位置:首頁 » 編程語言 » sql查表名
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql查表名

發布時間: 2022-11-17 05:51:35

① 如何查詢sql的表名

oracle的
select*fromdba_tab_cols

② SQL 查表名

你是說用戶表。
查詢所有表名:
SELECT NAME FROM SYSOBJECTS WHERE TYPE='U'

查詢所有內容中包含某字串的表:
EXEC Full_Search '要查的字串'

贈送資料庫表內容全文查找存儲過程:

CREATE proc Full_Search(@string varchar(50))
as
begin

declare @tbname varchar(50)
declare tbroy cursor for select name from sysobjects
where xtype= 'u ' --第一個游標遍歷所有的表

open tbroy
fetch next from tbroy into @tbname
while @@fetch_status=0
begin

declare @colname varchar(50)
declare colroy cursor for select name from syscolumns
where id=object_id(@tbname) and xtype in (
select xtype from systypes
where name in ( 'varchar ', 'nvarchar ', 'char ', 'nchar ') --數據類型為字元型的欄位
) --第二個游標是第一個游標的嵌套游標,遍歷某個表的所有欄位

open colroy
fetch next from colroy into @colname
while @@fetch_status=0
begin

declare @sql nvarchar(1000),@j int
select @sql= 'select @i=count(1) from ' +@tbname + ' where '+ @colname+ ' like '+ '''%'+@string+ '%'''
exec sp_executesql @sql,N'@i int output',@i=@j output --輸出滿足條件表的記錄數
if @j> 0
exec( 'select distinct 表名='''+@tbname+''','+@colname+ ' from ' +@tbname + ' where '+ @colname+ ' like '+ '''%'+@string+ '%''')

fetch next from colroy into @colname
end

close colroy
deallocate colroy

fetch next from tbroy into @tbname
end
close tbroy
deallocate tbroy
end

GO

③ 查詢mysql資料庫中所有表名

使用select命令,可以查詢所有表名

寫法如下:

selecttable_namefrominformation_schema.tableswheretable_schema='當前資料庫'

(3)sql查表名擴展閱讀

其它用法

1、使用SHOW語句找出在伺服器上當前存在什麼資料庫:

mysql> SHOW DATABASES;

2、創建一個資料庫MYSQLDATA

mysql> CREATE DATABASE MYSQLDATA;

3、選擇你所創建的資料庫

mysql> USE MYSQLDATA; (按回車鍵出現Database changed 時說明操作成功!)

4、查看現在的資料庫中存在什麼表

mysql> SHOW TABLES;

5、創建一個資料庫表

mysql> CREATE TABLE MYTABLE (name VARCHAR(20), sex CHAR(1));

6、顯示表的結構:

mysql> DESCRIBE MYTABLE;

7、往表中加入記錄

mysql> insert into MYTABLE values (」hyq」,」M」);

8、用文本方式將數據裝入資料庫表中(例如D:/mysql.txt)

mysql> LOAD DATA LOCAL INFILE 「D:/mysql.txt」 INTO TABLE MYTABLE;

9、導入.sql文件命令(例如D:/mysql.sql)

mysql>use database;

mysql>source d:/mysql.sql;

④ SQL如何查找一條數據的表名

基本無法找,列名都不知道,怎麼匹配呢?要是有重復的數據怎麼篩選呢?
如果實在是要找也行,但是需要時間很長
具體的操作就是:
1、查詢資料庫表
2、循環根據表查詢欄位,並拼接sql
拼接sql類似於:
select
*
from
table
where
column1
like
'%數據%'
or
column2
like
'%數據%'
or
column3
like
'%數據%'
……
3、如果匹配成功,便將表名存入臨時表或者表變數中(當然在此之前需要建立臨時表或表變數)
4、完成循環後,讀取臨時表或者表變數,這就是你要找的表
5、如果要進一步篩選欄位,則需要下一步動作,循環找到列名,也可以在表循環的時候嵌套循環處理,但是建議不要嵌套循環
欄位的尋找和表的尋找類似
sql要寫就太多,就不寫啦

⑤ 查詢到當前用戶下所有的表名,SQL語句怎麼寫

1、查詢用戶下的所有表
select
distinct
table_name
from
user_tab_columns;
===僅顯示一列表名。
2、查找用戶下的所有表:select
*
from
tab;
--查詢該用戶下的所有表及視圖(顯示表名tname,
類型tabname和clusterid)

⑥ 如何用SQL語句查詢表名和行數

//查詢所有表明
select name from sysobjects where xtype='u'

select * from sys.tables

//查詢資料庫中所有的表名及行數

SELECT a.name, b.rows

FROM sysobjects AS a INNER JOIN sysindexes AS b ON a.id = b.id

WHERE (a.type = 'u') AND (b.indid IN (0, 1))

ORDER BY a.name,b.rows DESC

//查詢所有的標明及空間佔用量\行數

select

object_name(id) tablename,

8*reserved/1024 reserved,

rtrim(8*dpages)+'kb' used,

8*(reserved-dpages)/1024 unused,

8*dpages/1024-rows/1024*minlen/1024 free,

rows

--,*

from sysindexes

where indid=1

order by tablename,reserved desc

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

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

⑧ 怎麼用Sql語句獲取一個資料庫中的所有表的名字

在程序中通過sql語句查詢來獲得某個資料庫的所有表名,代碼如下:

SELECT

table_name

FROM

information_schema.tables

WHERE table_schema = 'mydatabasename'

AND table_type = 'base table'

(8)sql查表名擴展閱讀

1,利用sys.tables目錄視圖查詢所有表的名字,sys.tables目錄視圖為每個表對象返回一行. 示例語句如下:

select * from sys.tables

注意:sys.tables目錄視圖也只有在SQL SERVER2005及以上的版本中才能使用。

2,利用存儲過程sp_tables sp_tables存儲過程,可返回可在當前環境中查詢的對象列表。這代表可在FROM子句中出現的任何對象。 我們可以執行如下語句:

exec sp_tables

在結果集中篩選出所有TABLE_TYPE等於TABLE的記錄就是表信息了。

⑨ 如何用sql語句,查詢所有表的名字(Oracle)

使用dba_tables,all_tables等都可以,如查找USERS表空間下的所有表:
select
owner,table_name,tablespace_name
from
all_tables
where
tablespace_name='USERS'