牛客数据库百余道题题后总结归纳
1、使用count(*)对表中的行数进行计数,此种用法不忽略null值;2、使用count(column)对特定列中具有值的行进行计数,此种用法忽略null值。('' 这种只是没有实际的值,不是null(空))
2.<> 符号与 != 没有区别。
3.删除视图应该使用DROP VIEW进行
4.select into from 要求目标表不存在,因为在插入时会自动创建。insert into select from 要求目标表存在
INSERT INTO 语句用于向一张表中插入新的行。
SELECT INTO 语句从一张表中选取数据插入到另一张表中。常用于创建表的备份数据。
5.使用GROUP BY后COUNT应该写在HAVING后
6.Mysql(版本8.0.25)不支持full join
7.STUFF(原字符, 开始位置, 删除长度, 插入字符)
从指定的起点处开始删除指定长度的字符,并在此处插入另一组字符
8.回收表的操作功能语句revoke ... on ... from
9.@IDENTITY:返回自增id
10.coalesce函数,返回第一个非空值,如果都是空,返回空值
11.sql语句的执行过程是:from-->join-on-->where-->group by-->having-- > select-- > distinct--- >order by --> select; 聚合函数是针对结果集进行的,但where是在查询出结果集之前进行筛选,所以聚合函数和where一起使用,会出现错误, having是针对结果集做筛选的,所以把聚合函数和group by搭配,用having来代替where,having一般跟在group by后
12.in()和between.and的区别
in (xx,xx,xx,...) 通常是不连续的
BETWEEN AND 注意是闭区间 比方说 BETWEEN 1 AND 199,是1-199,含1和199
13.事务的特性
原子性:事务是最小的执行单位,不允许分割;
一致性:执行事务前后,数据保持一致,对同一数据读取的结果相同;
持久性:一个事务被提交后,对数据库中数据的改变是持久的;
隔离性:并发访问数据库时,各并发事务之间数据库是独立的。
事务隔离性存在隔离级别。理论存在4个级别。读未提交,读已提交。可重复读。序列化(串行化)。
14.索引会提高查询速度 但不会提高更新表的速度
因为更新表时,MySQL不仅要更新数据,保存数据,还要更新索引,保存索引,索引会占用磁盘空间。
15.授权查询的语句是grant...to,CUSTOMERS是对表的列授权。
16.ROUND() 函数用于把数值字段舍入为指定的小数位数;TRUNCATE() 函数是按照小数位数进行数值截取,没有四舍五入。
17.sql注入(兴趣了解)
18.索引的特性
唯一索引不允许两行具有相同的索引值,包括NULL值,允许有空值;每个表只允许有一个全文索引;为提高效率可建立组合索引,遵循“最左前缀”原则
19.join与inner join同义,相同的key匹配上时会产生笛卡尔积(就是把俩表结合起来)
20.inner join意思是左右表中的birth、name都不为NULL时才会匹配上
21.从一张表复制数据到另一张表
insert into表名(字段1,字段2...) values(数据1,数据2...)
select列名 from 数据表名
22.索引的组织方式是B+树索引,还是Hash索引与数据库的内模式有关
23.null字段的 遇到count 不参与计数
24.字段名可以用~(数字1旁边的符号)括起来,但是不能用''(单引号)括起来
25.SQL中显式事务和隐式事物的区别
隐式事务:在连接的基础上,每一条语句都以单独事务运行。(如SELECT、INSERT、UPDATE和DELETE)
显式事务:存在开始/结束标志,例如: BEGIN TRANSACTION ...具体事务
END TRANSACTION。
26.可串行性是判断并发事务是否正确的准则
27.返回查询值不能用‘=’(子表元素大于1),要用in
28.having和order by 之后接字段的别名即可
29.分别查看&结果不去重使用union all
30.如CASE .. WHEN age>=25 THEN .. WHEN age>=20 THEN .. ELSE .. END 不会冲突,因为满足一个when之后就不会进入下一条件
32.从某字段截取目标字符串substring_index(string,sep,num),sep:分隔符;num:序号,为非0整数。从左到右序号为1;从右开始获取则序号为-1
33.count()没有判断功能可加成count(if () )
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)