Welcome 微信登录

首页 / 数据库 / MySQL / MySQL基础操作之单表的增删改查

MySQL基础操作之单表的增删改一、添加数据。-- 1.创建表,并插入一定的数据。 1 CREATE TABLE STUDENT( 2 ID INT, 3 USERNAME VARCHAR(20), 4 SERVLET INT, 5 JSP INT, 6 ADDRESS VARCHAR(30) 7 ); 8 INSERT INTO STUDENT VALUES (1,"张三",23,84,"京口区"); 9 INSERT INTO STUDENT VALUES (2,"李四",36,74,"润州区");10 INSERT INTO STUDENT VALUES (3,"王五",74,24,"京口区");11 INSERT INTO STUDENT VALUES (4,"赵六",87,85,"京口区");12 INSERT INTO STUDENT VALUES (5,"李七",63,98,"大港区");13 INSERT INTO STUDENT VALUES (6,"郑八",99,89,null);14 INSERT INTO STUDENT VALUES (7,"孙九",60,84,"");-- 2.插入部分数据INSERT INTO STUDENT (ID,USERNAME) VALUES(8,"李十十");二、修改数据--1.根据条件修改数据 UPDATE STUDENT SET SERVLET = 86 WHERE ID =1;--2.修改多个字段的内容UPDATE STUDENT SET SERVLET = 65,JSP = 73 WHERE ID = 2; 三、删除数据(暂无演示)-- 7.删除所有数据-- 可以带条件删除,只能删除表的数据,不能删除表的约束,即自增长数值接着上次删除的数值增长,删除数据可以回滚。
DELETE FROM STUDENT;-- 8.带条件删除
DELETE FROM STUDENT WHERE SID = 2;
-- 9.另一种删除方式,输出表中所有数据-- 不能带条件删除,既可以删除表的数据,也可以删除表的约束,永久删除。TRUNCATE TABLE STUDENT;四、单表查询-- 1.查询所有列SELECT * FROM STUDENT; -- 2.查询指定列SELECT ID ,USERNAME FROM STUDENT;-- 3.查询时指定别名
-- 在多表查询时经常使用表的别名SELECT ID AS "编号" ,USERNAME AS "用户名" FROM STUDENT AS S; -- 4.A查询时添加常量列SELECT ID ,USERNAME,"这是一个班" AS "备注" FROM STUDENT;-- 5.查询时合并列
-- 查询每个学生的SERVLET和JSP的总成绩
-- 合并列只能合并数值类型的字段。SELECT ID ,USERNAME ,(SERVLET+JSP) AS "总成绩" FROM STUDENT; -- 6.查询去除重复记录
-- 查询所有JSP成绩可以出现的情况SELECT DISTINCT ADDRESS FROM STUDENT;-- 另一种语法SELECT DISTINCT(ADDRESS) FROM STUDENT; -- 7.条件查询(WHERE)
-- 7.1逻辑条件 AND OR
-- 查询 SID为2,且姓名为李四的学生SELECT * FROM STUDENT WHERE ID = 2 AND USERNAME = "李四"; -- 7.1.1查询 SID为2,或姓名为张三的学生SELECT * FROM STUDENT WHERE ID = 2 OR USERNAME = "张三";-- 7.2比较条件 > < >= <= == <> BETWEEN AND
-- 7.2.1查询 SERVLET 成绩大于70分的学生SELECT * FROM STUDENT WHERE SERVLET > 70; -- 7.2.2查询 SERVLET 成绩大于60分小于80分的学生SELECT * FROM STUDENT WHERE SERVLET >60 AND SERVLET < 80;-- 7.2.3查询 SERVLET 成绩大于等于70小于等于80的学生SELECT * FROM STUDENT WHERE SERVLET >=70 AND SERVLET <=80;-- 7.2.4另外一种语法SELECT * FROM STUDENT WHERE SERVLET BETWEEN 70 AND 80;-- 7.2.5查询 姓名不等于张三的记录SELECT * FROM STUDENT WHERE USERNAME <>"张三"; -- 7.3判空(null 空字符串) IS NULL IS NOT NULL ="" <>""
-- 7.3.1判断NULLSELECT * FROM STUDENT WHERE ADDRESS IS NULL;-- 7.3.2判断空字符串SELECT * FROM STUDENT WHERE ADDRESS ="";-- 7.3.3查询地址为空的记录SELECT * FROM STUDENT WHERE ADDRESS IS NULL OR ADDRESS = "";-- 7.3.4查询地址不为空的记录SELECT * FROM STUDENT WHERE ADDRESS IS NOT NULL AND ADDRESS <>"";-- 7.4模糊条件 LIKE
-- 通常使用以下替换的标记:%:表示任意字符;_:表示一个字符
-- 7.4.1查询姓李学生的记录SELECT * FROM STUDENT WHERE USERNAME LIKE "李%"; -- 8.聚合查询
-- 常用的聚合函数:SUM() AVG() MAX() MIN() COUNT()
-- 8.1查询学生SERVLET 总成绩SELECT SUM(SERVLET) AS "SERVLET的总成绩" FROM STUDENT;-- 8.2查询 学生 SERVLET 的平均分SELECT AVG(SERVLET) AS "SERVLET的平均分" FROM STUDENT;-- 8.3查询当前 SERVLET 的最高分SELECT MAX(SERVLET) AS "最高分" FROM STUDENT;-- 8.4查询 SERVLET的最低分SELECT MIN(SERVLET) AS "最低分" FROM STUDENT;-- 查询当前有多少学生 COUNT(字段)SELECT COUNT(*) FROM STUDENT;-- 9.分页查询 LIMIT 起始行,查询几行。主要用于分页。
-- 查询第1,2条记录SELECT * FROM STUDENT LIMIT 0,2;-- 10.排序,默认情况下按插入记录的顺序排序。ORDER BY
-- 10.1ASC 正序 DESC 倒序SELECT * FROM STUDENT ORDER BY ID DESC;-- 10.2按照SERVLET正序,再JSP倒序SELECT * FROM STUDENT ORDER BY SERVLET ASC ,JSP DESC;-- 11.分组查询 GROUP BY
-- 查询每个地区的人数SELECT ADDRESS,COUNT(*) FROM STUDENT GROUP BY ADDRESS;-- 12.分组查询后筛选
-- 查询分组后区域人数超过1个人的区域 GROUP BY 后面不能再跟条件whereSELECT ADDRESS ,COUNT(*) FROM STUDENT GROUP BY ADDRESS HAVING COUNT(*)>1;本文永久更新链接地址