MySQL数据库-表内容操作

1、表内容增加

  insert into 表 (列名,列名...) values (值,值,值...);  添加表内容添加一条数据
  insert into 表 (列名,列名...) values (值,值,值...),(值,值,值...);  添加表内容添加多条数据,多条数据括号逗号隔开
  insert into 表 (列名,列名...) select (列名,列名...) from 表;  添加表内容

-- insert into 表 (列名,列名...) values (值,值,值...);添加表内容
-- insert into 表 (列名,列名...) values (值,值,值...),(值,值,值...);添加表内容
-- insert into 表 (列名,列名...) select (列名,列名...) from 表;添加表内容 INSERT INTO test (yhm,mim) VALUES ('林秀民','');

 

2、删除表里内容

delete from 表  删除表里的所有内容
delete from 表 where id=3;  删除表里id等于3的数据
delete from 表 where id=2 and 列名称=列值;  删除表里id等于2并且列名等于指定值的数据

-- delete from 表
-- delete from 表 where id=1
-- delete from 表 where id=1 and 列名称=列值 DELETE FROM test WHERE id=3;

-- delete from 表
-- delete from 表 where id=1
-- delete from 表 where id=1 and 列名称=列值 DELETE FROM test WHERE id=2 AND yhm='林秀民';

3、修改表里的内容

update 表 set 列名称= '新值';  将表里指定的列全部修改成新值
update 表 set 列名称= '新值' where id=1;  将表里指定id的指定列修改成新值
update 表 set 列名称= '新值' where id=6 and 列名称=指定值;   修改test表里id等于6并且mim为789456数据,的yhm列新值为王五

-- update 表 set 列名称= '新值';  将表里指定的列全部修改成新值

UPDATE test SET yhm='张三';

-- update 表 set 列名称= '新值' where id=1;  将表里指定id的指定列修改成新值

UPDATE test SET yhm='王麻子' WHERE id=5;

-- update 表 set 列名称= '新值' where id=1 and 列名称=指定值;    修改test表里id等于6并且mim为789456数据,的yhm列新值为王五

UPDATE test SET yhm='王五' WHERE id=6 AND mim='';

4、查询表里的内容

select * from 表;   查询表里的所有列,*表示所有列【不推荐使用*效率很低】
select * from 表 where id > 1;   查询表里id大于1的所有列,*表示所有列【不推荐使用*效率很低】
select 列,列,列 from 表 where id > 1;   查询表里id大于1的指定列
select 列 as 临时列名,列 as 临时列名,列 as 临时列名 from 表 where id > 1;    查询表里id大于1的指定列,返回时临时改名列名称

-- select * from 表;    查询表里的所有列,*表示所有列【不推荐使用*效率很低】

SELECT * FROM test;

-- select * from 表 where id > 1;    查询表里id大于1的所有列,*表示所有列【不推荐使用*效率很低】

SELECT * FROM test WHERE id>1;

-- select 列,列,列 from 表 where id > 1;    查询表里id大于1的指定列

SELECT id,yhm FROM test WHERE id>1;

-- select 列 as 临时列名,列 as 临时列名,列 as 临时列名 from 表 where id > 1;     查询表里id大于1的指定列,返回时临时改名列名称

SELECT id AS a1,yhm AS a2,mim AS a3 FROM test WHERE id>1;

5、操作表内容之条件

  select 列 from 表 where id > 1 and name != 'alex' and num = 12;
  select 列 from 表 where id between 5 and 16;
  select 列 from 表 where id in (11,22,33)
  select 列 from 表 where id not in (11,22,33)
  select 列 from 表 where id in (select nid from 表)

select id,yhm,mim from test where id > 1 and yhm != '王五' and mim = 123456;     -- 查询表里id大于1并且yhm不等于王五并且mim等于123456的,数据指定列

select id,yhm,mim from test where id between 10 and 16;        -- 查询表里id范围10-16之间的数据,指定的列

select id,yhm,mim from test where id in (1,4,7);    -- 查询表里id为1、4、7的数据指定列

select id,yhm,mim from test where id not in (11,12,13);     -- 查询表里id不为11、12、13的数据指定列

select id,yhm,mim from test where id in (select id from test2);  -- 获取一张表的id作为当前表的查询id 

WHERE表达式的常用运算符

MYSQL运算符

含义

=

等于

小于

大于

<=

小于或等于

>=

大于或等于

!=

不等于

IS NOT NULL

具有一个值

IS NULL

没有值

BETWEEN

在范围内

NOT BETWEEN

不在范围内

IN

指定的范围

OR

两个条件语句之一为真

AND

两个条件语句都为真

NOT

条件语句不为真

 

6、操作表内容之通配符

  通配符可以做模糊查询

  select * from 表 where name like 'e%'   -e开头的所有(%表示多个字符串,表示查询开头为e后面可以是多个字符的数据)
  select * from 表 where name like '%e%'   -表示查询中间为e前后可以是多个字符的数据
  select * from 表 where name like 'e_'    -e开头的所有(_表示一个字符,表示查询开头为e后面可以是一个字符的数据)
  select * from 表 where name like '_e_'   -表示查询中间为e前后可以是一个字符的数据

select id,yhm,mim from test where yhm like 'e%';  -- e开头的所有(%表示多个字符串,表示查询开头为e后面可以是多个字符的数据)

select id,yhm,mim from test where yhm like '%e%';  -- 表示查询中间为e前后可以是多个字符的数据 

select id,yhm,mim from test where yhm like 'e_' ;  -- e开头的所有(_表示一个字符,表示查询开头为e后面可以是一个字符的数据)

select * from 表 where name like '_e_';  -- 表示查询中间为e前后可以是一个字符的数据

7、操作表内容之限制

  限制一般做分页

  select * from 表 limit 5;   - 查询前5行
  select * from 表 limit 4,5;    - 从第4行开始查询5行
  select * from 表 limit 5 offset 4  - 从第4行开始查询5行

select id,yhm,mim from test limit 5;            -- 查询前5行

select id,yhm,mim from test limit 4,5;          -- 从第4行开始查询5行

select id,yhm,mim from test limit 5 offset 4    -- 从第4行开始查询5行

8、操作表内容之排序

  一般默认是从第一列id排序的

  select * from 表 order by 排序列 asc;   - 根据 “列” 从小到大排列
  select * from 表 order by 排序列 desc;   - 根据 “列” 从大到小排列
  select * from 表 order by 排序列1 desc,排序列2 asc;   - 根据 “列1” 从大到小排列,如果排序列1数据有相同,则按列2从小到大排序

 select id,yhm,mim from test order by id asc;      -- 根据 “列” 从小到大排列(asc从小到大排列)

select id,yhm,mim from test order by id desc;      -- 根据 “列” 从大到小排列(desc从大到小排列)

select id,yhm,mim from test order by id desc,mim asc;    -- 根据 “列1” 从大到小排列,如果排序列1数据有相同,则按列2从小到大排序

9、操作表内容之分组 

  分组一般就是一个分组列记录每条数据所属什么类型如:普通会员、超级会员、黄金会员

 

  select 分组列 from 表 group by 分组列; -查询分组列里有什么分组

-- select 分组列 from 表 group by 分组列;        -查询分组列里有什么分组
select fzu from test group by fzu;

  select 分组列,COUNT(分组列) from 表 group by 分组列; -查询统计每个分组的数量

-- select 分组列,COUNT(分组列) from 表 group by 分组列;        -查询统计每个分组的数量
select fzu,COUNT(fzu) from test group by fzu;

  select MAX(列),分组列,COUNT(分组列) from 表 group by 分组列; -查询表里的分组,MAX(列)显示当前分组里最大的id、显示分组、COUNT(分组列)显示当前分组统计数
分组常用函数:
  MAX(列):显示当前组里指定列最大的数据
  MIN(列):显示当前组里指定列最小的数据
  COUNT(分组列):统计所属当前分组的数据
  sum(列):显示当前组指定列相加的和
  avg(列):显示当前组指定列的平均数

-- select MAX(列),分组列,COUNT(分组列) from 表 group by 分组列;  -查询表里的分组,MAX(列)显示当前分组里最大的id、显示分组、COUNT(分组列)显示当前分组统计数
-- 分组常用函数:
-- MAX(列):显示当前组里指定列最大的数据
-- MIN(列):显示当前组里指定列最小的数据
-- COUNT(分组列):统计所属当前分组的数据
-- sum(列):显示当前组指定列相加的和
-- avg(列):显示当前组指定列的平均数 select MAX(id),MIN(id),SUM(id),avg(id),fzu,COUNT(fzu) from test group by fzu;

  select 列 from 表 group by 分组表 having COUNT(统计列) > 3   -查看表里分组里、指定列大于10的、指定列信息

-- select 列 from 表 group by 分组表 having COUNT(统计列) > 3   -查看表里分组里、指定列大于10的、指定列信息
select fzu from test group by fzu having COUNT(fzu) > 3

  注意:group by 必须在where之后,order by之前

10、操作表内容之组合

  组合就是将两张表数据显示出来,注意两张表显示的列数量要是一样的

  UNION组合

SELECT id,yhm FROM test
UNION
SELECT id,gzi FROM text2;

  如果组合两张表都只显示1列、那么相同的数据会被去重。

SELECT id FROM test
UNION
SELECT id FROM text2;

  如果不想去重就在UNION后面加上all

SELECT id FROM test
UNION ALL
SELECT id FROM text2;

第二百七十八节,MySQL数据库-表内容操作的更多相关文章

  1. MySQL数据库-表内容操作

    1.表内容增加 insert into 表 (列名,列名...) values (值,值,值...); 添加表内容添加一条数据 insert into 表 (列名,列名...) values (值,值 ...

  2. 第三百七十八节,Django+Xadmin打造上线标准的在线教育平台—django自带的admin后台管理介绍

    第三百七十八节,Django+Xadmin打造上线标准的在线教育平台—django自带的admin后台管理介绍 配置django的admin数据库管理后台 首先urls.py配置数据库后台路由映射,一 ...

  3. 第二百七十九节,MySQL数据库-pymysql模块操作数据库

    MySQL数据库-pymysql模块操作数据库 pymysql模块是python操作数据库的一个模块 connect()创建数据库链接,参数是连接数据库需要的连接参数使用方式: 模块名称.connec ...

  4. 第二百八十八节,MySQL数据库-索引、limit分页、执行计划、慢日志查询

    MySQL数据库-索引.limit分页.执行计划.慢日志查询 索引,是数据库中专门用于帮助用户快速查询数据的一种数据结构.类似于字典中的目录,查找字典内容时可以根据目录查找到数据的存放位置,然后直接获 ...

  5. 第二百七十六节,MySQL数据库,【显示、创建、选定、删除数据库】,【用户管理、对用户增删改查以及授权】

    MySQL数据库,[显示.创建.选定.删除数据库],[用户管理.对用户增删改查以及授权] 1.显示数据库 SHOW DATABASES;显示数据库 SHOW DATABASES; mysql - 用户 ...

  6. 第二百七十五节,MySQL数据库安装和介绍

    MySQL数据库安装 一.概述 1.什么是数据库 ? 答:数据的仓库,称其为数据库 2.什么是 MySQL.Oracle.SQLite.Access.MS SQL Server等 ? 答:他们均是一种 ...

  7. 第二百八十二节,MySQL数据库-MySQL视图

    MySQL数据库-MySQL视图 1.视图是一个虚拟表(非真实存在),其本质是[根据SQL语句获取动态的数据集,并为其命名],用户使用时只需使用[名称]即可获取结果集,并可以将其当作表来使用. 2.也 ...

  8. MySQL数据库---表的操作

    存储引擎 表就是文件,表的存储引擎就是文件的存储格式,即数据的组织存储方式. 字段类型 1.整数类型 整数类型:TINYINT SMALLINT MEDIUMINT INT BIGINT 作用:存储年 ...

  9. 第二百九十节,MySQL数据库-MySQL命令行导出导入数据库,数据库备份还原

    MySQL命令行导出导入数据库,数据库备份还原 MySQL命令行导出数据库:1,进入MySQL目录下的bin文件夹:cd MySQL中到bin文件夹的目录如我输入的命令行:cd C:\Program ...

随机推荐

  1. 通过反射获取class文件中的构造方法,运行构造方法

    /* * 通过反射获取class文件中的构造方法,运行构造方法 * 运行构造方法,创建对象 * 1.获取class文件对象 * 2.从class文件对象中,获取需要的成员 * * Constructo ...

  2. TCP/IP 工具Ping

    TCP/IP 工具Ping 在网络中Ping 是一个十分好用的TCP/IP工具.它主要的功能是用来检测网络的连通情况和分析网络速度. C:\Users\gechong>ping /? 用法: p ...

  3. 点滴的积累---初学Javascript

    在学习知识的路上,我们须要的不断的去接触新的知识,同一时候我们也不要不停地对自己旧的知识进行总结.近期通过<牛腩Javascript>和姜昊的<Javascript专题视频>对 ...

  4. jquery api 常见api 元素操作例子

    append_prepend.html <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> ...

  5. EMQ ---payload

    问:payload传输过程中会不会拆包,粘包?业务层拿到payload还需要自己组包吗? 答:不需要,mqtt协议有约定,emq会帮忙处理tcp的粘包拆包.总之,直接拿出来用即可. 问:payload ...

  6. 【实用代码片段】将json数据绑定到html元素 (转)

    jQuery扩展 jQuery.fn.extend({ 'jsonBind':function(json){ var dom=this; dom.find('[json-bind]').each(fu ...

  7. 阿里云 部署并开启nodejs应用

    1.下载资源  $ wget https://nodejs.org/dist/v8.11.2/node-v8.11.2-linux-x64.tar.xz 2.xz解压 $ xz -d node-v8. ...

  8. hibernate中一对一映射

    一.hibernate中一对一映射有两种 1 主键方式,一张表的主键是通过另一张表的主键生成的 2 外键方式,一张表添加外键引用另一张表的主键,并添加唯一unique约束 二.下面进行简单例子,用户和 ...

  9. Redis(十五):哨兵Sentinel

    Redis哨兵 Redis 的 Sentinel 系统用于管理多个 Redis 服务器(instance), 该系统执行以下三个任务: 监控(Monitoring): Sentinel 会不断地检查你 ...

  10. C复杂声明举例

    首先,一些国外的研究成果: 一个用英语解析复杂声明的网站:http://cdecl.org 图表说明复杂声明(英):http://c-faq.com/decl/spiral.anderson.html ...