mysql数据库查询问题

mysql数据库查询问题,第1张

原因是数据库的数据后面有不可见字符(例如空格、制表、回车等),用下面的语句可以验证:

SELECT CONCAT('[',c,']'),LENGTH(c) FROM abcd

这个语句对字段C的前后添加[]显示,如果有空格可能会显示出来,同时显示c的长度,如果比你看见的多,肯定有问题。

你的数据库需要使用下面的语句来修复:

UPDATE abcd SET c=TRIM(c)

要点:left join,right join,inner join

首先有如下两个表:

Student:

ID(int) Name(nvarchar)

1 a

2 b

3 c

4 d

5 e

6 f

Quiz:

ID(int) score(int)

1 60

2 70

4 80

6 90

8 100

9 30

内连接:(inner join)包括连接表的匹配行

select StudentName,Quizscore from Quiz inner join Student on StudentID=QuizID

Name score

a 60

b 70

d 80

f 90

左连接:(left join)包括连接表匹配行以及左连接表的所有行

select StudentName,Quizscore from Student left join Quiz on StudentID=QuizID

Name score

a 60

b 70

c null

d 80

e null

f 90

右连接:(right join)结果包括连接表的匹配行以及右连接表的所有行

select StudentName,Quizscore from Student right join Quiz on StudentID=QuizID

Name score

a 60

b 70

d 80

f 90

null 100

null 30

当然,也可以看出左连接也可以写成右连接的形式:

select StudentName,Quizscore from Student right join Quiz on StudentID=QuizID等价于

select StudentName,Quizscore from Quiz left join Student on StudentID=QuizID

select adeptname, sum( ifnull(bsellnum,0) ) from A a

left join B b

on adeptid=bselldeptid

group by adeptname ;

你可以新建一个连接表:

CREATE TABLE log_merge

(

dt DATETIME NOT NULL,

info VARCHAR(100) NOT NULL,

INDEX(dt)

) ENGINE = MERGE UNION = (log_1, log_2, log_3, log_4,log_99)

INSERT_METHOD = NO;

INSERT_METHOD选项,这个选项的可取值是NO、FIRST、LAST

然后使用select from log_merge就可以访问所有的表了。

知识点:

group by 汇总函数

sum/count函数

难点:

多条件汇总

答案:

%百分比,不要在sql中求,建议你用php取到结果,再算。

SELECT class,SUM(id), FROM 你的表名GROUP BY class,sign_date

其他:

你的json不是这样用的。要用php得到结果后,再用php_json来输出json格式。

要想知道每个数据库的大小的话,步骤如下:

1、进入information_schema

数据库(存放了其他的数据库的信息)

use

information_schema;

2、查询所有数据的大小:

select

concat(round(sum(data_length/1024/1024),2),'MB')

as

data

from

tables;

3、查看指定数据库的大小:

比如查看数据库home的大小

select

concat(round(sum(data_length/1024/1024),2),'MB')

as

data

from

tables

where

table_schema='home';

4、查看指定数据库的某个表的大小

比如查看数据库home中

members

表的大小

select

concat(round(sum(data_length/1024/1024),2),'MB')

as

data

from

tables

where

table_schema='home'

and

table_name='members';

php连接数据库服务器,然后选择使用的数据库名称为information_schema,然后执行查询就行了。看你问的这个问题应该不会不知道用php访问数据库吧。

如果你权限不够的话可能只能对特定的数据库的信息进行查询。

以上就是关于mysql数据库查询问题全部的内容,包括:mysql数据库查询问题、mysql数据库查询 *** 作、mysql数据库查询等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址:https://54852.com/sjk/9564214.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存