1、内连接查询:inner join ... on

只有满足条件的记录才能够出现在结果关系中,即完全相等。自连接查询是一种特殊的内连接查询。

2、外连接查询:

1》左外连接 / 左连接:返回包括左表中的所有记录和右表中连接字段相等的记录。

2》右外连接 / 右连接:返回包括右表中的所有记录和左表中连接字段相等的记录。

3》全外连接:返回两个表中所有的数据记录。

3、子查询

子查询常用的操作符有:any(some)、all、in、exists。

1》any(some):

select * from t1 where t1.id > any (select id from t2 where t2.name=...)

2》all:同上,可以与比较符一起使用。

3》exists / not exists:

4》in / not in:

5》带比较运算符的子查询:<、<=、=、>=、!=(或<>)

6》union / union all:合并查询结果

4、正则表达式查询

MySQL使用regexp关键字指定正则表达式的字符匹配模式,默认不区分大小写。

匹配指定字符串:只要这个字符串在查询文本中即可。如果要匹配多个字符串,多个字符串之间使用分隔符‘|’隔开。

select * from test where name regexp 'or|ap';

匹配指定字符串中的任意一个:方括号“[]”指定一个字符集合,只匹配其中任何一个字符,即为所查找的文本。

select * from test where name regexp '[orap]';
select * from test where name regexp '[0-9]|[a-z]';  //[]中也可以是范围

匹配指定字符以外的字符:

select * from test where name regexp '[^a-z0-9]';

使用{n,}或者{n,m}来指定字符串连续出现的次数:

{n,}:表示至少匹配n次前面的字符

{n,m}:表示匹配前面的字符不少于n次,不多于m次。

select * from test where name regexp 'x{2,}';
或者
select * from test where name regexp 'x{2,4}';

5、数据的插入、更新、删除

1》插入数据:

insert into tb_name(column_list) values (value_list);
或者
insert into tb_name(column_list) values (value_list),(value_list),...;
或者
insert into tb_name values (value_list),(value_list),...;
或者
insert into tb_name(column_list) select (column_list) from tb_name2 where ...;

2》更新数据:

update tb_name
set column_name = value,...
where ...;

3》删除数据:

delete from tb_name [where ...];
truncate table tb_name;  //将直接删除原来的表,并重新创建一个表

MySQL-快速入门(6)连接查询、子查询、正则表达式查询、数据的插入删除更新的更多相关文章

  1. MySql基础笔记(一)Mysql快速入门

    Mysql快速入门 一)基本概念 1)表 行被称为记录,是组织数据的单位.列被称为字段,每一列表示记录的一个属性. 2)主键 主键用于唯一的标识表中的每一条记录.可以定义表中的一列或者多列为主键, 但 ...

  2. MySQL 快速入门教程

    转:MySQL快速 入门教程 目录 一.MySQL的相关概念介绍 二.Windows下MySQL的配置 配置步骤 MySQL服务的启动.停止与卸载 三.MySQL脚本的基本组成 四.MySQL中的数据 ...

  3. mysql根据查询结果批量更新多条数据(插入或更新)

    mysql根据查询结果批量更新多条数据(插入或更新) 1.1 前言 mysql根据查询结果执行批量更新或插入时经常会遇到1093的错误问题.基本上批量插入或新增都会涉及到子查询,mysql是建议不要对 ...

  4. MySQL快速入门(二)

    目录 MySQL快速入门(二) 约束条件 自增 自增的特性 主键 外键 级联更新/删除 表与表之间的关系 外键约束 操作表方法 查询关键字 练习数据 select··from where 筛选 gro ...

  5. MySQL 快速入门(一)

    目录 MySQL快速入门 简介 存储数据的演变过程 数据库分类 概念介绍 MySQL安装 MySQL命令初始 环境变量配置 MySQL环境变量配置 修改配置文件 设置新密码 忘记密码的情况 基本sql ...

  6. python对MySQL进行数据的插入、更新和删除之后需要commit,数据库才会真的有数据操作。(待日后更新)

    今天在尝试用下面的python代码对MySQL进行数据的插入.更新和删除时, 突然发现代码执行成功, 通过代码查询也显示数据已经插入或更新, 但是当我在MySQL客户端通过SQL语句查询时, 数据库中 ...

  7. Mysql快速入门(看完这篇能够满足80%的日常开发)

    这是一篇mysql的学习笔记,整理结合了网上搜索的教程以及自己看的视频教程,看完这篇能够满足80%的日常开发了. 菜鸟教程:https://www.runoob.com/mysql/mysql-tut ...

  8. Mysql快速入门(三)

    MySQL性能优化之查看执行计划explain 介绍: (1).MySQL 提供了一个 EXPLAIN 命令, 它可以对 SELECT 语句进行分析, 并输出 SELECT 执行的详细信息, 以供开发 ...

  9. MySQL快速入门及常用命令

    数据库 笔记内容 SQL语言共分为四大类:数据查询语言DQL,数据操纵语言DML,数据定义语言DDL,数据控制语言DCL. 1. 数据查询语言DQL 数据查询语言DQL基本结构是由SELECT子句,F ...

随机推荐

  1. thinkphp读取器和修改器

    读取器 如果在模型中,自定义了方法,那么读取器会读取模型中自定义的方法,否则会调用默认的方法. 写入器

  2. 磁盘IO过高时的参考

    主要命令:echo deadline > /sys/block/sda/queue/scheduler 注:以下的内容仅是提供参考,如果磁盘IO确实比较大的话,是数据库,可以进行读写分离或者分库 ...

  3. priority_queue与multiset

    感觉c++最有用的stl是bitset.堆(优先队列)和平衡树,其他的都可以手打 这里主要讲一下堆和平衡树的基本用法和区别所在 priority_queue 堆/优先队列 定义: priority_q ...

  4. jquery empty选择器 语法

    jquery empty选择器 语法 作用::empty 选择器选取空的元素.空元素指的是不包含子元素或文本的元素.直线电机滑台 语法:$(":empty") jquery emp ...

  5. 关于java实现断点续传的上传下载功能问题

    在web项目中上传文件夹现在已经成为了一个主流的需求.在OA,或者企业ERP系统中都有类似的需求.上传文件夹并且保留层级结构能够对用户行成很好的引导,用户使用起来也更方便.能够提供更高级的应用支撑. ...

  6. linux文件夹目录含义及用途

    /boot,存放linux启动文件和内核: /initrd,boot loader initialized RAM disk,就是由boot loader初始化的内存盘.在linux内核启动前,boo ...

  7. maven 高级玩法

    maven 高级玩法 标签(空格分隔): maven 实用技巧 Maven 提速 多线程 # 用 4 个线程构建,以及根据 CPU 核数每个核分配 1 个线程进行构建 $ mvn -T 4 clean ...

  8. PHP mac localhost 环境下发送邮件

    转载自:http://mabblog.com/blog/2011/09/lion-smtp-postfix-relay-and-dreamhost/ When developing web-apps ...

  9. 实现Runable接口

    步骤 定义一个实现Runable接口的类,在类中实现run()方法(线程执行事件的方法).创建一个上述类的对象:Thread t=new Thread(new MyThreadt.start());调 ...

  10. java实现豆瓣回帖机器人

    最近一直帮老板写爬虫,写累了就寻思着找点乐子,碰巧平时喜欢逛豆瓣,就打算写一个自动回帖机器人,废话不多说我们进入正题: 主要用到2个开源工具:Jsoup和httpclient Step 1:模拟登陆 ...