Mysql的知识梳理

数据准备:

--建表

create table  customer_jia(CID    int(4),
 Cname  varchar(20),
 Csex   varchar(2), 
 Cage   int(3),
 Cjob   varchar(20),
 CCNO   int(2)
);
create table  company_jia(CCNO    int(4),
 CCname  varchar(20),
 Cvalue    int(3),
 CADD    varchar(20)
);

新增数据

insert into customer_jia values('1002','马化腾','男','49','CEO','02');
insert into customer_jia values('1003','黄铮','男','38','CEO','03');
insert into customer_jia values('1004','李彦宏','男','52','CEO','04');
insert into customer_jia values('1005','刘强东','男','55','CEO','05');
insert into customer_jia values('1006','张小龙','男','50','CFO','02');
insert into customer_jia values('1007','任正非','男','72','董事长','06');
insert into customer_jia values('1008','张三','男','80','董事长','07');

新增数据

insert into company_jia values('2','腾讯','3885','深圳');
insert into company_jia values('3','拼多多','691','上海');
insert into company_jia values('4','百度','484','北京');
insert into company_jia values('5','京东','941','北京');
insert into company_jia values('6','华为','10000','深圳');
insert into company_jia values('7','格力','300','深圳');

-- 查询数据

select * from company_jia ;
select * from customer_jia a ,company_jia b where a.ccno=b.ccno;

插入数据:

insert into 表名 (值1,值2,值3);

修改数据:

update 表名 set 列名=值 where 列名=值;

删除:

delete from customer_jia where cname=刘强东; -------效率低,可恢复
truncate table customer_jia; --------一次性将数据或断,效率高,不可恢复,适合大量数据删除

drop table .customer_jia ; ----------删除表的同时把数据一起删除
行询

查询:

select 列名 from 表名 where 条件语句;

select 列名 from 表名 where 条件语句 order by 列名 desc;

模糊匹配: like

select 列名 from 表名 where 列名 like"%R%"; -----"%"代表0个或多个任意字符

select 列名 from 表名 where 列名 like"R____"; ------"_"代表一个任意字符

去重查询:distinct

select distinct 列名 from 表名 where 条件语句;

子查询:

当值用语法:select 列名 from 表名 where 列名=(select 列名 from 表名 where 条件语句);

当表用语法:select 列名 from (select 列名 from 表名 where 条件语句) 表别名 where 条件语句;

分组查询:

select 列名1,列名2 where 条件语句 group by 列名 ;

分组查询过滤:

select 列名1,列名2 where 条件语句 group by 列名 having 过滤条件;

表连接:

-- 内连接:

select * from customer_jia a inner join company_jia b on a.ccno=b.ccno;

-- 全连接: mysql 中没有full join 只是了解

select * from customer_jia a full outer join company_jia b on a.ccno=b.ccno;
select * from customer_jia a full join company_jia b on a.ccno=b.ccno; 

-- 左连接:

select * from customer_jia a left join company_jia b on a.ccno=b.ccno; 

-- 右连接:

select * from customer_jia a right join company_jia b on a.ccno=b.ccno; 

-- 联合查询:union

(select * from customer_jia a left join company_jia b on a.ccno=b.ccno)
union
(select * from customer_jia a right join company_jia b on a.ccno=b.ccno);

-- 联合查询:union all

(select * from customer_jia a left join company_jia b on a.ccno=b.ccno)
union all
(select * from customer_jia a right join company_jia b on a.ccno=b.ccno);
posted @ 2022-07-17 16:31  小胖子学编程  阅读(123)  评论(0编辑  收藏  举报