1.如何查看 MySQL 的最大连接数?能不能修改?怎么修改?
查询 MySQL 最大连接数,使用如下命令:mysql> show variables like 'max_connections%';可以修改 MySQL 的最大连接数,可以在 MySQL 的配置文件 my.cnf 里修改最大连接数,通过修改 maxconnections 的值,然后重启 MySQL 就会生效,如果 my.ini 文件中没有找到 maxconnections,可自行添加 max_connections 的设置,内容如下:max_connections=200
2.CHAR_LENGTH 和 LENGTH 有什么区别?
CHARLENGTH 是字符数,而 LENGTH 是字节数。它们在不同编码下,值是不相同的,比如对于 UTF-8 编码来说,一个中文字的 LENGTH 为 1,而 CHARLENGTH 通常等于 3,如下图所示:
3.UNION 和 UNION ALL 的用途是什么?有什么区别?
UNION 和 UNION ALL 都是用于合并数据集的,它们的区别如下:
a.去重:UNION 会对结果进行去重,UNION ALL 则不会进行去重操作;
b.排序:UNION 会对结果根据字段进行排序,而 UNION ALL 则不会进行排序;
c.性能:UNION ALL 的性能要高于 UNION。
4.以下关于 WHERE 和 HAVING 说法正确的是?
A.任何情况 WHERE 和 HAVING 都可以相互替代
B.GROUP BY 前后都可以使用 WHERE
C.使用 SELECT X FROM T HAVING Y>20 查询报错
D.使用 SELECT X FROM T WHERE Y>20 查询报错
答:C,HAVING 非报错用法是 SELECT X,Y FROM T HAVING Y>20 。
5.空值和 NULL 的区别是什么?
空值表示字段的值为空,而 NULL 则表示字段没有值,它们的区别如下:
a.空值不占用空间,NULL 值是未知的占用空间;
b.空值判断使用 ='' 或 <>'' 来判断,NULL 值使用 IS NULL 或 IS NOT NULL 来判断;
c.使用 COUNT 统计某字段时,如果是 NULL 则会忽略不统计,而空值则会算入统计之内。比如,其中字段 name 有两个 NULL 值和一个空值
6.MySQL 的常用函数有哪些?
sum(field) – 求某个字段的和值;
count(*) – 查询总条数;
min(field) – 某列中最小的值;
max(field) – 某列中最大的值;
avg(field) – 求平均数;
current_date() – 获取当前日期;
now() – 获取当前日期和时间;
concat(a, b) – 连接两个字符串值以创建单个字符串输出;
datediff(a, b) – 确定两个日期之间的差异,通常用于计算年龄。