在测试时,想要过滤查询某个数据库内的表名 只包含 '_autest' 字符,在网上查了下 如何查询整个数据库表的 SQL语句 如下:
查询数据库里所有表名和字段名的语句
SQL 查询所有表名:
SELECT NAME FROM SYSOBJECTS WHERE TYPE='U' and name like '%_autest%'
SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME like '%_autest%'
查询表的所有字段名:
SELECT NAME FROM SYSCOLUMNS WHERE ID=OBJECT_ID(' 表名' )
SELECT * FROM INFORMATION_SCHEMA.TABLES
SELECT * FROM INFORMATION_SCHEMA.VIEWS
SELECT * FROM INFORMATION_SCHEMA.COLUMNS
ORACLE 查看所有表名:
SELECT TABLE_NAME FROM USER_TABLES
ACCESS 查看所有表名:
SELECT NAME FROM MSYSOBJECTS WHERE TYPE=1 AND FLAGS=0
MSYSOBJECTS 是系统对象,默认情况是隐藏的。通过工具、选项、视图、显示、系统对象可以使之显示出来。
字段类型 | 中文说明 | 限制条件 | 其它说明 |
CHAR | 固定长度字符串 | 最大长度2000 bytes | |
VARCHAR2 | 可变长度的字符串 | 最大长度4000 bytes | 可做索引的最大长度749 |
NCHAR | 根据字符集而定的固定长度字符串 | 最大长度2000 bytes | |
NVARCHAR2 | 根据字符集而定的可变长度字符串 | 最大长度4000 bytes | |
DATE | 日期(日- 月- 年) | DD-MM-YY (HH-MI-SS ) | 经过严格测试,无千虫问题 |
LONG | 超长字符串 | 最大长度 2G (231 -1 ) | 足够存储大部头著作 |
RAW | 固定长度的二进制数据 | 最大长度2000 bytes | 可存放多媒体图象声音等 |
LONG RAW | 可变长度的二进制数据 | 最大长度 2G | 同上 |
BLOB | 二进制数据 | 最大长度 4G | |
CLOB | 字符数据 | 最大长度 4G | |
NCLOB | 根据字符集而定的字符数据 | 最大长度 4G | |
BFILE | 存放在数据库外的二进制数据 | 最大长度 4G | |
ROWID | 数据表中记录的唯一行号 | 10 bytes ********.****.**** 格式,* 为0 或1 | |
NROWID | 二进制数据表中记录的唯一行号 | 最大长度4000 bytes | |
NUMBER(P,S) | 数字类型 | P 为整数位,S 为小数位 | |
DECIMAL(P,S) | 数字类型 | P 为整数位,S 为小数位 | |
INTEGER | 整数类型 | 小的整数 | |
FLOAT | 浮点数类型 | NUMBER(38) ,双精度 | |
REAL | 实数类型 | NUMBER(63) ,精度更高 |