MySQL常用命令及其用法

表:test1
在这里插入图片描述
表:wechat_user_information
在这里插入图片描述
表:hanclothing_user_information
在这里插入图片描述
其中:wechat_user_information. id = hanclothing_user_information.openid





删除表

drop table test1

创建表

create table test1(
 id int(5) null auto_increment,
 stu_num int(9) not null,
 name varchar(4) not null,
 sex tinyint not null,
 class int(2) null,
 rel_chinese int(3) null,
 rel_math int(3) null,
 rel_english int(3) null,
 primary key(id,std_num)
)engine innodb default charest=gb2312;

展示表的属性

desc test1

显示数据库版本

show variables like 'version'




alter table


modify子句

修改表,更改对某些字段的定义。
如果原设置项中有 not null 和 auto_increment。更改后,有not null ,没有auto_increment

alter table test1 modify id int(5)
drop子句

修改表,删除主键

alter table test1 drop primary key

修改表,删除某个字段

alter table test1 drop stu_mun

修改表,更改对某个字段的定义。
注意,自增列必须设置为键。

alter table test1 modify id int(5) not null auto_increment primary key
add子句

修改表,插入字段

alter table test1 add column stu_num int(9) not null 

修改表,添加组合键。先删除旧的键,再添加新的键。

alter table test1 add primary key(id,stu_num)




insert into


value子句

插入,新的数据。插入一行用value,插入多行用values。

insert into test1(
stu_num, name, sex, class, rel_chinese, rel_math, rel_english
)
values
(201801001,'苏轼',1,01,99,70,85),
(201801002,'李清照',0,01,95,68,90),
(201801003,'范仲淹',1,01,90,92,80),
(201801004,'李师师',0,01,90,70,80),
(201902001,'李世民',1,02,90,90,90),
(201902002,'武媚娘',0,02,92,85,88),
(201802003,'李治',1,02,95,80,90),
(201802004,'林婉儿',0,02,90,75,80),
(201803001,'曹操',0,03,95,90,90),
(201803002,'曹丕',0,03,90,80,85),
(201803003,'甄姬',0,03,85,60,85),
(201803004,'蔡文姬',0,03,95,60,88);




select from


from子句 order by子句 limit子句

查询,按照id字段的列递增排序

select * from order by id desc

查询,按照id字段升序排列,分页查找从第3行开始,查找5行数据(起始行为第0行,如果从第0行开始查5行数据,可以写成 limit 5

select * from order by id asc limit 3,5
where子句 where···in

查找,class 字段是2的行,以sex字段升序排列

select * from test1 where class=2 order by sex asc

查询,部分数据。class字段是1和2的行,以rel_chinese字段降序排列

select name,sex,class,rel_chinese from test1 
where class in(1,2) order by rel_chinese desc

查询,两张表的数据。
其中,wechat_user_information表的id字段,和hanclothing_user_information表的openid字段,相等的行。

select * from wechat_user_information,hanclothing_user_information 
where wechat_user_information.id = hanclothing_user_information.openid;
group by子句 group_concat()函数

查询,按照class 字段进行分组

SELECT * from test1 group by class


查询,按照class 字段进行分组,并查看name字段,sex字段,class字段的详细信息

SELECT group_concat(name),group_concat(sex),group_concat(class) from test1 group by class

在这里插入图片描述

inner join子句

查询,两张表的数据。内连接。
返回两张表hanclothing_user_information.openid=wechat_user_information.id,的那几行数据。

select hanclothing_user_information.name,
hanclothing_user_information.birth,
wechat_user_information.nickname from hanclothing_user_information 
inner join wechat_user_information 
on hanclothing_user_information.openid=wechat_user_information.id
left join子句

查询,两张表的数据。左连接。
hanclothing_user_information返回全部数据。
wechat_user_information返回 hanclothing_user_information.openid =wechat_user_information.id,的那几行数据。

select hanclothing_user_information.name,
hanclothing_user_information.birth,
wechat_user_information.nickname from hanclothing_user_information 
left join wechat_user_information 
on hanclothing_user_information.openid=wechat_user_information.id
sum子句 count子句 if子句

语法:
sum函数返回一个值类型的数值,如果category=1,则返回size,如果category不等于1就返回0。
count函数返回一个布尔值类型的数值,如果category=1,返回true,如果category不等于1返回null。

SELECT SUM(if(category=1,size,0)) ,COUNT(if(category=1,true,null)) FORM t_file;

查询,统计每class的人数和总人数

SELECT
	count(*) as total,
	sum(if(class = 1,1,0)) as class1,
	sum(if(class = 2,1,0)) as class2,
	sum(if(class = 3,1,0)) as class3
from test1

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值