SQL数据库
关于数据库的详细整理
Monika、
加油,做最好的自己!
展开
-
数据库中常见面试题整理
一、 数据库三范式是什么?第一范式(1NF):字段具有原子性,不可再分。(所有关系型数据库系统都满足第一范式数据库表中的字段都是单一属性的,不可再分)第二范式(2NF)是在第一范式(1NF)的基础上建立起来的,即满足第二范式(2NF)必须先满足第一范式(1NF)。要求数据库表中的每个实例或行必须可以被惟一地区分。通常需要为表加上一个列,以存储各个实例的惟一标识。这个惟一属性列被称为主关键字或主键。满足第三范式(3NF)必须先满足第二范式(2NF)。简而言之,第三范式(3NF)要求一个数据库表中不包含原创 2020-08-10 15:15:23 · 548 阅读 · 1 评论 -
史上最全 55道 MySQL面试题及答案,看完碾压面试官
1、一张表,里面有 ID 自增主键,当 insert 了 17 条记录之后,删除了第 15,16,17 条记录,再把 Mysql 重启,再 insert 一条记录,这条记录的 ID 是 18 还是 15 ?(1) 如果表的类型是 MyISAM,那么是 18因为 MyISAM 表会把自增主键的最大 ID 记录到数据文件里,重启 MySQL 自增主键的最大ID 也不会丢失(2)如果表的类型是 InnoDB,那么是 15InnoDB 表只是把自增主键的最大 ID 记录到内存中,所以重启数据库或者是对表进O原创 2020-07-21 15:14:29 · 1539 阅读 · 1 评论 -
MySQL中日期的查询和日期的运算操作
一、日期的操作1. 日期时间加法 - - ADDDATE(date,INTERVAL expr unit) 同 DATE_ADD(date,INTERVAL expr unit)date 要操作的日期时间,可以是日期类型也可以是日期字符串NTERVAL: MySQL关键字 ,意思是间隔,间隙unit 操作的单元,年,月,日,时,分,秒对应YEAR,MONTH,DAY,HOUR,MINUTE,SECONDexpr 想要增加或减少的时间单位。expr>0,增加,expr<0减少 S原创 2020-07-09 10:41:19 · 491 阅读 · 1 评论 -
MySQL中日期类型和日期字符串的相互转换
一、日期字符串的转化方式常用的时间格式化占位符如下:%Y 年,四位数字%y 年,后两位数字%m 月 ,数字[1-12]%d 日,月份里的第几天,两位数字[1-31]%H 小时,24进制 [0-23]%h 小时,12进制[0-11]%i 分钟 [0-59]%s | %S 秒 0-59二、日期转字符串的方式DATE_FORMAT(date,pattern) // 将日期转化为指定模式的字符串 select DATE_FORMAT(now(),'%Y-%m-%d'原创 2020-07-09 09:32:38 · 368 阅读 · 0 评论 -
sql语句的优化方案
1.查询的模糊匹配尽量避免在一个复杂查询里面使用 LIKE ‘%parm1%’—— 红色标识位置的百分号会导致相关列的索引无法使用,最好不要用。解决办法:其实只需要对该脚本略做改进,查询速度便会提高近百倍。改进方法如下:a、修改前台程序——把查询条件的供应商名称一栏由原来的文本输入改为下拉列表,用户模糊输入供应商名称时,直接在前台就帮忙定位到具体的供应商,这样在调用后台程序时,这列就可以直接用等于来关联了。b、直接修改后台——根据输入条件,先查出符合条件的供应商,并把相关记录保存在一个临时表里头,原创 2020-07-15 11:29:20 · 359 阅读 · 0 评论 -
mysql中将字符串字段转为数字排序或比大小
一、简介mysql里面经常遇到的问题就是,有时按照某个字段的大小排序(或是比大小)发现排序有点错乱。后来才发现,是我们想当然地把对字符串字段当成数字并按照其大小排序(或是比大小),结果肯定不会是你想要的结果。这时候需要把字符串转成数字再排序。最简单的办法就是在字段后面加上+0如把’123’转成数字123(以下例子全为亲测):二、排序例:方法一:ORDER BY ‘123’+0;(首推)方法二:ORDER BY CAST(‘123’ AS SIGNED);方法三:ORDER BY CON原创 2020-07-06 18:04:26 · 880 阅读 · 0 评论