Mysql
文章平均质量分 53
焚膏油以继晷,恒兀兀以穷年
这个作者很懒,什么都没留下…
展开
-
Mysql的所有数据类型和它们的区别
Mysql的所有数据类型原创 2023-12-06 11:16:16 · 294 阅读 · 0 评论 -
Mysql 日期函数大全
Mysql 时间函数大全文档原创 2023-12-06 11:12:06 · 987 阅读 · 0 评论 -
Mysql 使用时候,关于 and/or 于 “非“ 的使用时会遇上的逻辑问题
假设我们有一个学生,里面name字段是名字,sex字段是性别,1表示男,2表示女。由图中我们可知,叫 lisa 的学生有两个,一个是男,一个是女。需求: 现在要求我们拿出这个表中 名字叫 lisa的那位男同学之外的所有同学。第一反应我们是这样写的:select * from student where name!='lisa' and sex!=1查询 name !=lisa 且性别不为男的。但是这样一查出来我们发现数据直接为空。这是为什么呢?其实是因为上面的语句说的是:..原创 2022-04-26 18:32:31 · 735 阅读 · 0 评论 -
分数排序
来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/rank-scores编写一个 SQL 查询来实现分数排名。如果两个分数相同,则两个分数排名(Rank)相同。请注意,平分后的下一个名次应该是下一个连续的整数值。换句话说,名次之间不应该有“间隔”。例如,根据上述给定的Scores表,你的查询应该返回(按分数从高到低排列):+----+-------+| Id | Score |+----+-------+| 1 | 3...原创 2021-01-26 15:37:01 · 635 阅读 · 0 评论 -
Mysql中isnull,ifnull,nullif的区别
1. isnull :判断是不是null,若是则返回1,若不是返回02. ifnull:函数用于判断第一个表达式是否为 NULL,如果为 NULL 则返回第二个参数的值,如果不为 NULL 则返回第一个参数的值3. nullif:若第二个参数等于第一个参数则返回null,否则返回第一次参数isnull:从下面的几张图可以看出,mysql不会将空字符串和0判断为空,比较严谨,只会讲真实的null判断为空。ifnull:从下面三张图可以看出 当第一个参是nu...原创 2021-01-18 19:05:22 · 5592 阅读 · 0 评论 -
LeetCode:Mysql算法题 查询时间A比昨日时间B温度有所升高的所有日期id
表 Weather+---------------+---------+| Column Name | Type |+---------------+---------+| id | int || recordDate | date || temperature | int |+---------------+---------+id 是这个表的主键该表包含特定日期的温度信息编写一个 SQL 查询,来查找与之前(昨天...原创 2020-12-28 19:31:05 · 293 阅读 · 0 评论 -
MYSQL千万级别数据分页
【PS:本地环境不存在网络影响下测试,且多次调用sql语句,取出现次数最多的 ‘查询时间’作为参考】首先我们有个表里面有1千万以上的数据因为表字段少,且结构简单所以实际查询时间对人感官不是很慢,但是我们将问题扩大考虑。实际情况的表肯定不止这些字段,查询时间肯定也不知我测试时查出来这么快,所以我们只比较更优化的方案,而不单纯看所耗时间。A=>简单的查询从10w条数据 从0开始 耗时B=>从第100W开始查询 耗时C=>从第700w开始查询出来10w条数据...原创 2020-11-24 15:13:44 · 850 阅读 · 0 评论 -
Access denied for user 'root'@'localhost' (using password: YES)
一。 打开mysql下的my.ini文件在mysqld下输入skip-grant-tables(关闭权限)二。再次使用命令登录mysql三。use mysql;使用mysql这个库四。修改密码命令update user set password=PASSWORD("123456") where user='root';五,退出exit,删除my.ini下的skip...原创 2019-04-07 22:26:26 · 215 阅读 · 0 评论 -
Db事务的使用
1.首先try{ }catch(Exception $e){ }使用起来【异常捕捉】try catch会将此处的一系列报错信息捕捉起来,不直接返回给浏览器,当他捕捉到错误之后,会进入catch中,若全程无错,则会直接跳过catch一直往下执行,所有我们对于想要捕捉错误但不返回给浏览器或者想要自定义报错的时候,就可以使用该语句。2.开启事务 TP5是 Db::startTrans() laravel是DB::beginTransaction();该事务实际就是数据库中的事务操作,beginTran原创 2019-04-08 15:01:57 · 2430 阅读 · 1 评论 -
Mysql外键的应用
我们建立外键还有一个要求便是两个表的类型必须是InnoDB的才行。表2中的外键aa_id指向的是表1中的id。表2对于外键中存储数据时要求表1中的主键必须存在。外键的类型: 1.RESTRICT:拒绝删除或者更新父表。指定RESTRICT(或者NOACTION)和忽略ONDELETE或者ONUPDATE选项的效果是一样的。(修改父表主键被拒绝...原创 2019-04-12 16:14:33 · 762 阅读 · 0 评论 -
mysql性能优化
当我们去设计数据库表结构,对操作数据库时(尤其是查表时的SQL语句),我们都需要注意数据操作的性能。这里,我们不会讲过多的SQL语句的优化,而只是针对MySQL这一Web应用最多的数据库。希望下面的这些优化技巧对你有用。1. 为查询缓存优化你的查询大多数的MySQL服务器都开启了查询缓存。这是提高性最有效的方法之一,而且这是被MySQL的数据库引擎处理的。当有很多相同的查询被执行了多次的时候...转载 2019-04-12 18:08:29 · 706 阅读 · 1 评论 -
唠一唠Mysql:的double和float查询数据不准确的原因
float:有这样一张表,里面的数据类型为double但是我们使用 select * from tableName where float_num=2.2,却查询不出来数据。目前查询select * from tableName where double_num=2.2是能查询到的,但是当double_num的长度到一定数量的时候还是可能会查询不到。...原创 2019-08-08 10:27:31 · 1120 阅读 · 0 评论 -
mysql的乐观锁和悲观锁(一乐观锁)
乐观锁: 乐观锁的操作其实是为每一条数据加一个版本号。在设计表的时候加一个version字段,每次修改数据的时候都将其修改一次。 乐观锁的应用场景:1.A用户在10:00打开了一条文章的编辑页面。如下页面 2.B用户在10.01分的时候也打开了同一个文章的编辑页面。 3.A用户在10.02分编辑了文章标题并提交了数据。编辑如下并提交...原创 2019-08-23 23:48:16 · 219 阅读 · 0 评论 -
mysql各种有趣的操作
1。随机拿取2条数据这是全部数据随机拿取由order by rand()和limit结合使用此处使用:select * from students order by RAND() limit 2;两次结果均不一样原创 2019-04-07 16:24:30 · 561 阅读 · 1 评论 -
Mysql between and
查询全表数据为:Between and获取某个值在范围内的所以数据一 当范围只有两端的值时:select * from students where age between 6 and 12;(查询中包含两边的值)二 >,<,=的使用select * from students where age>=6 and age<=12...原创 2019-04-07 16:09:11 · 366 阅读 · 0 评论 -
使用laravel 的artisan快速创建表
创建migrate 文件php artisan make:migration create_comments_table编辑表字段use Illuminate\Database\Schema\Blueprint;use Illuminate\Database\Migrations\Migration;class CreateCommentTable ext转载 2017-06-01 15:56:31 · 1271 阅读 · 0 评论 -
MySQL中tinytext、text、mediumtext和longtext详解
一、数字类型类型范围说明Char(N) [ binary]N=1~255 个字元binary :分辨大小写固定长度std_name cahr(32) not nullVarChar(N) [binary]N=1~255 个字元binary :分辨大小写可变长度转载 2017-09-06 16:03:49 · 713 阅读 · 0 评论 -
索引的学习及使用
什么是索引索引用来快速地寻找那些具有特定值的记录,所有MySQL索引都以B-树的形式保存。如果没有索引,执行查询时MySQL必须从第一个记录开始扫描整个表的所有记录,直至找到符合要求的记录。表里面的记录数量越多,这个操作的代价就越高。如果作为搜索条件的列上已经创建了索引,MySQL无需扫描任何记录即可迅速得到目标记录所在的位置。如果表有1000个记录,通过索引查找记录至少要比顺序扫描记录快转载 2017-09-15 14:37:50 · 281 阅读 · 1 评论 -
MySQL:索引工作原理及执行简单效率计算
什么是索引(What is indexing)?索引是对记录集的多个字段进行排序的方法。在一张表中为一个字段创建一个索引,将创建另外一个数据结构,包含字段数值以及指向相关记录的指针,然后对这个索引结构进行排序,允许在该数据上进行二分法排序。副作用是索引需要额外的磁盘空间,对于MyISAM引擎而言,这些索引是被统一保存在一张表中的,这个文件将很快到达底层文件系统所能够支持的大小限制,如果转载 2017-09-15 15:35:50 · 547 阅读 · 0 评论 -
laravel查询数据库,对反馈回来的object类型,判断是否存在数据
1 $users = DB::table('users')->where('id',$id)->get(); 2 3 if($users){ 4 //有数据 5 }else{ 6 //没数据 7 } 8 或 9 if(is_null($users)){10 // 11 }12 或13 if(empty($users)){14 //15转载 2017-09-18 11:05:24 · 4002 阅读 · 0 评论 -
根据时间 或 时间戳 按年月日分组统计
Mysql 根据时间戳按年月日分组统计create_time时间格式SELECT DATE_FORMAT(create_time,'%Y%u') weeks,COUNT(id) COUNT FROM role GROUP BY weeks;SELECT DATE_FORMAT(create_time,'%Y%m%d') days,COUNT(id) COUNT FROM rol转载 2017-09-20 09:57:42 · 4049 阅读 · 0 评论 -
SQL的check不能用于mysql时的另一种处理
chekc在mysql中执行,语句并不会出错,但也不会起效果。 如下: 约束了city但并没有效果,但上面的语句也并没报错而且执行了。这里我没就得另想办法了 我没可以用enum起到约束的作用;但是。。。用PHP这类弱类型语言 enum操作在很多方面会有限制要求。那时我们可以使用tinyint。enum:enum我们在创表的时候使用,这里可以看原创 2017-10-26 15:45:20 · 1094 阅读 · 0 评论 -
laravel5.4下的group by报错
使用ORM查询数据显示这个错,这是因为laravel使用了开启了mysql的严格模式所以 如果要关闭的话,我们需要找到config/database.php这个文件,然后将mysql下的这个改为false;就会关闭。既然说严格模式那什么是样模式呢。据我所知在mysql在5.7有一个尿性【报错:only_full_group_by】,就是你group by的数据里面必须包含你原创 2017-11-10 12:03:56 · 3305 阅读 · 0 评论 -
SELECT INTO FROM和INSERT INTO SELECT ,CREATE TABLE 表名(SELECT)
1.SELECT INTO FROM 语句格式:select 表1列名 into 表2 from 表1;这个要求表2不存在,插入时会自动创建,这个语句MYSQL数据库不支持,会报下列错误,所以可以用下面说的另外两张种方法。2.INSERT INTO SELECT语句格式:insert into 表2(表2列名) select 表1列名 f原创 2017-10-26 11:19:14 · 2194 阅读 · 0 评论 -
阿里云下linux系统mysql无法远程访问
1:首先检查防火墙是否关闭:若未关闭需关闭;2:登录mysql创建新用户给与权限:命令1:GRANT ALL PRIVILEGES ON *.*TO 'username'@’%’ IDENTIFIED BY 'password' WITH GRANT OPTION:username是用户名;password是密码;上述命令是允许使用该用户名和密码从任何主机访问该服务器上的mys原创 2017-12-19 17:02:43 · 1303 阅读 · 0 评论 -
当某个字段为null时返回为0
select if(AVG(number) is null,'0',number) as newnumber from testtable;AVG求平均值;if(判断条件,满足判断条件时的值,判断的字段)原创 2018-01-17 10:48:28 · 2831 阅读 · 0 评论 -
utf8和utf8mb4的区别
一、简介 MySQL在5.5.3之后增加了这个utf8mb4的编码,mb4就是most bytes 4的意思,专门用来兼容四字节的unicode。好在utf8mb4是utf8的超集,除了将编码改为utf8mb4外不需要做其他转换。当然,为了节省空间,一般情况下使用utf8也就够了。 二、内容描述 那上面说了既然utf8能够存下大部分中文汉字,那为什么还要使用utf8mb4呢? 原来my...转载 2018-05-09 17:28:41 · 10568 阅读 · 1 评论 -
MySQL存储引擎--MyISAM与InnoDB区别
MyISAM 和InnoDB 讲解 InnoDB和MyISAM是许多人在使用MySQL时最常用的两个表类型,这两个表类型各有优劣,视具体应用而定。基本的差别为:MyISAM类型不支持事务处理等高级处理,而InnoDB类型支持。MyISAM类型的表强调的是性能,其执行数度比InnoDB类型更快,但是不提供事务支持,而InnoDB提供事务支持以及外部键等高级数据库功能。 以下是一些转载 2017-05-31 11:16:01 · 215 阅读 · 0 评论