Oracle 例子:
SQL> SELECT
2 column_name
3 FROM
4 all_tab_columns
5 WHERE
6 table_name = 'SALE_REPORT';
COLUMN_NAME
------------------------------------
SALE_DATE
SALE_ITEM
SALE_MONEY
SQL Server 例子:
SELECT
colname AS 列名,
typname as 数据类型,
colmax_length AS 占用字节数,
colprecision AS 数字长度,
colscale AS 小数位数,
colis_nullable AS 是否允许非空,
colis_identity AS 是否自增,
case when exists
( SELECT 1
FROM
sysindexes idx
join sysindex_columns idxCol
on (idxobject_id = idxColobject_id)
WHERE
idxobject_id = colobject_id
AND idxColindex_column_id = colcolumn_id
AND idxis_primary_key = 1
) THEN 1 ELSE 0 END AS 是否是主键
FROM
syscolumns col left join systypes typ on (colsystem_type_id = typsystem_type_id AND coluser_type_id = typuser_type_id)
WHERE
colobject_id =
(SELECT object_id FROM systables WHERE name = 'test_table')
MySQL 例子:
mysql> SELECT COLUMN_NAME, DATA_TYPE, IS_NULLABLE, COLUMN_DEFAULT
-> FROM
-> INFORMATION_SCHEMACOLUMNS
-> WHERE
-> table_name = 'test_main'
-> AND table_schema = 'test'
-> //
+-------------+-----------+-------------+----------------+
| COLUMN_NAME | DATA_TYPE | IS_NULLABLE | COLUMN_DEFAULT |
+-------------+-----------+-------------+----------------+
| id | int | NO | 0 |
| value | varchar | YES | NULL |
+-------------+-----------+-------------+----------------+
2 rows in set (000 sec)
使用sys用户查询
select name from v$database;
v$database视图是当前数据库实例的各种信息,其中包括
Name --数据库名称
created --创建日期
RESETLOGS_CHANGE --重置日志的次数",
RESETLOGS_TIME --打开重置日志的时间
PRIOR_RESETLOGS_CHANGE# --在上一次重置日志时的SCN值
PRIOR_RESETLOGS_TIME --上一次重置日志的时间
等等
1、在计算机中,打开Oracle的连接程序,用新建的数据库管理员,进入Oracle控制的窗口上,鼠标左键单击服务器按钮,并选择SQL工作表,如下图所示。
2、接着,在Oracle服务器的窗口上,在输入窗口中输入SQL查询语句,并单击执行按钮,可以看到表格当前的数据,但是没有显示出字段类型,如下图所示。
3、 然后,在SQL工作表的窗口上,输入查询表格的字段类型的SQL语句,可以作为参考,如下图所示。
4、接着,在SQL工作表的窗口上,输入查询表格的字段类型的SQL语句,并单击执行按钮,在提示窗口中,显示出错误类型,如下图所示。
5、然后,在SQL工作表的窗口上,修改查询表格的字段类型的SQL语句,添加列名的关键字,并单击执行按钮。可以看到SQL语句执行成功的提示信息,如下图所示。
6、最后,在SQL工作表的窗口上,通过查询表格的字段类型的SQL语句,可以看到表格中字段的字段类型了,如下图所示。通过这样的 *** 作就学会了在Oracle数据库中查询表格的字段类型了。
查询MySQL数据库所有表名的SQL命令:
show tables;
查询MySQL数据库有表结构的SQL命令:
show create table tblName;
例如:show create table students;
CREATE TABLE `students` (
`sid` char(10) NOT NULL,
`sname` varchar(50) NOT NULL,
`sex` char(1) NOT NULL,
`dob` date NOT NULL,
`phone` varchar(30) DEFAULT NULL,
PRIMARY KEY (`sid`),
KEY `index_tbl1_url` (`phone`(20))
) ENGINE=InnoDB DEFAULT CHARSET=gb2312
用union,举例有s1表(a,b,c,d)和s2表(a,c,d,e)和s3表(f,g),里头的字段不同,但在逻辑上有关系
(如有
s1b=s2e
s1a=s3f
s1b=s3g)
示例如下:
------------------------------------------------------------------------------
select
s1a
as
x,s1b
as
y,s1c
as
z
from
s1
union
select
s2a
as
x,s2e
as
y,s2c
as
z
from
s2
union
select
s3f
as
x,s3g
as
y,''
as
z
from
s3
------------------------------------------------------------------------------
最终结果会是三张表的和,如果s1有10条记录,s2有3条记录,s3有4条记录,则执行本sql后会得到17条记录,其中来自s3表的数据,第三列一定为空的。
在程序中通过sql语句查询来获得某个数据库的所有表名,代码如下:
SELECT
table_name
FROM
information_schematables
WHERE table_schema = 'mydatabasename'
AND table_type = 'base table'
扩展资料
1,利用systables目录视图查询所有表的名字,systables目录视图为每个表对象返回一行 示例语句如下:
select from systables
注意:systables目录视图也只有在SQL SERVER2005及以上的版本中才能使用。
2,利用存储过程sp_tables sp_tables存储过程,可返回可在当前环境中查询的对象列表。这代表可在FROM子句中出现的任何对象。 我们可以执行如下语句:
exec sp_tables
在结果集中筛选出所有TABLE_TYPE等于TABLE的记录就是表信息了。
参考资料:
百度百科 systables
以上就是关于有没有 能够用sql 语句查询数据库列的名字全部的内容,包括:有没有 能够用sql 语句查询数据库列的名字、oracle中如何用sql语句显示当前的数据库名称、查询数据库中某个字段的sql语句怎么写等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)