mysql复习

delete from course where Cld='4';(删除)
insert into course set Cld='4',Cname='化学',Tld=4;(插入数据)
UPDATE course SET Cld='5' WHERE Tld='4';(更新数据)
select * from course where Cname='化学';(查询数据)

SELECT * from sc where Sld= (SELECT Sld FROM `student`where Sld=01);(子查询)
SELECT  Ssex as 性别,Sname as 姓名 FROM student;(as列别名)
SELECT DISTINCT Ssex as 性别 FROM student;(DISTINCT去重)
SELECT Sname from student LIMIT 5,2;(LIMIT取多少行,n:n+1从第几行开始,再取多少行)
SELECT * from student ORDER BY Sld desc;(ORDER BY默认升序排序,在后面加desc变成降序排序
SELECT * from student ORDER BY Sld desc LIMIT 3;(ORDER BY和LIMIT共同出现,LIMIT必须放在最后面)
SELECT *from student where Sld not in(12,13) ORDER BY Sld desc;(not是取非)
SELECT Cld,max(score) as maxscore from sc GROUP BY Cld HAVING max(score)>=90;;( GROUP BY分组,HAVINGE过滤分组)SELECT Cname, score FROM course, sc WHERE course.Cld = sc.Cld ORDER BY Cname, score;(用where链接两张表)
SELECT Cname, score FROM course INNER JOIN sc on course.Cld = sc.Cld ORDER BY Cname, score;(用INNER JOIN 连接两张表,on接后面的筛选条件,展示两张表同时存在的数据)
SELECT * FROM sc as a LEFT JOIN student as b on a.Sld=b.Sld;(左连接,以左边的表为主,左表数据全部展示,左右表同时存在的数据,不足用null表示)
SELECT * FROM sc as a RIGHT JOIN student as b on a.Sld=b.Sld;(右连接,以右边的表为主,右表数据全部展示,左右表同时存在的数据,不足用null表示)
SELECT * from sc where Sld=01 UNION SELECT * from sc where score>=90; (联合查询union)

更新的指导原则

1.如果执行UPDATE而不带WHERE子句,则表中每个行都将用新值更新,除非确实打算更新每一行,否则绝对不要使用不带WHERE子句的UPDATE语句

2.在执行UPDATE语句时要非常小心,最好先用SELECT语句来测试WHERE条件是否筛选出了期望的记录集,然后再用UPDATE更新 (MySQL没有撤销(undo)按钮,应该非常小心地使用UPDATE,否则你会发现自己更新了错误的数据)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值