博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MySQL数据库-表内容操作
阅读量:6794 次
发布时间:2019-06-26

本文共 3035 字,大约阅读时间需要 10 分钟。

1、表内容增加

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

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

  insert into class(caption) SELECT tname teacher; 

  #把teacher表tname添加到class中

 

2、删除表里内容

delete from 表  删除表里的所有内容

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

 

3、修改表里的内容

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

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

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

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 列 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 表)

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前后可以是一个字符的数据

7、操作表内容之限制

  限制一般做分页

  select * from 表 limit 5;   - 查询前5行

  select * from 表 limit 4,5;    - 从第4行开始查询5行
  select * from 表 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从小到大排序

9、操作表内容之分组 

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

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

select MAX(列),分组列,COUNT(分组列) from 表 group by 分组列; -查询表里的分组,MAX(列)显示当前分组里最大的id、显示分组、COUNT(分组列)显示当前分组统计数

分组常用函数:
  MAX(列):显示当前组里指定列最大的数据
  MIN(列):显示当前组里指定列最小的数据
  COUNT(分组列):统计所属当前分组的数据
  sum(列):显示当前组指定列相加的和
  avg(列):显示当前组指定列的平均数

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

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

10、操作表内容之组合

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

  UNION组合

SELECT id,yhm FROM testUNIONSELECT id,gzi FROM text2;

 

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

SELECT id FROM testUNIONSELECT id FROM text2;

 

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

SELECT id FROM testUNION ALLSELECT id FROM text2;

 

 

 

 

转载于:https://www.cnblogs.com/zjltt/p/7149609.html

你可能感兴趣的文章
salt通过一段Python脚本来获取事件
查看>>
nginx限制请求数ngx_http_limit_req_module模块
查看>>
C#和C++混合编程
查看>>
使用Spring Data Jpa 遇到 数据库字段以 from 开头,分页查询失败的问题
查看>>
锐捷和华为重分布实验
查看>>
respondsToSelector判断是否实现了某方法
查看>>
python模块介绍-gevent介绍:基于协程的网络库
查看>>
MDT实现"零"接触部署(三)——设置Deployment Share属性
查看>>
Error Code: 1071. Specified key was too long;
查看>>
ARC 简述
查看>>
联想服务器ThinkSeverRAID卡设置教程
查看>>
滴滴出行基于RocketMQ构建企业级消息队列服务的实践
查看>>
我们总结了每个技术团队都会遇到的 4 个难题
查看>>
记一次吐血的ping: unknown host
查看>>
Java线程:线程的同步-同步方法
查看>>
高效awk编程第四版学习笔记
查看>>
CentOS6.7 DNS配置
查看>>
什么是Consul
查看>>
学习新技术,不再吃老本
查看>>
Tomcat最新本地提权漏洞
查看>>