MYSQL基础操作之单表的增删改查
个人博客地址:https://www.vastyun.com
一、添加数据。
-- 1.创建表,并插入一定的数据。
CREATE TABLE STUDENT(
ID INT,
USERNAME VARCHAR(20),
SERVLET INT,
JSP INT,
ADDRESS VARCHAR(30)
);
INSERT INTO STUDENT VALUES (1,'张三',23,84,'京口区');
INSERT INTO STUDENT VALUES (2,'李四',36,74,'润州区');
INSERT INTO STUDENT VALUES (3,'王五',74,24,'京口区');
INSERT INTO STUDENT VALUES (4,'赵六',87,85,'京口区');
INSERT INTO STUDENT VALUES (5,'李七',63,98,'大港区');
INSERT INTO STUDENT VALUES (6,'郑八',99,89,null);
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判断NULL
SELECT * 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 后面不能再跟条件where
SELECT ADDRESS ,COUNT(*) FROM STUDENT GROUP BY ADDRESS HAVING COUNT(*)>1;

MYSQL基础操作之单表的增删改查的更多相关文章
- python全栈开发day61-django简单的出版社网站展示,添加,删除,编辑(单表的增删改查)
day61 django内容回顾: 1. 下载: pip install django==1.11.14 pip install -i 源 django==1.11.14 pycharm 2. 创建项 ...
- Django学习笔记(10)——Book单表的增删改查页面
一,项目题目:Book单表的增删改查页面 该项目主要练习使用Django开发一个Book单表的增删改查页面,通过这个项目巩固自己这段时间学习Django知识. 二,项目需求: 开发一个简单的Book增 ...
- hibernate对单表的增删改查
ORM: 对象关系映射(英语:Object Relational Mapping,简称ORM,或O/RM,或O/R mapping) 实现对单表的增删改查 向区域表中增加数据: 第一步: 新建一个Da ...
- django模型层 关于单表的增删改查
关于ORM MTV或者MVC框架中包括一个重要的部分,就是ORM,它实现了数据模型与数据库的解耦,即数据模型的设计不需要依赖于特定的数据库, 通过简单的配置就可以轻松更换数据库,这极大的减轻了开发人员 ...
- django 利用ORM对单表进行增删改查
牛小妹上周末,一直在尝试如何把数据库的数据弄到界面上.毕竟是新手,搞不出来,文档也看不懂.不过没关系,才刚上大学.今晚我们就来解释下,要把数据搞到界面的第一步.先把数据放到库里,然后再把数据从库里拿出 ...
- Mybatis(一)实现单表的增删改查
1.1 什么是Mybatis MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并 ...
- 1.SSM整合_单表的增删改查
目标:增删改查 环境:Maven+Eclipse+Tomcat7+JDK7 思维导图: 表结构 目录结构 依赖 <dependencies> <dependency> < ...
- Django中对单表的增删改查
之前的简单预习,重点在后面 方式一: # create方法的返回值book_obj就是插入book表中的python葵花宝典这本书籍纪录对象 book_obj=Book.objects.creat ...
- 【MySQL】对数据库和表的增删改查
数据库的基本概念 数据库的英文单词: DataBase 简称 : DB 什么是数据库? 用于存储和管理数据的仓库. 数据库的特点: 持久化存储数据的.其实数据库就是一个文件系统 方便存储和管理数据 使 ...
随机推荐
- Redola.Rpc 的一个小目标
Redola.Rpc 的一个小目标 Redola.Rpc 的一个小目标:20000 tps. Concurrency level: 8 threads Complete requests: 20000 ...
- 转-基于NodeJS的14款Web框架
基于NodeJS的14款Web框架 2014-10-16 23:28 作者: NodeJSNet 来源: 本站 浏览: 1,399 次阅读 我要评论暂无评论 字号: 大 中 小 摘要: 在几年的时间里 ...
- Windows 2008 R2 安装sp1时未知错误的解决办法
最近在为Windows Server 2008 R2 打sp1补丁时出现“发生未知错误”,详细信息错误:0x800f0818: google后找到解决问题步骤,参照:http://www.wikiho ...
- ABP框架 - 依赖注入
文档目录 本节内容: 什么是依赖注入 传统方式的问题 解决方案 构造器注入模式 属性注入模式 依赖注入框架 ABP 依赖注入基础 注册依赖 约定注入 辅助接口 自定义/直接 注册 使用IocManag ...
- C#设计模式-备忘录模式
访问者模式的实现是把作用于某种数据结构上的操作封装到访问者中,使得操作和数据结构隔离.而本文要介绍的备忘者模式与命令模式有点相似,不同的是,命令模式保存的是发起人的具体命令(命令对应的是行为),而备忘 ...
- postman使用
1.postman的下载:google首页左上角应用,点击后,如果没有下载postman,就在google商店搜索,点击右边按钮 2.下载后重新打开google首页,点击应用,可以看到已经下载过了,点 ...
- 一个技术汪的开源梦 —— 基于 .Net Core 的公共组件之 Http 请求客户端
一个技术汪的开源梦 —— 目录 想必大家在项目开发的时候应该都在程序中调用过自己内部的接口或者使用过第三方提供的接口,咱今天不讨论 REST ,最常用的请求应该就是 GET 和 POST 了,那下面开 ...
- Error:const char* 类型的实参和LPCWSTR类型的形参不兼容的解决方法。
在C++的Windows 应用程序中经常碰到这种情况. 解决方法: 加入如下转换函数: LPCWSTR stringToLPCWSTR(std::string orig) { size_t origs ...
- 分享在winform下实现模块化插件编程-优化版
上一篇<分享在winform下实现模块化插件编程>已经实现了模块化编程,但我认为不够完美,存在以下几个问题: 1.IAppContext中的CreatePlugInForm方法只能依据完整 ...
- Objective-C内存管理之引用计数
初学者在学习Objective-c的时候,很容易在内存管理这一部分陷入混乱状态,很大一部分原因是没有弄清楚引用计数的原理,搞不明白对象的引用数量,这样就当然无法彻底释放对象的内存了,苹果官方文档在内存 ...