sql数据管理语句
一、数据管理
1、增加数据
INSERT INTO student VALUES(1,'张三','男',20);
-- 插入所有字段。一定依次按顺序插入
-- 注意不能少或多字段值
如只需要插入部分字段
INSERT INTO student(id,NAME) VALUES(2,'李四');
--只添加id 和NAME两列内容,也要依此按顺序
2、修改数据
UPDATE student SET gender='男' WHERE id=1;
-- 修改id为1的学生,修改性别为男
修改多个字段
UPDATE student SET gender='男',age=30 WHERE id=2;
-- 修改多个字段,注意: SET 字段名=值,字段名=值
3、删除数据
DELETE FROM student WHERE id=2;
-- 带条件的删除,删除id=2的行
DELETE FROM student;
--不带条件,删除student所有数据
另一种方式
-- delete from: 可以全表删除
1)可以带条件删除
2)只能删除表的数据,不能删除表的约束
3)使用delete from删除的数据可以回滚(事务)
-- truncate table: 可以全表删除
1)不能带条件删除
2)即可以删除表的数据,也可以删除表的约束
3)使用truncate table删除的数据不能回滚
4、查询数据
1>查询所有列
SELECT * FROM student;
2>查询指定列
SELECT id,NAME,gender FROM student;
3>查询时添加常量
给查询字段添加常量方便观看,对原表格没有影响
SELECT pro_name AS '产品名称',price FROM product;
--原显示pro_name 和price,现在换成:产品名称 和 price

4>查询时合并列
合并列只能合并相同类型且是数值类型的字段
SELECT sname,(servlet+jsp+html) AS '总成绩'FROM student;
5>查询时去除重复记录
-- 需求: 查询学生的性别 男 女
SELECT DISTINCT sex FROM student;
-- 另一种语法(是否有括号没有区别)
SELECT DISTINCT(sex) FROM student;

6>条件查询
1、逻辑条件: and(与) or(或)
SELECT * FROM student WHERE id=2 AND NAME='李四'; -- 交集
SELECT * FROM student WHERE id=2 OR NAME='张三'; -- 并集
2、比较条件: > < >= <= = <>(不等于) between and (等价于>= 且 <=)
SELECT * FROM student WHERE jsp>=75 AND jsp<=90;
--等同于between and
SELECT * FROM student WHERE jsp BETWEEN 75 AND 90; -- (包前包后) --查询不等于男的学生
SELECT * FROM student WHERE gender<>'男';
3、判空条件
null,是空,里面没有内容
'' 是空字符串,里面有内容,内容是空字符串
is null 是空
is not null 不是空
='' 是空字符串
<>'' 不是空字符串
-- 判断null
SELECT * FROM student WHERE address IS NULL ;
SELECT * FROM student WHERE address IS NOT NULL ;
-- 判断空字符串
SELECT * FROM student WHERE address='';
--查询不等于空的学生
SELECT * FROM student WHERE address<>'';
查询有地址的学生(不包括null和空字符串)
SELECT * FROM student WHERE address IS NOT NULL AND address<>'';
4、模糊条件:like
-- % : 表示任意个字符
--%在前表示前面可以有字符,%在后表示后面可以有字符
--查询含有'索尼'字符的数据
SELECT * FROM product WHERE pro_name LIKE '%索尼%';
-- _ : 表示一个字符
-- 需求: 查询姓‘李’,且姓名只有两个字的学生
SELECT * FROM student WHERE NAME LIKE '李_';
7、聚合查询
-- 常用的聚合函数: sum() 总和, avg() 平均分, max() 最大值, min()最小值, count()统计数量
-- 需求: 查询学生的servlet的平均分
SELECT AVG(servlet) AS 'servlet的平均分' FROM student;
SELECT COUNT(*) FROM student;
--查询共有多少学生
-- 注意:count()函数统计的数量不包含null的数据
-- 使用count统计表的记录数,要使用不包含null值的字段
8、分页查询
语法:limit 起始行,查询几行,起始行从0开始
SELECT * FROM student LIMIT 0,2;
-- 从第一行开始,显示两行
9、查询排序
语法 :order by 字段 asc/desc,默认顺序
-- asc: 顺序,正序。数值:递增,字母:自然顺序(a-z)
-- desc: 倒序,反序。数值:递减,字母:自然反序(z-a)
SELECT * FROM student ORDER BY id; -- 默认正序123 SELECT * FROM student ORDER BY id DESC;-- 反序321
多个排序条件
SELECT * FROM student ORDER BY servlet ASC,jsp DESC
-- 按照servlet为主顺序,正序排列,当servlet数值相同时,后面的jsp倒序排列其他的JSP不按照倒序排列
10、分组查询 (group by)
SELECT gender,COUNT(*) FROM student GROUP BY gender
--查询男女的人数
分组查询后筛选
-- 需求: 查询总人数大于2的性别
SELECT gender,COUNT(*) FROM student GROUP BY gender HAVING COUNT(*)>2;
-- 注意: 分组之前条件使用where关键字,分组之后条件使用having关键字
sql数据管理语句的更多相关文章
- [转]MySQL 最基本的SQL语法/语句
MySQL 最基本的SQL语法/语句,使用mysql的朋友可以参考下. DDL-数据定义语言(Create,Alter,Drop,DECLARE) DML-数据操纵语言(Select,Delete ...
- SQL入门语句之ORDER BY 和GROUP BY
一.SQL入门语句之ORDER BY ORDER BY 是用来基于一个或多个列按升序或降序顺序排列数据 1.从数据库表获取全部数据按字段A的升序排列 select *from table_name o ...
- SQL入门语句之LIKE、GLOB和LIMIT
一.SQL入门语句之LIKE LIKE用来匹配通配符指定模式的文本值.如果搜索表达式与模式表达式匹配,LIKE 运算符将返回真(true),也就是 1.这里有两个通配符与 LIKE 运算符一起使用,百 ...
- SQL入门语句之SELECT和WHERE
一.SQL入门语句之SELECT SELECT语句用于从数据库表中获取数据,结果表的形式返回数据.这些结果表也被称为结果集 1.从数据库表中取部分字段 select 字段A,字段B from tabl ...
- SQL入门语句之INSERT、UPDATE和DELETE
一.SQL入门语句之INSERT insert语句的功能是向数据库的某个表中插入一个新的数据行 1.根据对应的字段插入相对应的值 insert into table_name(字段A, 字段B, 字段 ...
- 快速将一个表的数据生成SQL插入语句
将一个表中的数据生成SQL插入语句,方便系统快速初始化,在数据库中执行创建以下过程就可以了. ) Drop Procedure GenerateData go CREATE PROCEDURE Gen ...
- sql查询语句如何解析成分页查询?
我们公司主要mysql存储数据,因此也封装了比较好用mysql通用方法,然后,我们做大量接口,在处理分页查询接口,没有很好分查询方法.sql查询 语句如何解析成“分页查询”和“总统计”两条语句.可能, ...
- 规则引擎集成接口(四)SQL执行语句
SQL执行语句 右键点击数据库连接文件“hr”—“添加SQL执行语句”,如下图: 弹出窗体,如下图: 将显示名称改为“部门名称”,返回至类型设置为“string”,在编写sql语句,如下图: 点击确定 ...
- SQL SELECT 语句
本章讲解 SELECT 和 SELECT * 语句. SQL SELECT 语句 SELECT 语句用于从表中选取数据. 结果被存储在一个结果表中(称为结果集). SQL SELECT 语法 SE ...
随机推荐
- js事件入门(6)
7.事件冒泡机制 7.1.什么是事件冒泡 当一个元素接收到一个事件以后,会将事件传播给它的父级元素,它的负级元素会一层一层往上传播,直到最顶层window,这种事件传播机制叫作事件冒泡. <!D ...
- MVC+EFCore 项目实战-数仓管理系统1
项目背景及需求说明 这是一个数据管理"工具类"的系统,计划有三个核心功能: 1.通过界面配置相关连接字符串,查询数据库的表数据. 2.配置相关模板,生成数据库表. 可以界面填报或通 ...
- 深入理解JVM(③)Java模块化系统
前言 JDK9引入的Java模块化系统(Java Platform Module System ,JPMS)是 对Java技术的一次重要升级,除了像之前JAR包哪有充当代码的容器之外,还包括: 依赖其 ...
- 要想数组用的 6,怎能不懂 java.util.Arrays
java.util.Arrays 类就是为数组而生的专用工具类,基本上常见的对数组的操作,Arrays 类都考虑到了,这让我由衷地觉得,是时候给该类的作者 Josh Bloch.Neal Gafter ...
- 特殊方格棋盘【状压DP】
特殊方格棋盘[状压DP] 讲真状压DP这个东西只不过是有那么亿丢丢考验心态罢了(确信) 先从板子题说起,另加一些基础知识 题目描述 在的方格棋盘上放置n 个车,某些格子不能放,求使它们不能互相攻击的方 ...
- Web前端MVC框架的意义分析
前言: Web前端开发是Web技术发展中的一个重要组成部分,在传统的前端开发中由于外界因素的影响导致其开发形式呈现出简单化的特点,即以页面为主体来展示界面中的信息.然而随着科学技术的不断进步,Web前 ...
- 如何白嫖微软Azure12个月及避坑指南
Azure是微软提供的一个云服务平台.是全球除了AWS外最大的云服务提供商.Azure是微软除了windows之外另外一个王牌,微软错过了移动端,还好抓住了云服务.这里的Azure是Azure国际不是 ...
- Django---进阶15
目录 文章详情页 文章点赞点踩 文章评论 文章详情页 # url设计 /username/article/1 # 先验证url是否会被其他url顶替 # 文章详情页和个人站点基本一致 所以用模版继承 ...
- 记一次线上服务CPU 100%的处理过程
告警 正在开会,突然钉钉告警声响个不停,同时市场人员反馈客户在投诉系统登不进了,报504错误.查看钉钉上的告警信息,几台业务服务器节点全部报CPU超过告警阈值,达100%. 赶紧从会上下来,SSH登录 ...
- 为什么有时候人们用translate来改变位置而不是定位?
translate()是transform的一个值. 改变transform或opacity不会触发浏览器重新布局(reflow)或重绘(repaint),只会触发复合(compositions)(复 ...