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的包文件里.我们通 ...
随机推荐
- MTK Android ROM与RAM的区别
ROM与RAM 简单的说,一个完整的计算机系统是由软件和硬件组成的.其中,硬件部分由中央处理单元CPU(包括运算器和控制器).存储器和输入/输出设备构成.目前个人电脑上使用的主板一般只能支持到1GB的 ...
- go 反射包
一.什么是反射? 反射是用程序检查其所拥有的结构,尤其是类型的一种能力: 二.Printf Printf 的函数声明为: func Printf(format string, args ... int ...
- Apache Hudi 设计与架构最强解读
感谢 Apache Hudi contributor:王祥虎 翻译&供稿. 欢迎关注微信公众号:ApacheHudi 本文将介绍Apache Hudi的基本概念.设计以及总体基础架构. 1.简 ...
- 04 jmeter使用方式3种
1.手工添加配置元件编写 2.jmeter+badboy 工具录制---不建议使用 3.设置代理服务器(jmeter添加‘非测试元件-http代理服务器’,再添加一个线程组用来保留代理抓取的url,设 ...
- 理解class.forName() ---使用jdbc方式链接数据库时会经常看到这句代码
目录(?)[-] 官方文档 类装载 两种装载方法的区别 不同的类装载器 是否实例化类 在jdbc链接数据库中的应用 资源 原文地址:http://yanwushu.sinaapp.com/clas ...
- 011-指针(上)-C语言笔记
011-指针(上)-C语言笔记 学习目标 1.[掌握]字符串常用函数 2.[掌握]指针变量的声明 3.[掌握]指针变量的初始化 4.[掌握]函数与指针 5.[掌握]指针的数据类型 6.[掌握]多级指针 ...
- AJ学IOS(12)UI之UITableView学习(上)LOL英雄联盟练习
AJ分享,必须精品 先看效果图 源代码 NYViewController的代码 #import "NYViewController.h" #import "NYHero. ...
- sql server临时删除/禁用非聚集索引并重新创建加回/启用的简便编程方法研究对比
前言: 由于新型冠状病毒影响,博主(zhang502219048)在2020年1月份从广东广州工作地回到广东揭阳产业转移工业园磐东街道(镇里有阳美亚洲玉都.五金之乡,素以“金玉”闻名)老家后,还没过去 ...
- 【题解】LOJ2462完美的集合(树DP 魔改Lucas)
[题解]LOJ2462完美的集合(树DP 魔改Lucas) 省选模拟考这个??????????????????? 题目大意: 有一棵树,每个点有两个属性,一个是重量\(w_i\)一个是价值\(v_i\ ...
- react性能优化最佳实践
1.PureComponent 的使用场景 PureComponent 和 Component 的区别是,PureComponent 自带 shouldComponentUpdate 生命周期函数,会 ...