接上 上篇文章继续

查询

# 比较运算
# 根据WHERE条件查找数据: = > < >= <= !=
select * from t_hero where age < 30;
# 逻辑判断
# AND : 指定多个条件,所有条件必须满足
select * from t_hero where age > 20 and state='吴';
# OR : 指定多个条件,满足任意一个条件即可
select * from t_hero where age > 20 or state='吴';
# NOT:不满足指定条件,
select * from t_hero where not age > 30;
select 列1,列2,... from 表名;
例:
select id,name from t_hero; 说明:主键列是自动增长,但是在全列插入时需要占位,通常使用0,插入成功后以实际数据为准
全列插入:值的顺序与表中字段的顺序对应
insert into 表名 values(...)
例:
insert into students values(0,'郭靖',1,'蒙古','2015-1-2');
部分列插入:值的顺序与给出的列顺序对应
insert into 表名(列1,...) values(值1,...)
例:
insert into students(name,hometown,birthday) values('黄蓉','桃花岛','2015-3-2');
上面的语句一次可以向表中插入一行数据,还可以一次性插入多行数据,这样可以减少与数据库的通信
全列多行插入:值的顺序与给出的列顺序对应
insert into 表名 values(...),(...)...;
例:
insert into classes values(0,'python'),(0,'linux'),(0,'mysql'),(0,'js');
insert into 表名(列1,...) values(值1,...),(值1,...)...;
例:
insert into students(name) values('杨康'),('杨过'),('小龙女');

删除

delete from 表名 where 条件
例:
delete from students where id=5;

修改

update 表名 set 列1=值1,列2=值2... where 条件
例:
update students set gender=0,hometown='古墓' where id=5;

模糊查询

# 模糊查询 like
# % : 代表任意多个的任意字符
select * from t_hero where name like "%张飞%"; # _ : 代表一个任意字符,如果多个_ 则表示多个任意字符
select *from t_hero where name like "_张飞_";

固定范围查询:

# 范围查询: IN 表示查询的值指定的集合内;
select *from t_hero where age in (30, 45);
# 范围查询:NOT IN 表示查询的字符不在指定的集合内
select *from t_hero where age not in (30, 45);

空值查询

# IS NULL :表示查找数据为空的数据
select *from t_hero where state is null;
# IS NOT NULL: 表示查找非空的数据
select *from t_hero where state is not null;

聚合函数

# count :统计个数,
select count(*) as "年龄大于30的人数"from t_hero where age > 30;
# max:统计某个列里的最大值,比如age
select max(age) as "蜀国的最大年龄"from t_hero where state = "蜀";
# min:统计某个列里的最小值
select min(age) as "魏国的最小年龄" from t_hero where state = "魏";
# sum: 统计某一列的数据之和,as 可以给查出的数据列起别名
select sum(age) as '魏国年龄总和' from t_hero where state = "魏";
# avg:统计某一列数据的平均值
select avg(age) as '魏国年龄平均数' from t_hero where state = "魏";

GROUP BY 分组操作

1. 单独使用:直接对数据进行分组(单独使用没有任何意义)
select * from t_hero group by state;
2. GROUP_CONCAT:对数据进行分组,并通过GOURP_CONCAT() 将指定列数据拼接到一起
select state, group_concat(name) from t_hero GROUP BY state; 3. 聚合函数:对数据进行分组,分组后的数据根据查询语句的聚合函数来统计指定的数据
SELECT gender, sum(age) FROM t_hero GROUP BY gender; 4. HAVING : 限制输出结果(对select 查询的结果进行限制输出):
# having是对最后select 的结果进行限制输出,having的字段必须在select查询的字段里
SELECT state, count(*) as num FROM t_hero GROUP BY state HAVING num >= 3;
SELECT state, count(*) as num FROM t_hero GROUP BY state HAVING state = '蜀';

排序:ORDER BY

# order by 对指定的列进行排序,
# 默认是升序(从小到大), ASC (ascend)
select * from t_hero ORDER BY id;
select * from t_hero ORDER BY id ASC; # DESC 指定为降序(从大到小)
select * from t_hero ORDER BY id DESC; # 配合where条件进行排序
select * from t_hero where state='蜀' and gender='男' ORDER BY age DESC;

MySQL_入手<二>之删--改--查的更多相关文章

  1. 好用的SQL TVP~~独家赠送[增-删-改-查]的例子

    以前总是追求新东西,发现基础才是最重要的,今年主要的目标是精通SQL查询和SQL性能优化.  本系列主要是针对T-SQL的总结. [T-SQL基础]01.单表查询-几道sql查询题 [T-SQL基础] ...

  2. iOS FMDB的使用(增,删,改,查,sqlite存取图片)

    iOS FMDB的使用(增,删,改,查,sqlite存取图片) 在上一篇博客我对sqlite的基本使用进行了详细介绍... 但是在实际开发中原生使用的频率是很少的... 这篇博客我将会较全面的介绍FM ...

  3. iOS sqlite3 的基本使用(增 删 改 查)

    iOS sqlite3 的基本使用(增 删 改 查) 这篇博客不会讲述太多sql语言,目的重在实现sqlite3的一些基本操作. 例:增 删 改 查 如果想了解更多的sql语言可以利用强大的互联网. ...

  4. django ajax增 删 改 查

    具于django ajax实现增 删 改 查功能 代码示例: 代码: urls.py from django.conf.urls import url from django.contrib impo ...

  5. ADO.NET 增 删 改 查

    ADO.NET:(数据访问技术)就是将C#和MSSQL连接起来的一个纽带 可以通过ADO.NET将内存中的临时数据写入到数据库中 也可以将数据库中的数据提取到内存中供程序调用 ADO.NET所有数据访 ...

  6. MVC EF 增 删 改 查

    using System;using System.Collections.Generic;using System.Linq;using System.Web;//using System.Data ...

  7. Go语言之进阶篇mysql增 删 改 查

    一.mysql操作基本语法 1.创建名称nulige的数据库 CREATE DATABASE nulige DEFAULT CHARSET utf8 COLLATE utf8_general_ci; ...

  8. oracle 11g 建库 建表 增 删 改 查 约束

    一.建库 1.(点击左上角带绿色+号的按钮) 2.(进入这个界面,passowrd为密码.填写完后点击下面一排的Test按钮进行测试,无异常就点击Connect) 二.建表 1-1. create t ...

  9. Django(十)模型:django模型类对数据库的:增/删/改/查、自关联、管理器、元选项(指定表名)

    一.插入.更新和删除 调用一个模型类对象的save方法的时候就可以实现对模型类对应数据表的插入和更新. 调用一个模型类对象的delete方法的时候就可以实现对模型类对应数据表数据的删除. 二.自关联 ...

随机推荐

  1. Python基础之注释

    有时候我们写的东西不一定都是给用户看的,或者不希望解释器执行,那么我们可以选择注释掉代码. 被注释的内容是不会执行的,可以方便在以后能读懂代码. 注释分为两种,一种是单行注释,一种是多行注释. 单行注 ...

  2. Android_(控件)使用ListView显示Android系统中联系人信息

    使用ListView显示手机中联系人的姓名和电话号码 父类布局activity_main.xml,子类布局line.xml(一个文件的单独存放) 运行截图: (避免泄露信息对部分地方进行了涂鸦O(∩_ ...

  3. Misc套路记录

    1.对于给定的二维码图片不能直接扫描出来的可以进行反色在进行扫描,反色可以直接选中图片然后就会进行反色.2.局域网中抓取的数据包的加密方式可能是aes加密.3.凯撒加密可能是变种的凯撒加密,可能奇数偶 ...

  4. JS基础_变量提升和函数提升

    1.在函数中,不使用var声明的变量都会变为全局变量 function fun(){ d=10; //window.d=10; }; console.log(10);//10 2.定义形参就相当于在函 ...

  5. css常见小问题(自己遇到的)

    禁止div点击 //css属性: pointer-events: none; //或者定义属性,在js中添加: $(".原类名").addClass("新类名" ...

  6. 解剖PTP协议

    一. PTP是什么? 英文为Precise Time Protocol,翻译过来就是精确时间协议 二. 为何会出现PTP? 大家想必是知道NTP的存在,然而NTP的精度很低,只能达到毫秒级别的精度,那 ...

  7. 七十五:flask.Restful之Restful.API介绍

    restful api是用于在前端与后台进行通信的一套规范,使用这个规范可以让前后端开发变得更加轻松 协议:http或者https 数据传输格式:使用json url链接:url链接中不能有动词(/g ...

  8. DEDECMS 漏洞汇总

    日期:2019-08-08 10:20:28 更新: 作者:Bay0net 介绍: 0x01.组合拳拿 shell 漏洞版本:v5.5 - v5.7 前台任意用户密码重置 首先注册一个账户,账户名为 ...

  9. stringstream 类型转换

    stringstream可以吞下不同的类型,然后吐出不同的类型. 这样可以实现int,string,double等类型的转换 #include<sstream> using namespa ...

  10. C语言基础:内置函数的调用

    #include<stdio.h>#include<math.h>#include<stdlib.h>#include<ctype.h>#include ...