MySQL 增删改查(单表)
1、sql 新增语句
- 表中插入数据
- insert into + 表名 values(字段1value1,字段2value1,字段3value1),(字段1value2,字段2value2,字段3value2)
mysql> insert into t_student values(1,"zhangsan",18,"boy"),(2,"wangwu",20,"girl"); mysql> select * from t_student;
+----+----------+------+------+
| id | name | age | sex |
+----+----------+------+------+
| 1 | zhangsan | 18 | boy |
| 2 | wangwu | 20 | girl |
+----+----------+------+------+
- 对表中指定字段插入数据
- insert into +表名(字段1,字段2) values (字段1值,字段2值)
mysql> insert into t_student(id,name,age,sex)values(3,"zhaoliu",19,"boy"); mysql> select * from t_student; +----+----------+------+------+
| id | name | age | sex |
+----+----------+------+------+
| 1 | zhangsan | 18 | boy |
| 2 | wangwu | 20 | girl |
| 3 | zhaoliu | 19 | boy |
+----+----------+------+------+
- 删除表中指定数据
- delete from + 表名 where 条件
- delete from + 表名 ---> 清空表
# 删除 t_student 表中 id = 4 的数据
mysql> delete from t_student where id = 4 # 清空 t_student 表
mysql> delete from t_student
- 更新表中指定字段数据
- update + 表名 set 字段名=值 where 条件
# 修改 t_student 表中 wangwu 的性别为 boy
mysql> update t_student set sex = "boy" where name = "wangwu"; mysql> select * from t_student;
+----+----------+------+------+
| id | name | age | sex |
+----+----------+------+------+
| 1 | zhangsan | 18 | boy |
| 2 | wangwu | 20 | boy |
| 3 | zhaoliu | 19 | boy |
+----+----------+------+------+
4、sql 单表查询语句
- 查询表中所有数据
- select * from + 表名
- * 代表所有
- select * from + 表名
# 查询 t_student 表中所有数据
mysql> select * from t_student; +----+----------+------+------+
| id | name | age | sex |
+----+----------+------+------+
| 1 | zhangsan | 18 | boy |
| 2 | wangwu | 20 | boy |
| 3 | zhaoliu | 19 | boy |
+----+----------+------+------+
- 查询某个字段的数据
- select 字段 from + 表名
# 查询出 t_student 表中 name 字段的所有数据
mysql> select name from t_student; +----------+
| name |
+----------+
| zhangsan |
| wangwu |
| zhaoliu |
+----------+
- 查询多个字段的数据
- select 字段1,字段2 from + 表名
# 查询出 t_student 表中 name,age 两个字段的所有数据
mysql> select name,age from t_student; +----------+------+
| name | age |
+----------+------+
| zhangsan | 18 |
| wangwu | 20 |
| zhaoliu | 19 |
+----------+------+
- 查询满足某个条件的所有数据
- select * from + 表名 where 字段=值
- where 后面接满足的条件
- select * from + 表名 where 字段=值
mysql> select age,sex from t_student where name = "zhaoliu"; +------+------+
| age | sex |
+------+------+
| 19 | boy |
+------+------+
- 查询不满足某个条件的所有数据
- select * from + 表名 where 字段 != value
- != 代表不等于,也可以用符号 <> 代表不等于
- select * from + 表名 where 字段 != value
mysql> select age,sex from t_student where name != "zhaoliu";
+------+------+
| age | sex |
+------+------+
| 18 | boy |
| 20 | boy |
+------+------+ mysql> select age,sex from t_student where name <> "zhaoliu";
+------+------+
| age | sex |
+------+------+
| 18 | boy |
| 20 | boy |
+------+------+
- 查询同时满足多个条件数据
- select * from + 表名 where 条件1 and 条件2
- and 关键字左右的两个条件必须同时满足
- select * from + 表名 where 条件1 and 条件2
# 查询出性别为 boy 且班级为 2 班的学生信息
mysql> select * from t_student where sex = "boy" and class = 2; +----+---------+------+------+-------+
| id | name | age | sex | class |
+----+---------+------+------+-------+
| 3 | zhaoliu | 19 | boy | 2 |
+----+---------+------+------+-------+
- 查询满足至少 1 个条件的数据
- select * from + 表名 where 条件1 or 条件2
- or 关键字左右的两个条件至少满足 1 个,否则返回空
- select * from + 表名 where 条件1 or 条件2
# 查询出年纪为 18 岁 或者班级为 2 班的学生信息
mysql> select * from t_student where age = 18 or class = 2; +----+----------+------+------+-------+
| id | name | age | sex | class |
+----+----------+------+------+-------+
| 1 | zhangsan | 18 | boy | 1 |
| 3 | zhaoliu | 19 | boy | 2 |
+----+----------+------+------+-------+
- 查询一个条件范围内的数据
- select * from + 表名 where 字段 between m and n
- between...and ... 指定一个范围
- select * from + 表名 where 字段 between m and n
# 查询出年纪在 19 - 20 之间的学生信息
mysql> select * from t_student where age between 19 and 20; +----+---------+------+------+-------+
| id | name | age | sex | class |
+----+---------+------+------+-------+
| 2 | wangwu | 20 | boy | 1 |
| 3 | zhaoliu | 19 | boy | 2 |
+----+---------+------+------+-------+
- 查询字段满足在指定的集合中的数据
- select * from + 表名 where 字段 in(值1,值2,值3)
mysql> select * from t_student where age in (18,19); +----+----------+------+------+-------+
| id | name | age | sex | class |
+----+----------+------+------+-------+
| 1 | zhangsan | 18 | boy | 1 |
| 3 | zhaoliu | 19 | boy | 2 |
+----+----------+------+------+-------+
- 查询字段不满足在指定集合中的数据
- select * from + 表名 where 字段 not in (值1,值2,值3)
mysql> select * from t_student where age not in (18,19); +----+--------+------+------+-------+
| id | name | age | sex | class |
+----+--------+------+------+-------+
| 2 | wangwu | 20 | boy | 1 |
+----+--------+------+------+-------+
- 查询字段值为空的数据
- select * from + 表名 where 字段 is null
- 注意:字段是空不能写成 字段 = null
- select * from + 表名 where 字段 is null
mysql> select * from t_student where class is NULL; +----+------+------+------+-------+
| id | name | age | sex | class |
+----+------+------+------+-------+
| 4 | lisi | 22 | girl | NULL |
+----+------+------+------+-------+
- 查询字段不为空的数据
- select * from + 表名 where 字段 is not null
mysql> select * from t_student where class is not NULL; +----+----------+------+------+-------+
| id | name | age | sex | class |
+----+----------+------+------+-------+
| 1 | zhangsan | 18 | boy | 1 |
| 2 | wangwu | 20 | boy | 1 |
| 3 | zhaoliu | 19 | boy | 2 |
+----+----------+------+------+-------+
- 查询某个字段模糊匹配成功的数据
- select * from +表名 where 字段 like "%值%"
- % 用于匹配字段开头和结尾
- select * from +表名 where 字段 like "%值%"
# 查询出表中姓 zhang 的学生信息
mysql> select * from t_student where name like "zhang%"; +----+----------+------+------+-------+
| id | name | age | sex | class |
+----+----------+------+------+-------+
| 1 | zhangsan | 18 | boy | 1 |
+----+----------+------+------+-------+ # 查询出表中姓名中带有 ng 的学生信息
mysql> select * from t_student where name like "%ng%"; +----+----------+------+------+-------+
| id | name | age | sex | class |
+----+----------+------+------+-------+
| 1 | zhangsan | 18 | boy | 1 |
| 2 | wangwu | 20 | boy | 1 |
+----+----------+------+------+-------+
- 查询限定的数量的数据
- select * from + 表名 limit m,n
- m 指下标,n 指限定的数量,下标为 m 的开始的 n 条数据
- select * from + 表名 limit m,n
# 查询出表中 第 2,3 两行学生信息
mysql> select * from t_student limit 1,2; +----+---------+------+------+-------+
| id | name | age | sex | class |
+----+---------+------+------+-------+
| 2 | wangwu | 20 | boy | 1 |
| 3 | zhaoliu | 19 | boy | 2 |
+----+---------+------+------+-------+
- 查询的数据根据某个字段从小到大排序
- select * from + 表名 order by 字段 asc
- order by ...asc 从小到大排序
- select * from + 表名 order by 字段 asc
# 查询表数据,按照 age 字段升序排序
mysql> select * from t_student order by age asc; +----+----------+------+------+-------+
| id | name | age | sex | class |
+----+----------+------+------+-------+
| 1 | zhangsan | 18 | boy | 1 |
| 3 | zhaoliu | 19 | boy | 2 |
| 2 | wangwu | 20 | boy | 1 |
| 4 | lisi | 22 | girl | NULL |
+----+----------+------+------+-------+
- 查询的数据根据某个字段从大到小排序
- select * from + 表名 order by 字段 desc
- order by ... desc 从大到小排序
- select * from + 表名 order by 字段 desc
# 查询表数据,按照 age 字段降序排序
mysql> select * from t_student order by age desc; +----+----------+------+------+-------+
| id | name | age | sex | class |
+----+----------+------+------+-------+
| 4 | lisi | 22 | girl | NULL |
| 2 | wangwu | 20 | boy | 1 |
| 3 | zhaoliu | 19 | boy | 2 |
| 1 | zhangsan | 18 | boy | 1 |
+----+----------+------+------+-------+
- 查询的数据根据某个字段进行分组
- select * from + 表名 group by 字段
- group by ... 根据条件分组
- select * from + 表名 group by 字段
mysql> select * from t_student group by class; +----+----------+------+------+-------+
| id | name | age | sex | class |
+----+----------+------+------+-------+
| 4 | lisi | 22 | girl | NULL |
| 1 | zhangsan | 18 | boy | 1 |
| 3 | zhaoliu | 19 | boy | 2 |
+----+----------+------+------+-------+
- 查询的数据根据某个字段进行分组再条件过滤
- select * from + 表名 group by 字段 having 条件
- having 跟在 group by 后面,作用相当于 where
- select * from + 表名 group by 字段 having 条件
mysql> select * from t_student group by class having sex = "girl"; +----+------+------+------+-------+
| id | name | age | sex | class |
+----+------+------+------+-------+
| 4 | lisi | 22 | girl | NULL |
+----+------+------+------+-------+
- 聚合函数
- 统计查询数据的数量
- select count(*) from + 表名
- 统计查询数据的数量
# 统计表中有多少行数据
mysql> select count(*) from t_student; +----------+
| count(*) |
+----------+
| 4 |
+----------+
- 查询某个字段求和
- select sum(字段) from + 表名
- 查询某个字段求和
# 求出所有学员年纪之和
mysql> select sum(age) from t_student; +----------+
| sum(age) |
+----------+
| 79 |
+----------+
- 查询某个字段进行平均值
- select avg(字段) from + 表名
- 查询某个字段进行平均值
# 求出平均年纪
mysql> select avg(age) from t_student; +----------+
| avg(age) |
+----------+
| 19.7500 |
+----------+
- 查询某个字段最大值
- select max(字段) from + 表名
- 查询某个字段最大值
# 求出最大年纪
mysql> select max(age) from t_student; +----------+
| max(age) |
+----------+
| 22 |
+----------+
- 查询某个字段最小值
- select min(字段) from + 表名
- 查询某个字段最小值
# 求出最小年纪
mysql> select min(age) from t_student; +----------+
| min(age) |
+----------+
| 18 |
+----------+
- 对某个字段进行去重
- select distinct(字段) from + 表名
- 对某个字段进行去重
# 对 class 字段去重
mysql> select distinct(class) from t_student; +-------+
| class |
+-------+
| 1 |
| 2 |
| NULL |
+-------+
MySQL 增删改查(单表)的更多相关文章
- mysql数据库:mysql增删改、单表、多表及子查询
一.数据增删改 二.单表查询 三.正表达式匹配 四.多表查询 五.子查询 一..数据增删改 增加 insert [into] 表名[(可选字段名)] values(一堆值1),( ...
- Django框架之第二篇--app注册、静态文件配置、form表单提交、pycharm连接数据库、django使用mysql数据库、表字段的增删改查、表数据的增删改查
本节知识点大致为:静态文件配置.form表单提交数据后端如何获取.request方法.pycharm连接数据库,django使用mysql数据库.表字段的增删改查.表数据的增删改查 一.创建app,创 ...
- MySQL—增删改查,分组,连表,limit,union,alter,排序,去重
MySQL增删改查 在表格的增删改查中,查的内容是最多的,包括group by ,join,limit,union,alter,排序都是服务于查的 #sql语句数据行操作补充 #增加: #insert ...
- mysql增删改查练习
Mysql增删改查sql语句练习 关于数据库的一些操作: 进入mysql 命令行: mysql -uroot –p 查看所有数据库: show databases; 创建数据库: create dat ...
- mysql增删改查相关操作
mysql增删改查相关操作 以前用mysql用的少,对于数据库相关的操作不熟悉,现在开始要接触数据库了,记录一下相关的基础操作吧. 1.数据库的授权操作 # mysql -u root -p Ente ...
- MySQL增删改查的常用语句汇总
MySQL增删改查的常用语句汇总 以下是总结的mysql的常用语句,欢迎指正和补充~ 一.创建库,删除库,使用库 1.创建数据库:create database 库名; 2.删除数据库:drop da ...
- oracle触发器中增删改查本表
oracle触发器中增删改查本表 (1)只有before insert触发器中才可以查询或更新本表 create or replace trigger tri_test_ins before inse ...
- PHP MySql增删改查
mysql_connect()连接数据库 mysql_select_db选择数据库 mysql_fetch_assoc()获取结果集 mysql_query()执行sql语句 实例如下: <?p ...
- IOS-CoreData(增删改查、表关联、分页和模糊查询、多个数据库)
1>什么是CoreData Core Data是iOS5之后才出现的一个框架,它提供了对象-关系映射(ORM)的功能,即能够将OC对象转化成数据,保存在SQLite数据库文件中,也能够将保存在数 ...
- Django学习之mysql增删改查
上节介绍了如何使用命令行操作mysql增删改查,现在介绍如何使用python管理mysql 使用pip 下载完mysql后,mysql会以pymysql模块的形式存储在pycharm的包文件里.我们通 ...
随机推荐
- Linux网络安全篇,认识防火墙(二),Netfilter
一.概述 因为iptables软件利用的是数据包的过滤的机制.所以它会分析数据包的报头数据.根据报头数据与定义的规则来决定该数据是否可以放行.若数据包内容与规则内容相同则放行,否则继续与下一条规则进行 ...
- 廖雪峰 Git 教程 + Git-Cheat-Sheet 学习总结
廖雪峰 Git 教程 + Git-Cheat-Sheet 学习总结 本教程主要是个人的 Git 学习总结. 主要参考博客: 廖雪峰 Git 教程 Git-Cheat-Sheet 文章目录 廖雪峰 Gi ...
- 游戏开服 报一些 ip 设置 数据格式的异常,但断点明明都是数字 没问题的
游戏服开始起服,结果报乱七八招的错误,先 ccs 那 ip 有问题,我给直接注释掉了:然后又 报 KeyValueDictCache 中 ips 设置有问题,都是报格式错误,结果我断点明明都是数字结 ...
- AJ学IOS(08)UI之热门_喜马拉雅UI实现-UIScrollView的使用
AJ分享,必须精品 先看效果 storyBoard用到的控件 代码实现 */ // // NYViewController.m // 05 - 喜马拉雅 // // Created by apple ...
- Salesforce Spring '20新功能集锦系列(二)
一.使用Data Mask保护沙盒数据 对于Salesforce管理员和开发人员,Data Mask是功能强大的新数据安全资源.管理员可以使用数据掩码自动加密沙盒中的数据,无需手动保护数据和沙盒组织的 ...
- E - Sum of gcd of Tuples (Hard) Atcoder 162 E(容斥)
题解:这个题目看着挺吓人的,如果仔细想想的话,应该能想出来.题解还是挺好的理解的. 首先设gcd(a1,a2,a3...an)=i,那么a1~an一定是i的倍数,所以ai一共有k/i种取值.有n个数, ...
- 详解 Arrays类
请关注本人博文--<详解 普通数组 -- Arrays类 与 浅克隆> Arrays类: 概述: 针对数组进行操作的工具类.它提供了对于数组的值的排序.查找等功能. 现在,本人来展示一下A ...
- HuggingFace-transformers系列的介绍以及在下游任务中的使用
内容介绍 这篇博客主要面向对Bert系列在Pytorch上应用感兴趣的同学,将涵盖的主要内容是:Bert系列有关的论文,Huggingface的实现,以及如何在不同下游任务中使用预训练模型. 看过这篇 ...
- 【题解】P2602 数字计数 - 数位dp
P2602 [ZJOI2010]数字计数 题目描述 给定两个正整数 \(a\) 和 \(b\) ,求在 \([a,b]\) 中的所有整数中,每个数码(digit)各出现了多少次. 输入格式 输入文件中 ...
- 详细的JavaScript知识梳理和经典的一百个例题,让你掌握JavaScript
这里先做一下JavaScript知识点的梳理,具体的可领取资料 JavaScript语法: js语法.png DOM操作: DOM操作.png 数据类型 面向对象 继承 闭包 插件 作用域 跨域 原型 ...