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的包文件里.我们通 ...
随机推荐
- 文件的读写 - open
#写文件,r路径\n 空格\t 缩进# fan=open(r'C:/Users/demiyangping_v/Desktop/fan.txt','w', encoding='utf-8')# fan. ...
- synchronized 与 volatile 区别 还有 volatile 的含义
熟悉并发的同学一定知道在java中处理并发主要有两种方式: 1,synchronized关键字,这个大家应当都各种面试和笔试中经常遇到. 2,volatile修饰符的使用,相信这个修饰符大家平时在项目 ...
- loadrunner post请求
注意:loadrunner参数中的引号,需要自己加"\" post 请求,分为header 和body两个部分处理 header部分比较容易处理,使用函数实现,如web_add_h ...
- R - C Looooops POJ - 2115 (exgcd)
题目大意:很好理解,一个for循环语句,从a开始到b结束,步长是c,模数是pow(2,k) 问,最少循环多少次,才能到达b,如果永远都到不了b,输出FOREVER 题解:其实就是求一个线性方程,cx= ...
- The equation SGU - 106
题目链接:https://codeforces.com/problemsets/acmsguru/problem/99999/106 这个题是关于EXGCD特别好的一个题目.题目大意:有一个等式ax+ ...
- 详解 Lambda表达式
Lambda表达式 概述: Lambda 是一个匿名函数, 我们可以把 Lambda表达式理解为是一段可以传递的代码 (将代码像数据一样进行传递) 可以写出更简洁.更灵活的代码. 作为一种更紧凑的代码 ...
- vue如何添加jquery?
1.首选通过npm安装jquery? 2.在build/webpack.base.conf文件当中引入jquery <pre>module.exports = { ... resolve: ...
- 4.JS跳转路由/刷新/返回页面
1.JS跳转路由(需要拿到父组件的history) clickHandle(){ let history = this.props.history; history.push( '/home') } ...
- 最新VMware虚拟机安装Linux系统-CentOS(详细教程)
一.前言 最近有网友反应初学Linx不会安装,找了许多教程不是太全面,总会遇到一些要不是启动不了,要不是连不上网,各种问题,为了让大家能够顺利的安装,小乐写了一个非常详细的教程,让大家少入坑. 二.背 ...
- 微信小程序基本知识
逻辑实现 1 使用动态数据展示列表(可以考虑使用wx:for属性配合动态数组渲染全部列表项,以减少WXML页面的代码量) eg: <view class='listGroup' wx:for= ...