博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MySQL基础操作之单表的增删改
阅读量:1829 次
发布时间:2019-04-25

本文共 3352 字,大约阅读时间需要 11 分钟。

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

一、添加数据。

-- 1.创建表,并插入一定的数据。

 CREATE TABLE STUDENT(

ID INT,
 USERNAME VARCHAR(20),
SERVLET INT,
JSP INT,
 ADDRESS VARCHAR(30)
 )ENGINE=InnoDB DEFAULT CHARSET=utf8;
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;

转载地址:http://aurkf.baihongyu.com/

你可能感兴趣的文章
UVA 10100- Longest Match(dp之最长公共子序列)
查看>>
SDUT 3364-数据结构实验之图论八:欧拉回路(并查集)
查看>>
图的基础(C++)
查看>>
SAP用户增强总结-采购订单建立增加客户数据增强示例
查看>>
journal of neuroscience:面孔的神经表征与眼动模式相协调
查看>>
The Neuroscientist:运动性脑震荡的长期影响
查看>>
h5py is running against HDF5 1.10.5 when it was built against 1.10.4
查看>>
机器学习实战学习笔记一
查看>>
CString.Buffer()的作用
查看>>
【一次认识一个市场技术指标】之RSI(相对强弱指标)
查看>>
【vn.py】 策略实盘自动交易
查看>>
Java之Collections工具类方法使用以及源码分析(三)
查看>>
Flink之Java 8
查看>>
Flink之修改StreamExecutionEnvironment配置Job
查看>>
Why Apache Flink®?
查看>>
仿牛客社区项目2.5登录模块———登录退出功能
查看>>
仿牛客社区项目3.5——显示评论(普通功能,Controller层帖子-评论-回复)
查看>>
仿牛客社区项目3.6——增加评论,同时更新评论数【事务】
查看>>
[golang]-go中字符串格式化与fmt包简介
查看>>
[Leet-go]-复杂链表的复制
查看>>