查询数据库中某个字段的sql语句怎么写

粗略地说,检查Oracle中字段的类型只需两步:使用SQL Workshp并正确编写命令。
这很困难,因为很容易写出错误的命令,尤其是对于初学者来说。

首先使用SQL Workshp创建一个新的DBA连接,点击Server->SQL Table。
当我们去年启动这个项目时,界面冻结了。
大约3 000个数据级别后速度很慢。
使用 F5 更新速度更快。
当您执行 SELECT FROM TABLE_NAME 时可以看到数据,但字段类型为空,这确实很混乱。

后来发现不对劲:单纯使用DESC TABLE_NAME就会报错。
关键是使用命令 SELECT columns_name, data_type FROM all_tab_columns WHERE table_name = 'TABLE_NAME'。
如果在您自己的用户下,请不要忘记将 all_tab_columns 替换为 user_tab_columns。
起初我以为 DESC 可以工作,但结果显示:“ORA-009 4 2 :表或视图不存在”等。
还有一件事:表名区分大小写!
最后,通过替换命令中的column_name,可以直接查看所有字段类型。
很多人不注意这一点。
为了避免出现问题,建议使用PL/SQL Developer,但这种方法是通用的。
您认为哪种工具使用起来更方便?

SQL中如何查看表的详细元数据信息

嘿,这个 SQL 表查找元数据信息相当完整......但听起来就像在阅读指导手册。
我们来谈谈实际操作吧?
上周,一个客户要求我使用MySQL查找表结构。
他就用DESC,很方便。
但后来我发现他想知道列注释,但 DESC 无法提供,所以他最终通过检查 information_schema.columns 来获取。
这让我想起了甲骨文。
DESCRIBE 只能查看基本信息。
如果您想查看评论,则需要选中 ALL_COL_COMMENTS。
每个数据库都有自己的行为。

psql中必须使用PostgreSQL的d命令。
上次在远程服务器上操作的时候,忘记先进入psql环境了。
结果我输入表名d直接报错。
这很烦人。
sp_help SQLServer返回的信息很多,包括索引等,但都是文本格式,处理起来有点麻烦。
使用INFORMATION_SCHEMA.COLUMNS来查询是标准的,但是我在SQL Server上尝试过,感觉比直接使用sys.columns慢。

最大的问题是真相问题!我在上海项目中找到的。
当我使用information_schema查看MySQL表时,直接报“Access Denied”。
问了DBA后发现环境权限控制得很严格,需要申请SELECT_privilege来检查。
我再次使用了 Oracle 的 ALL_TAB_COLUMNS,但由于该表位于另一个模式中,因此我找不到它。
我花了很长时间才弄清楚这是一个大小写问题——Oracle表名默认是大写的!如果不是读错了日志,我真的不知道什么时候去检查。

说实话,虽然这些系统的视图是标准的,但它们的性能确实令人失望。
上次在测试环境下用information_schema查一个几万行的表,速度太慢了,我怀疑数据库是不是用浏览器打开的。
然后,我切换到 sys.columns (SQLServer),它变得更快。
所以我的建议是,如果你只是想快速查看结构,就使用 DESC 或 sp_help 即可。
如果您确实想要完整的信息,请先询问 DBA 它的性能如何。
如果没有,请考虑保存搜索结果。

我也遇到过动态 SQL 的问题。
有一次我想写一个通用的报表脚本,根据元数据动态输入SQL,但忘记处理数据类型转换。
导出的报告的数字列都是文本,这很有趣。
因此,在编写此类脚本时,不要完全依赖元数据。
一些固定的格式还是需要手动编写。

无论如何,检查元数据看起来很容易,但使用它时需要注意各种细节。
如果您想快速入门,请先尝试 DESC 或 sp_help。
要获取全面的信息,请添加 information_schema 或系统视图,但请记住首先验证权限和性能影响。

如何查询sql server表字段类型

2 02 3 年,朋友问如何查看SQL Server中的字段类型。
我告诉他两个方法。

方法一、使用图形界面: 1 . 登录SQL Server Manager Studio中的数据库。
2 . 在左侧找到您要查看的表格,然后单击其前面的“+”号。
3 . 单击“列”前面的“+”号。
4 . 然后您可以看到您要检查的字段类型。

方法二、使用语句查询:
select表名a.name、字段名b.name、字段类型c.name、字段长度c.length 来自 sysobjects a、syscolumns b、systypes c 其中a.id=b.id and a.name='student' and a.xtype='U' and b.xtype=c.xtype
他非常满意,说这两种方法他都学会了。
算了,我在想别的事。
这两个方法都是用来检查student表的。
如果要检查其他表,则必须重命名该表。
由你决定。