show tables ;
show databases;
show create table 表名
show create database 数据库名
drop table 表名;
drop database 数据库名;
desc table 表名;
desc database 数据库名;
create table 表名;
create database 数据库名;
use 数据库名;
alter table 表名 add 列名 类型;
alter table 表名 change 原名称 新名称 类型;
alter table 表名 modify 列名 类型;
alter table 表名 drop 列名;
insert into 表名 values() ;
insert into 表名 (列1,列2,...) values(值1,值2,...);
update 表名 set 列1 = 值1 .... where 条件;
select * from 表名;
select * from 表名 where id = 2 ;
select 列1,列2 from 表名;
select name as ’名称‘,age as ’年龄‘ from 表名;
delete form 表名 where id=4;
select 表名.列1 from 表名;
select 表名.列1 from 表名 as s;
select 列1 from 表名;
查询列1并去重: select distinct 列1 from 表名;
select * from 表名 where age > 12;
select * from 表名 where age <= 12;
select * from 表名 where age = 18;
select * from 表名 where age !=18;
查询表名不等于18岁的: select * from 表名 where age <>; 18
# and 表是 多个条件时,多个条件成立时 为 True
select * from 表名 where age >18 and age <28;
select * from 表名 where age >18 and gender = '女';
# or 表是 多个条件时,满足任意一个条件时成立
查询表名大于18岁,身高高于180的: select * from 表名 where age>18 or height >= 180;
# not 取反
select * from 表名 where not age >18
select * from 表名 where not age >18 and not gender='女';
select * from 表名 where not (age >18 and gender='女');
# like 模糊查询 %:多个字 _:一个字
select * from 表名 where name like ’小%‘;
select * from 表名 where name like ’小_‘;
select * from 表名 where name like ’%小%‘;
select * from 表名 where name like ’%小%‘;
select * from 表名 where name like ’_小%‘;
select * from 表名 where name like ’%小_‘;
select * from 表名 where age in (18,34);
select * from 表名 where age not in (18,34);
select * from 表名 where age between 18 and 30;
select * from 表名 where age not between 18 and 30 ;
select * from 表名 where height is null;
select * from 表名 where height is not null;
select * from 表名 where (age between 18 and 30) and gender ='女';
select * from 表名 where (age between 18 and 30) and gender ='女' order by height asc ;
select * from 表名 where (age between 18 and 30) and gender ='男' order by height desc;
查询表名年龄在18到30岁直接的性别男的以身高倒序排序,升高相同以年龄到序排序select * from 表名 where (age between 18 and 30) and gender ='男' order by height desc,age desc ;
计算数量: select count(*) from 表名 where gender = '男';
求最大年龄: select max(age) from 表名
求最小年龄: select min(age) from 表名
计算所有人年龄总和: select sum(age) from 表名
计算所有人年龄平均值:select avg(age) from 表名
计算所有人年龄平均值,保留结果2位数:select round(avg(age),2) from 表名
select gender from 表名 group by gender ;
select gender,conut(*) from 表名 group by gender ;
select gender_concat(name),gender from 表名 group by gender;
select avg(age),gender from 表名 group by gender;
select round(avg(age),2),gender from 表名 group by gender;
select group_concat(name),gender from 表名 group by gender having avg(age) > 30;
查询表里面性别字段的所以数量,并且汇总select count(*),gender from 表名 group by gender with rollup;
select * from 表名 limit 5;
select * from 表名 limit 0,5;
select * from 表名 order by age agv limit 0,5
select * from 表名1 inner join 表名2;
select * from 表名1 inner join 表名2 on 表名1.cls_id = 表名2.id
select 表1.name,表2.name from 表名1 inner join 表名2 on 表名1.cls_id = 表名2.id
select a.name,b.name from 表名1 as a inner join 表名2 as b on a.cls_id = b.id
# 左链接就是左边匹配不到右边的内容,也会把左边没有匹配到到的内容保存下来
select * from 表名1 left join 表2 on 表名1.cls_id = 表名2.id
select * from 表名1 right join 表2 on 表名1.cls_id = 表名2.id
自链接查询,保留a字段所以内容: select a.* from 表名 as a inner join 表名 as b on a.cle_id = b.id where a.name = '男'
select * from 表名 where height > (select avg(height) from 表名);
select * from 表名1 where cls_id in (select id from 表名2);
# 外键 防止数据插入错误
添加外键: alter table 表名1 add foreign key(a_id) references 表名2(id)
添加外键: alter table 表名1 add foreign key(c_id) references 表名2(id)
# 删除外键 删除外键需要知道 外键的名称 需要通过 查看表创建结构 show create table 表名
删除外键: alter table 表名 drop foreign key 外键名称
# 视图 简化代码 通过创建视图 简化一些复杂代码
创建视图 create view 视图名 as 复杂的代码 : create view a_show as show table
查看视图 select * from 视图名
删除视图 drop view 视图名
# 事务 完成一个功能,需要执行很多sql语句。功能不能失败,就可以使用事务
# 事务 ,保证sql 全部成功,或者全部不成功
开启事物: begin
提交事物: commit
回滚事物: rollback
# 索引 给记录添加索引让查询数据速度更快
查看表中是否有索引: show index from 表名;
创建索引: alter table 表名 add index 索引名称[可选] (字段名);
删除索引: drop index 索引名称 on 表名;
发表评论