一、目的
为加强练习提供数据,为懒人提供方便。网上总结的语句函数特别多,文字特别多,个人认为还是自己操作一遍会更为直观。
二、示例及其讲解
表数据准备
create table area_manage (
id int(20) not null auto_increment comment '主键id',
area_no varchar(10) not null comment '园区编号',
area_name varchar(50) not null comment '园区名称',
creator varchar(100) null default null comment '创建人',
create_time datetime null default null comment '创建时间',
modified_by varchar(100) null default null comment '修改人',
modified_time datetime null default null comment '修改时间',
primary key (id)
) comment = '区域信息管理表';
新增语句
示例1
insert into area_manage values (1,'1','和平区','admin',null,'admin',null);
insert into area_manage values (2,'2','顺义区','admin',null,'admin',null);
insert into area_manage values (3,'3','海淀区','admin',null,'admin',null);
示例2
insert into area_manage (id,area_no,area_name,creator,create_time,modified_by,modified_time)VALUE
(4,'4','昌平区','admin',null,'admin',null)
表数据如下
修改语句
修改数据:
UPDATE area_manage set area_name = '西城区',create_time = '2023-05-16 21:29:20' where id =5;
修改表名:
ALTER TABLE area_manage RENAME area_manage_demo;
ALTER TABLE area_manage_demo RENAME area_manage;
删除语句
DELETE FROM area_manage where area_manage.area_name='和平区'
表数据如下
查询语句
SELECT * from area_manage;
select distinct coll,col2..from tl join t2 on tl.xx=t2.xx where ...group by.. .having....order by. . .limit...
执行顺序:
1. from 产生笛卡尔积虚拟表v1
2. on 确定连接条件,则可以从上述的v1中筛出数据
-虚拟表v2
3. left/right join
-在v2基础上将主表中独有的数据添加到v2中,另一个表因为无匹配数据,以nu11填充.产生v3
4.where - 在v2基础上再次筛选条件,得到虚拟表v4
5.group by - 在v4基础上进行分组产生虚拟表v5
having6. - 在v5的基础上再次进行数据筛选得出v6
7.select - 在v6的基础上查询结果得出虚拟表v7
8. distinct - 去重得出虚拟表v8
9.order by - 基础v8进行排序得到虚拟表v9
10.limit - 基于v9是筛选出想要的部分数据
limit m,n
limit x;筛选出前x条数据
注意点:
select ..from tl join t2 on tl.xx=t2.xx join t3 on..--- 应用的场景:要求t1,t2先出结果集,拿此结果集与t3再次联查.