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的包文件里.我们通 ...
随机推荐
- SpringMVC框架详细教程(二)
创建动态Web项目 1.创建动态Web项目: 打开Eclipse,在Package Explorer右击,创建项目,选择动态Web项目(Dynamic Web Project). 填写项目名称,并选择 ...
- 非PDC角色DC强制NTP
前一阵,公司其他部门员工告诉我,他们的系统无法通过LDAP搜索账户了 经过检查,发现该服务器的时间居然比我们的时间服务器PDC快了将近20分钟,而且该问题机器的 时间源并非PDC,而是另外一台普通DC ...
- win10+ubuntu双系统修复ubuntu启动引导
因为windows是不能引导linux的,而每次win10升级或恢复都会将linux的启动引导覆盖掉,导致无法进入linux, 所以一直就禁止了win10更新.这几天win10出了点小毛病,所以就狠下 ...
- group_concat有长度限制
group_concat有长度限制 group_concat 详细用法请点此链接. group_concat有长度限制!长度陷阱用了group_concat后,select里如果使用了li ...
- Java创建线程的三种形式的区别以及优缺点
1.实现Runnable,Callable Callable接口里定义的方法有返回值,可以声明抛出异常. 继承Callable接口实现线程 class ThreadCall implements Ca ...
- python初学(二)
1.输入一个整数列表L,判断L中是否存在相同的数字: (1)若存在,输出YES,否则输出NO: (2)若存在,输出YES,同时输出相同的数字:否则输出NO. l=list(input()) print ...
- pickle\json,configparser,hashlib模块
python常用模块 目录 python常用模块 json模块\pickle模块 configparser模块 hashlib模块 subprocess模块 json模块\pickle模块 首先说一下 ...
- Personal Photo Management Application
Customer Problems & Needs People may take a large number of photos and their phone don't have en ...
- c++类初始化列表初探
目录 1 初始化和赋值 1.1 结论 2 构造函数初始化列表 2.1 结论 3 必须使用初始化列表的情况 3.1 结论 4 成员初始化顺序 5 参考资料 1 初始化和赋值 初始化:创建一个对象并赋予一 ...
- PHP函数:array_rand
array_rand() - 从数组中随机取出一个或多个单元. 说明: array_rand ( array $array [, int $num = 1 ] ) : mixed 参数: array ...