阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

MySQL基础操作之单表的增删改查

189次阅读
没有评论

共计 2926 个字符,预计需要花费 8 分钟才能阅读完成。

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,'');

MySQL 基础操作之单表的增删改查

— 2. 插入部分数据

INSERT INTO STUDENT (ID,USERNAME) VALUES(8,'李十十');

MySQL 基础操作之单表的增删改查

二、修改数据

–1. 根据条件修改数据

UPDATE STUDENT SET SERVLET = 86 WHERE ID =1;

MySQL 基础操作之单表的增删改查

–2. 修改多个字段的内容

UPDATE STUDENT SET SERVLET = 65,JSP = 73 WHERE ID = 2;

 MySQL 基础操作之单表的增删改查

三、删除数据(暂无演示)

— 7. 删除所有数据

— 可以带条件删除,只能删除表的数据,不能删除表的约束,即自增长数值接着上次删除的数值增长,删除数据可以回滚。
DELETE FROM STUDENT;

— 8. 带条件删除
DELETE FROM STUDENT WHERE SID = 2;
— 9. 另一种删除方式, 输出表中所有数据

— 不能带条件删除,既可以删除表的数据,也可以删除表的约束,永久删除。

TRUNCATE TABLE STUDENT;

四、单表查询

— 1. 查询所有列

SELECT * FROM STUDENT;

 MySQL 基础操作之单表的增删改查

— 2. 查询指定列

SELECT ID ,USERNAME FROM STUDENT;

MySQL 基础操作之单表的增删改查

— 3. 查询时指定别名
— 在多表查询时经常使用表的别名

SELECT ID AS '编号 ' ,USERNAME AS ' 用户名' FROM STUDENT AS S;

 MySQL 基础操作之单表的增删改查

— 4.A 查询时添加常量列

SELECT ID ,USERNAME,'这是一个班 ' AS ' 备注' FROM STUDENT;

MySQL 基础操作之单表的增删改查

— 5. 查询时合并列
— 查询每个学生的 SERVLET 和 JSP 的总成绩
— 合并列只能合并数值类型的字段。

SELECT ID ,USERNAME ,(SERVLET+JSP) AS '总成绩' FROM STUDENT;

 MySQL 基础操作之单表的增删改查

— 6. 查询去除重复记录
— 查询所有 JSP 成绩可以出现的情况

SELECT DISTINCT ADDRESS FROM STUDENT;

MySQL 基础操作之单表的增删改查

— 另一种语法

SELECT DISTINCT(ADDRESS) FROM STUDENT; 

— 7. 条件查询(WHERE)
— 7.1 逻辑条件 AND OR
— 查询 SID 为 2,且姓名为李四的学生

SELECT * FROM STUDENT WHERE ID = 2 AND USERNAME = '李四';

 MySQL 基础操作之单表的增删改查

— 7.1.1 查询 SID 为 2,或姓名为张三的学生

SELECT * FROM STUDENT WHERE ID = 2 OR USERNAME = '张三';

MySQL 基础操作之单表的增删改查

— 7.2 比较条件 > < >= <= == <> BETWEEN AND
— 7.2.1 查询 SERVLET 成绩大于 70 分的学生

SELECT * FROM STUDENT WHERE SERVLET > 70;

 MySQL 基础操作之单表的增删改查

— 7.2.2 查询 SERVLET 成绩大于 60 分小于 80 分的学生

SELECT * FROM STUDENT WHERE SERVLET >60 AND SERVLET < 80;

MySQL 基础操作之单表的增删改查

— 7.2.3 查询 SERVLET 成绩大于等于 70 小于等于 80 的学生

SELECT * FROM STUDENT WHERE SERVLET >=70 AND SERVLET <=80;

MySQL 基础操作之单表的增删改查

— 7.2.4 另外一种语法

SELECT * FROM STUDENT WHERE SERVLET BETWEEN 70 AND 80;

MySQL 基础操作之单表的增删改查

— 7.2.5 查询 姓名不等于张三的记录

SELECT * FROM STUDENT WHERE USERNAME <>'张三';

 MySQL 基础操作之单表的增删改查

— 7.3 判空(null 空字符串) IS NULL IS NOT NULL =” <>”
— 7.3.1 判断 NULL

SELECT * FROM STUDENT WHERE ADDRESS IS NULL;

MySQL 基础操作之单表的增删改查

— 7.3.2 判断空字符串

SELECT * FROM STUDENT WHERE ADDRESS ='';

MySQL 基础操作之单表的增删改查

— 7.3.3 查询地址为空的记录

SELECT * FROM STUDENT WHERE ADDRESS IS NULL OR ADDRESS = '';

MySQL 基础操作之单表的增删改查

— 7.3.4 查询地址不为空的记录

SELECT * FROM STUDENT WHERE ADDRESS IS NOT NULL AND ADDRESS <>'';

MySQL 基础操作之单表的增删改查

— 7.4 模糊条件 LIKE
— 通常使用以下替换的标记:%:表示任意字符;_:表示一个字符
— 7.4.1 查询姓李学生的记录

SELECT * FROM STUDENT WHERE USERNAME LIKE '李 %';

 MySQL 基础操作之单表的增删改查

— 8. 聚合查询
— 常用的聚合函数:SUM() AVG() MAX() MIN() COUNT()
— 8.1 查询学生 SERVLET 总成绩

SELECT SUM(SERVLET) AS 'SERVLET 的总成绩' FROM STUDENT;

MySQL 基础操作之单表的增删改查

— 8.2 查询 学生 SERVLET 的平均分

SELECT AVG(SERVLET) AS 'SERVLET 的平均分' FROM STUDENT;

MySQL 基础操作之单表的增删改查

— 8.3 查询当前 SERVLET 的最高分

SELECT MAX(SERVLET) AS '最高分' FROM STUDENT;

MySQL 基础操作之单表的增删改查

— 8.4 查询 SERVLET 的最低分

SELECT MIN(SERVLET) AS '最低分' FROM STUDENT;

MySQL 基础操作之单表的增删改查

— 查询当前有多少学生 COUNT(字段)

SELECT COUNT(*) FROM STUDENT;

MySQL 基础操作之单表的增删改查

— 9. 分页查询 LIMIT 起始行,查询几行。主要用于分页。
— 查询第 1,2 条记录

SELECT * FROM STUDENT LIMIT 0,2;

MySQL 基础操作之单表的增删改查

— 10. 排序,默认情况下按插入记录的顺序排序。ORDER BY
— 10.1ASC 正序 DESC 倒序

SELECT * FROM STUDENT ORDER BY ID DESC;

MySQL 基础操作之单表的增删改查

— 10.2 按照 SERVLET 正序,再 JSP 倒序

SELECT * FROM STUDENT ORDER BY SERVLET ASC ,JSP DESC;

MySQL 基础操作之单表的增删改查

— 11. 分组查询 GROUP BY
— 查询每个地区的人数

SELECT ADDRESS,COUNT(*) FROM STUDENT GROUP BY ADDRESS;

MySQL 基础操作之单表的增删改查

— 12. 分组查询后筛选
— 查询分组后区域人数超过 1 个人的区域 GROUP BY 后面不能再跟条件 where

SELECT ADDRESS ,COUNT(*) FROM STUDENT GROUP BY ADDRESS HAVING COUNT(*)>1;

MySQL 基础操作之单表的增删改查

本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-10/136243.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-22发表,共计2926字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中