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,否则你会发现自己更新了错误的数据)