mysql 为什么左连接,左表内容显示不全?高手指点

mysql 为什么左连接,左表内容显示不全?高手指点,第1张

这个需要你对左连接有更高的理解了!同时你也使用了分组聚合了一部分行集合,少是必然的!

sql的执行一般过程,第一步是构建集合,然后是筛选,然后是分组,之后是分组计算 最后是排序,执行谓词,io 输出 等。

构建集合后 执行 where 或 连接的条件 就是筛选数据,这个就限定了集合。所以你筛选后的条件就决定了你的数据不是全面的。

你可以把条件全部去掉看看!

分组就是把相同的合并成独立的行集,所以这个也减少了数据!

不懂在问!

唔,屏幕那么小,你还想全部显示吗...一次显示一部分也可以的吧,还有就是能导入到文件中去看,都能解决你的问题。

假如你的数据库名:test_db,有300张表。

解决方法一:

USE information_schema

SELECT TABLE_NAME

FROM information_schema.TABLES

WHERE TABLE_SCHEMA='test_db'

ODER BY TABLE_NAME

LIMIT 0,30    #30表示一次查多少,这个可以自己看着改啦

再来一次

SELECT TABLE_NAME

FROM information_schema.TABLES

WHERE TABLE_SCHEMA='test_db'

ODER BY TABLE_NAME

LIMIT 30,30

...

运行个10次,到LIMIT 270,30就把全部表都显示了一遍。

解决方法二:

唔,我觉得方法一不靠谱,还是这个办法给力...

SELECT TABLE_NAME

FROM information_schema.TABLES

WHERE TABLE_SCHEMA='test_db'

INTO OUTFILE 'd:/tmp/test_db_all_tables.xls'

-- 把表名都导进excel里了,方便进行各种查看...

效果图:

① 首先把MySQL的服务停掉 在运行窗口输入:net stop mysql

② 把服务器和客户端的字符集改成自己想用的字符集:GB2312或是utf8等……

具体 *** 作为:打开mysql安装目录下的my.ini;

找到default-character-set,将其改为自己想用的字符集:GB2312或是utf8等……,要注意的是这里有两个default-character-set,用ctrl+f定位在文件最前面输入default就会找到,都要改过来;

③ 重启MySQL服务器,在运行窗口输入:net start mysql

④ 最重要的是一点是,到这里我们已经能够解决乱码问题了,可问题是我们依然还会出现乱码问题,这是因为我们现在的表被创建的时候用的是默认的字符集(latin1),所以这时候我们要把表删除,然后重建就可以了


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10872828.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-11
下一篇 2023-05-11

发表评论

登录后才能评论

评论列表(0条)

保存