MYSQL
不见西风凋碧树
这个作者很懒,什么都没留下…
展开
-
[SQL---START WITH的用法]
我们经常会将一个比较复杂的目录树存储到一个表中。或者将一些部门存储到一个表中,而这些部门互相有隶属关系。这个时候你就会用到connect by prior start with。connect by 是结构化查询中用到的,其基本语法是:select … from tablename start with 条件1connect by prior 条件2where 条件3;例:select * from tablestart with org_id = ‘HBHqfWGWPy’connect b原创 2021-03-14 21:27:09 · 1366 阅读 · 0 评论 -
Group by带两个参数
SELECT m.className,m.course FROM (SELECT AVG(s.score) score,c.className,s.course FROM score s , class c ON s.name = c.name GROUP BY c.className,s.course) m inner JOIN (SELECT MAX(t.score) score,t.className FROM (SELECT AVG(s.score) AS score,c..原创 2021-03-14 21:25:35 · 1509 阅读 · 0 评论 -
建表语句的注释
COMMENT就是指定字段的注释,我们在数据库改变表的时候能看到注释,但是有没有注释对于程序的执行时没有影响的,只是为了程序员复查的时候清楚字段的作用。CREATE TABLE `tb_publish_info` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `user_id` bigint(20) NOT NULL COMMENT '用户id', `publish_id` varchar(255) NOT NULL COMMENT '发布内容Id',原创 2021-03-14 21:23:26 · 480 阅读 · 2 评论 -
两表联查并传递参数
在查询tb_user表的时候需要将tb_user的id字段传递给tb_log表,并查询出tb_log表中有关于tb_user表的每一行数据的相同id的最大created数据,可以通过以上写法传递。以上写法运行流程:在运行select语句的时候,从tb_user表中每一行的数据中的id都会传递给子查询,在子查询中查询出来tb_log表中的最大created值并赋给created字段,随着外围大的查询语句一起显示出来。如果tb_user有1000条含有id的数据,就会把这1000条id数据传到子查询,.原创 2021-03-14 21:22:04 · 219 阅读 · 0 评论 -
sql 使用 EXPLAIN 关键词
分析sql 使用 EXPLAIN 关键词找到那个where 字段慢,加索引原创 2021-03-14 21:21:21 · 119 阅读 · 0 评论 -
sql 优化
sql 优化 0) update ,insert, delete 慢 1) where 条件 慢, 优化条件 2) 触发器,索引过多 1) select * from user where userid='1' ---- 创建索引优化, 2) select * from user where username like'%张%' --- % 在左边即使有索引也不生效(索引失效) 3) 尽量避免使用多表关联查询 left join原创 2021-03-13 20:22:44 · 69 阅读 · 0 评论 -
FROM_UNIXTIME()和UNIX_TIMESTAMP()函数的区别
[FROM_UNIXTIME()和UNIX_TIMESTAMP()函数的区别]Unix时间戳(Unix timestamp),是一种时间表示方式,定义为从格林威治时间1970年01月01日00时00分00秒起至现在的总秒数。在MySQL中如何格式化时间戳?在mysql中因为timestamp无法支持到毫秒,所以很多时候采用毫秒进行存储。那么如何将存储在数据库中Int类型的时间,如: 1344954515 ,转换成我们正常可以肉眼能看懂的时间格式呢?我们一般都使用FROM_UNIXTIME函数。FR原创 2021-03-13 20:22:00 · 943 阅读 · 0 评论 -
SQL语句执行顺序
MYSQLSQL语句执行顺序:FROM WHERE GROUP BY SELECT ORDER LIMIT[FROM_UNIXTIME()和UNIX_TIMESTAMP()函数的区别]Unix时间戳(Unix timestamp),是一种时间表示方式,定义为从格林威治时间1970年01月01日00时00分00秒起至现在的总秒数。在MySQL中如何格式化时间戳?在mysql中因为timestamp无法支持到毫秒,所以很多时候采用毫秒进行存储原创 2021-03-13 20:19:53 · 84 阅读 · 0 评论