mySQL中如何查询指定的表中是否存在某个列?

我有一张表叫“users"需要判断这个表中是否存在"user_id"这个字段,请给我写一sql语句,谢谢... 我有一张表叫 “users" 需要判断这个表中是否存在 "user_id" 这个字段,请给我写一sql语句,谢谢 展开
 我来答
freechan10
2019-11-14 · TA获得超过2.9万个赞
知道小有建树答主
回答量:263
采纳率:68%
帮助的人:12.8万
展开全部

1、创建数据库表,create table test_users(user_id bigint, user_name varchar(100));

2、查看系统视图tables,在系统视图中可以查到刚建的数据表,select * from information_schema.tables t where table_name = 'test_users',

3、查看系统视图columns,在系统视图中可以查到该表所有的字段,select * from information_schema.columns t where table_name = 'test_users',

4、查询表中不存在的字段,执行无返回结果,

select * from information_schema.columns t 

 where table_name = 'test_users' 

and column_name = 'user_id2'

匿名用户
推荐于2017-11-26
展开全部

mysql> SELECT COLUMN_NAME, DATA_TYPE, IS_NULLABLE, COLUMN_DEFAULT
    -> FROM
    ->   INFORMATION_SCHEMA.COLUMNS
    -> 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 (0.00 sec)


通过上面这个 sql 语句, 能明白么?

就是查询 INFORMATION_SCHEMA.COLUMNS

条件是  表名称是  test_main,  数据库是  test  的所有列的信息。


如果你要查询某些是否存在, 那么再多加一个条件   and  COLUMN_NAME  =  '你指定的列名称'

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式