继续学习
启动
net start mysql
出错:
服务正在启动或停止中,请稍候片刻后再试一次。
查找mysql的残留进程
tasklist| findstr "mysql"
果然,所以杀死残留进程
taskkill/f /t /im mysqld.exe
再次输入命令“tasklist| findstr “mysql””,查看是否还留有有其他的mysql残留进程,如果还有,则继续杀死,直到完全杀死进程为止
再次启动
net start mysql
命令
SHOW COLUMNS FROM gyy1
//显示表的属性,不是数据
select * from gyy1 limit 2,1;
//从第3条开始,显示1条
删除表中记录
删除后id不会更新,像excel一样,
若 id: 1 2 3 4
删:2
1 3 4
没有id为2的
查询
UNION :把不同表的相同列显示出来(不包括重复)
UNION ALL :把不同表的相同列显示出来(包括重复)
-> select name,id from gyy1
-> union
-> select name,id from gyy2;
//把name跟id都相同才会算重复
采用 * 会错乱
分组
计算总和,再排序(按总和)
select name,sum(hp) from gyy1 group by name order by sum(hp);
select name,sum(hp) as sumhp from gyy1 group by name order by sumhp;
笛卡尔积现象
原因:没有有效链接条件
解决:添加有效连接条件
mysql> select name,boyName from beauty,boys
-> where boys.id=beauty.boyfriend_id;
连接
192:内连接
199:内连接+外连接(左+右)+交叉连接
内连接:
等值连接
非等值连接
自连接
外连接:
左外连接
右外连接
全外连接
交叉连接
192
等值:
select name,boyNAme
from beauty,boys
where beauty.boyfriend_id=boys.id;
起别名:
起别名后,就不能再用之前
mysql> select e.id,name,boyName
-> from beauty e,boys b
-> where e.boyfriend_id=b.id;
mysql> select e.id,name,boyName
-> from beauty e,boys b
-> where e.boyfriend_id=b.id
-> and e.id!=6;
加第二个字符为c
mysql> select e.id,name,boyName
-> from beauty e,boys b
-> where e.boyfriend_id=b.id
-> and name like '_晓%'
-> and e.id!=7;
分组
mysql> select count(*) 个数,boyName
-> from beauty e,boys b
-> where e.boyfriend_id=b.id
-> group by boyName;