15分钟速通SQL语法 一、选择SELECT * FROM STUDENTS; select * from students;关键字select选择*全部关键字from 来源/从哪里...students一个表的名称用法从students表中选择全部的内容。select 姓名,班级 from students;* 换成“姓名,班级”意味着从students表中选择“姓名,班级”列的内容select 姓名,班级 from students LIMIT 5;关键字LIMIT限制查询结果的数量select 姓名,班级 from students LIMIT 5 OFFSET 5;关键字OFFSET跳过x条数量的结果select 姓名,班级,成绩 from students LIMIT 5 OFFSET 5;换行分段方便管理select 姓名,班级,成绩 from students WHERE 成绩 98;关键字WHERE筛选条件‘等于 98’的select 姓名,班级,成绩 from students WHERE 成绩 98;关键字WHERE筛选条件‘不等于 98’的select 姓名,班级,成绩 from students WHERE 成绩 98 ORDER BY 成绩;关键字ORDER BY对查询结果 ‘按成绩’进行排序默认升序排列由低到高select 姓名,班级,成绩 from students WHERE 成绩 98 ORDER BY 成绩,班级;关键字ORDER BY对查询结果 ‘按成绩、班级’进行排序默认升序排列由低到高select 姓名,班级,成绩 from students WHERE 成绩 98 ORDER BY 成绩 DESC;关键字DESC降序排列select 姓名,班级,成绩 from students WHERE 姓名 张三;select 姓名,班级,成绩 from students WHERE 姓名 LIKE 张%;select 姓名,班级,成绩 from students WHERE 姓名 LIKE 张_;1.使用等号查询姓名为张三的这条数据2.关键字LIKE模糊查询使用%代表0~n个任意字符3.使用_代表1个字符select 姓名,班级,成绩 from students WHERE 成绩 80;筛选成绩大于等于80的数据select 姓名,班级,成绩 from students WHERE 成绩 80 AND 成绩 90;关键字AND同时符合多个条件筛选成绩大于等于80同时小于90的数据select 姓名,班级,成绩 from students WHERE 成绩 BETWEEN 80 AND 90;关键字 BETWEEN aa AND bb筛选介于aa和bb之间的数据筛选大于等于80同时小于90的数据select 姓名,班级,成绩 from students WHERE 成绩 BETWEEN 80 AND 90 AND 班级 一年级;筛选大于等于80同时小于90的数据同时班级等于“一年级”的数据select 姓名,班级,成绩 from students WHERE 成绩 BETWEEN 80 AND 90 AND 班级 一年级 OR 班级 二年级;关键字OR符合任一条件筛选大于等于80同时小于90的数据同时班级等于“一年级”或者等于“二年级”的数据注意由于AND语法优先级比OR要高因此筛选条件是有先后顺序的①筛选大于等于80同时小于90的数据同时班级等于“一年级”②等于“二年级”的数据因此筛选出的数据包含两个部分的所有数据。select 姓名,班级,成绩 from students WHERE 成绩 BETWEEN 80 AND 90 AND (班级 一年级 OR 班级 二年级);圆括号先处理圆括号的条件。筛选成绩 80 且 90 班级等于“一年级”或者“二年级”select 姓名,班级,成绩 from students WHERE 成绩 BETWEEN 80 AND 90 AND (班级 IN (一年级,二年级));关键字IN筛选符合范围内任一符合的条件简化OR运算班级 IN (一年级,二年级)“班级”在“一年级”或者“二年级”的数据SELECT AVG(成绩),SUM(成绩),MAX(成绩),MIN(成绩),COUNT(成绩) FROM students;AVG(成绩)计算成绩列的平均数SUM(成绩)计算成绩列的总和MAX(成绩)成绩列的最大值MIN(成绩)成绩列的最小值COUNT(成绩)计算数量SELECT AVG(成绩) AS 平均成绩 FROM students;关键字AS为查询结果的栏位设置别名。将查询结果“AVG(成绩)”一列设置成“平均成绩”SELECT ROUND(AVG(成绩),1) AS 平均成绩 FROM students;ROUND(AVG(成绩),1)四舍五入语法指定保留1位小数ROUND(AVG(成绩))四舍五入语法指定保留整数位不保留小数SELECT 班级,ROUND(AVG(成绩),1) AS 平均成绩 FROM students GROUP BY 班级;GROUP BY 班级分组按照班级分组就可以得到每个班级的平均成绩注意使用GROUP BY分组之后的筛选不可以使用WHERE关键字而是改用HAVING关键字。SELECT 班级,ROUND(AVG(成绩),1) AS 平均成绩 FROM students GROUP BY 班级 HAVING 平均成绩 80;关键字HAVING筛选条件当使用分组之后使用注意关键字之间有使用顺序如下SELECT——FROM——WHERE——GROUP BY——HAVING——ORDER BY——LIMIT选择——来源——条件——分组——条件——顺序——数量限制SELECT COUNT(*) FROM students;COUNT(*)计算整个表格的总行数COUNT(成绩)计算非空的所有成绩的行数SELECT COUNT(DISTINCT 学号) FROM students;关键字DISTINCT移除重复结果注意不会自动排除NULL空值SELECT COUNT(DISTINCT 学号) FROM students WHERE 学号 IS NOT NULL;指定学号不为空值NULL配合DISTINCT就可以筛选出所有非空学号的总数二、创建CREATE TABLE创建表格create table 名称 { 第一栏名称 数据类型, 第二栏名称 数据类型 }; create table clubs{ 社团编号 int PRIMARY KEY, 社团名称 varchar(15) }主键Primary Key标识每一个资料不可以为空null不可以重复三、删除DROP TABLE删除表格DROP TABLE clubs;四、插入INSERT INTO ...VALUS...插入数据到表格INSERT INTO clubs(第一列名称,第二列名称) VALUS (101,篮球社),(102,歌唱团),(103,NULL); INSERT INTO clubs(社团编号,社团名称) VALUS (101,篮球社),(102,歌唱团),(103,NULL);向clubs表插入三行数据对应“社团编号”和“社团名称”列103不知道是什么社团名称所以补充空值NULL注意插入数据不可以缺失用NULL补全五、更新①UPDATE ... SET ...更新表格数据UPDATE clubs SET 社团名称 舞蹈社 WHERE 社团编号 103将社团编号为103的数据社团名称由‘NULL’更新为“舞蹈社”②DELETE删除某一行/多行数据DELETE FROM clubs WHERE 社团编号 104;删除clubs表格中社团编号为104的所有数据行六、跨表格查询SELECT students.姓名,students.社团,clubs.社团名称 FROM students LEFT JOIN clubs ON students.社团 clubs.社团编号 WHERE 班级 一年级;LEFT JOIN ... ON ...左连接结合表格并展示左侧表格的所有资料ON后面是两个表格按照什么进行连接比如这个就是students表格的‘社团’列和clubs表格的‘社团编号’列进行连接。查询出所有一年级的同学名称、社团、社团名称如下INNER JOIN... ON ...内连接如果只筛选能找到对应社团的名称将NULL都隐藏起来将LEFT JOIN换成INNER JOIN内连接这样就只有成功对应到社团名称的可以查询出来SELECT students.姓名,students.社团,clubs.社团名称 FROM students INNER JOIN clubs ON students.社团 clubs.社团编号 WHERE 班级 一年级;注意本文章为个人学习笔记仅供参考。本文章学习视频【SQL 十四分钟速成班没错不要怀疑资料库语法比中午决定吃什么还要简单】 https://www.bilibili.com/video/BV1bQxMehETa/?share_sourcecopy_webvd_sourceacd8c7efa8ef128730196ef3a561e1f0