mysql 语句备忘

--筛选出数据,更新后插入原表
1.复制表: 拷贝原表的建表语句,修改表名以后执行
2.从原表查询数据并插入新表
insert into A select * from B; (两张表结构一致)
insert into A(col1, col2) select col1, col2 from B; (两张表结构不一致)

--批量插入数据
INSERT INTO table (a,b,c) VALUES (1,2,3), VALUES (1,2,3), VALUES (1,2,3)


--按照同一个规则更新表格中的所有行的字段
UPDATE AA SET id = id + 1000

 

--按照多个字段对查询结果排序
MySql中,order by 多个字段时,需要各自分别定义升降序。select * from table1 order by cc1 desc, cc2 asc;

 

--分组以后,取每组中最新的一条
中心思想:先排序,再group by ,groupby 以后如果没有手动聚合,那么会默认取第一条数据
SELECT VIEW.id, VIEW.load_biz_dt, VIEW.bank_name, VIEW.booking_id, VIEW.income_index as amount FROM (SELECT * FROM pa_t_valet_jiaoyitong_index WHERE load_biz_dt >= date'2020-01-01'
AND load_biz_dt <= date'2020-12-31' ORDER BY load_biz_dt, input_time DESC) AS VIEW GROUP BY bank_name

 

--别名对筛选的影响
查询时将列名 AS 另外一个名字以后,如果该字段还要在语句中做筛选条件,那么筛选条件中需要使用原字段名,而不是别名

 

--修改列的顺序
alter table table1 modify id INT first;

--查看mysql版本
select version() from dual;

->创建表格时,添加自增主键
CREATE TABLE `table1` (
`id` INT(11) NOT NULL AUTO_INCREMENT
);

->查询表中的所有月份
SELECT DISTINCT DATE_FORMAT(date,'%Y-%d') FROM tb

posted @ 2020-09-07 15:18  周周和奇奇  阅读(77)  评论(0编辑  收藏  举报