MySQL
斌斌_____
这个作者很懒,什么都没留下…
展开
-
Mysql报错1241 Operand should contain 1 column(s)
这个问题主要是出现在使用子查询时,子查询中的字段包含多个,下面写出一个实例方便具体理解。select * from table where user_id in (select id ,name from user );注意上面的例子中,()中的查询也就是子查询查询出来的字段是id和name,这个时候就会出现sql报错1241。解决方法就是子查询中只查询出一个字段上面的sql改写成下面的样子就不会报错。select * from table where user_id in (select原创 2020-08-13 17:39:30 · 15623 阅读 · 0 评论 -
mybatis 和hibernate的区别
简介1.mybatis是一个不完全的orm框架。内部封装了 JDBC,开发时只需要关注 SQL 语句本身。2.hibernate是一个全自动的、完全面向对象的orm框架,它对JDBC进行了非常轻量级的对象封装,建立对象与数据库表的映射。区别1.hibernate中sql已经被封装,直接被调用就可以,对开发者的sql要求不是很高,同时hibernate中不需要去关注对象关系映射。对比于my...原创 2020-04-28 15:36:33 · 175 阅读 · 0 评论 -
mybatis中<resultMap>标签中加入 <collection>的用法及一对多查询limit数量不对的解决方法
日常开发中,数据之间可能是一对多的关系,那么查询的时候就需要一对多关联查询,这个时候就使用到了 <collection>标签。 <resultMap type="com.navi.user.entity.PsomAssembleStock" id="BaseResultMap"> //resultMap中的元素是主表的数据 <id ...原创 2020-04-28 10:39:34 · 2200 阅读 · 0 评论 -
mysql中根据表格中的某个字段的值关联不同的表
SELECT a.*,CASE WHEN a.in_out = 'in' THEN bp.purchase_num END AS purchase_num FROM psom_stock_detail_info a LEFT JOIN psom_store_info psi ON psi.id = a.store_id LEFT JOIN psom_purchase_...原创 2020-04-08 18:12:13 · 4039 阅读 · 0 评论 -
MySQL索引
索引的本质:索引是帮助MySQL高效获取数据的数据结构,本质就是数据结构。索引类型包括:1.普通索引这是最基本的索引,没有任何的限制2.唯一索引他与前面的普通索引类似,不同的地方就是,索引列的值必须是唯一的,但允许有空值,如果是组合索引,则列值的组合必须是唯一的。3.主键索引他是一种特殊的唯一索引,不允许有空值,一般是在建表的时候同时创建上主键索引。一个表只能有一个主键。4.组合索...原创 2019-07-26 17:41:43 · 95 阅读 · 0 评论 -
数据库常见面试题
主键 超键 候选键 外键主 键:数据库表中对储存数据对象予以唯一和完整标识的数据列或属性的组合。一个数据列只能有一个主键,且主键的取值不能缺失,即不能为空值(Null)。超 键:在关系中能唯一标识元组的属性集称为关系模式的超键。一个属性可以为作为一个超键,多个属性组合在一起也可以作为一个超键。超键包含候选键和主键。候选键:是最小超键,即没有冗余元素的超键。外 键:在一个表中存在...转载 2019-07-30 10:27:57 · 236 阅读 · 0 评论 -
mysql新版2059 - authentication plugin 'caching_sha2_password' -navicat连接异常
给Windows server安装好MySQL之后,配置好了远程连接,使用Navicat连接时突然报了一个2059 - authentication plugin ‘caching_sha2_password’ -navicat连接异常错误。百度了之后发现使用Navicat连接新版本的mysql时就会出现这个问题,mysql8之前的版本中加密规则为mysql_native_password,而...原创 2019-07-11 18:03:19 · 146 阅读 · 0 评论 -
mysql8.0以上创建用户,授权写法
新版本的mysql把创建用户和授权分开写了Mysql安装成功后,默认的root用户密码为空,你可以使用以下命令来创建root用户的密码:[root@host]# mysqladmin -u root password “new_password”;现在你可以通过以下命令来连接到Mysql服务器:[root@host]# mysql -u root -pEnter password:***...原创 2019-07-11 17:50:07 · 15433 阅读 · 0 评论 -
MySQL根据某些条件修改。
MySQL的update时有些时候需要根据某些条件符合条件再执行修改。语句:update user set class= (case when age>15 then ‘初中生’else ‘小学生’ end )//修改学历,如果年龄大于15就是初中生,否则就是小学生...原创 2019-07-02 15:05:01 · 4899 阅读 · 0 评论 -
MySQL中查询时间差的写法
计算日期间的时长,通过使用MySQL的内置函数TimeStampDiff() 实现。函数 TimeStampDiff() 是MySQL本身提供的可以计算两个时间间隔的函数,语法为:TIMESTAMPDIFF(unit,datetime_expr1,datetime_expr2)其中unit单位有如下几种,分别是:FRAC_SECOND (microseconds), SECOND, MINU...原创 2019-07-02 11:59:45 · 2816 阅读 · 0 评论