查询:

  在MySQL中,select的基本语法形式:

select 属性列表
from 表名和视图
[where 条件表达式]
[group by 属性名 [having 条件表达式]]
[order by 属性名 [asc|desc]]

  看看具体的用例:

首先看看表的结构:

mysql> desc user;
+----------+-----------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------+-----------------+------+-----+---------+----------------+
| id | int(4) unsigned | NO | PRI | NULL | auto_increment |
| account | varchar(10) | NO | | NULL | |
| password | varchar(10) | NO | | NULL | |
+----------+-----------------+------+-----+---------+----------------+

最简单的查找,查找出全部,*匹配所有数据,user就是表名:

mysql> select * from user;
+----+------------+----------+
| id | account | password |
+----+------------+----------+
| 1 | xujianguo | xjg |
| 2 | wenjian | cwj |
| 3 | xiongsheng | hxs |
+----+------------+----------+

加入条件后的查询:

mysql> select * from user
-> where id > 1
-> order by id desc;
+----+------------+----------+
| id | account | password |
+----+------------+----------+
| 3 | xiongsheng | hxs |
| 2 | wenjian | cwj |
+----+------------+----------+

带in关键字的查询:

  用in关键字可以判断某个字段的值是否在指定的集合中。

mysql> select * from user
-> where id in(1, 3);
+----+------------+----------+
| id | account | password |
+----+------------+----------+
| 1 | xujianguo | xjg |
| 3 | xiongsheng | hxs |
+----+------------+----------+
2 rows in set (0.02 sec)

带between and的范围查询:

  between and关键字可以判断某个字段的值是否在指定的范围内。

mysql> select * from user
-> where id between 2 and 3;
+----+------------+----------+
| id | account | password |
+----+------------+----------+
| 2 | wenjian | cwj |
| 3 | xiongsheng | hxs |
+----+------------+----------+

带like的字符匹配查询:

  like关键字可以匹配字符串。

mysql> select * from user
-> where account like 'wen%';
+----+---------+----------+
| id | account | password |
+----+---------+----------+
| 2 | wenjian | cwj |
+----+---------+----------+

分组查询:

  group by关键字与group_concat函数一起使用,进行分组显示。

mysql> select * from user;
+----+------------+----------+
| id | account | password |
+----+------------+----------+
| 1 | xujianguo | xjg |
| 2 | wenjian | cwj |
| 3 | xiongsheng | hxs |
| 4 | zheng | cwj |
+----+------------+----------+ mysql> select password, group_concat(account) from user
-> group by password;
+----------+-----------------------+
| password | group_concat(account) |
+----------+-----------------------+
| cwj | wenjian,zheng |
| hxs | xiongsheng |
| xjg | xujianguo |
+----------+-----------------------+

使用count()函数查询:

mysql> select count(*) from user;
+----------+
| count(*) |
+----------+
| 4 |
+----------+

使用max()函数查询:

mysql> select max(id) from user;
+---------+
| max(id) |
+---------+
| 4 |
+---------+

连接查询:

  将两个或者两个以上的表按照某个条件连接起来。

mysql> select user.id, account, usermessage.message
-> from user, usermessage
-> where user.id = usermessage.id;
+----+------------+----------+
| id | account | message |
+----+------------+----------+
| 1 | xujianguo | hello |
| 2 | wenjian | love you |
| 3 | xiongsheng | yes |
| 4 | zheng | no no no |
+----+------------+----------+

子查询:

  也就是说查询语句里面嵌套着另外一个查询语句。

mysql> select * from user
-> where id in (select id from usermessage where id in(1, 2))
-> ;
+----+-----------+----------+
| id | account | password |
+----+-----------+----------+
| 1 | xujianguo | xjg |
| 2 | wenjian | cwj |
+----+-----------+----------+

插入:

  在MySQL中,可以通过不指定具体字段名为表插入记录,其基本语句形式:

insert into 表名 values(值1, 值2......)
mysql> insert into usermessage values(5, 'no problem');
Query OK, 1 row affected (0.09 sec)

这里就隐含了对应的值对应插入的规则。

  当然也可以指定插入,其基本的语句格式:

insert into 表名(属性1, 属性2......) values(值1, 值2......)
mysql> insert into usermessage(message, id) values("enen", 6);
Query OK, 1 row affected (0.09 sec)

更新:

  在MySQL中,update语句的基本语法形式:

update 表名
set 属性名1=值1, 属性名2=值2......
where 条件表达式;
mysql> update usermessage
-> set message = 'nimei'
-> where id = 2;
Query OK, 1 row affected (0.11 sec)

删除:

  在MySQL中,delete语句的基本语法形式为:

delete from 表名 [where 条件表达式]; 
mysql> delete from usermessage where id = 5;
Query OK, 1 row affected (0.10 sec)

增删查改-MySQL的更多相关文章

  1. nodejs连接mysql并进行简单的增删查改

    最近在入门nodejs,正好学习到了如何使用nodejs进行数据库的连接,觉得比较重要,便写一下随笔,简单地记录一下 使用在安装好node之后,我们可以使用npm命令,在项目的根目录,安装nodejs ...

  2. php mysql增删查改

    php mysql增删查改代码段 $conn=mysql_connect('localhost','root','root');  //连接数据库代码 mysql_query("set na ...

  3. node.js+mysql增删查改

    数据库和表: -- -- 数据库: `test` -- -- -------------------------------------------------------- -- -- 表的结构 ` ...

  4. PHP与MYSQL结合操作——文章发布系统小项目(实现基本增删查改操作)

    php和mysql在一起几十年了,也是一对老夫老妻了,最近正在对他们的爱情故事进行探讨,并做了一个很简单的小东西——文章发布系统,目的是为了实现mysql对文章的基本增删查改操作 前台展示系统有:文章 ...

  5. mysql 增删查改

    非关系型数据库关系型数据库Oracle mysql sqlserver db2 Postgresql Sqlite access sqlserver 微软db2 ibm================ ...

  6. mybatis、spring、mysql、maven实现简单增删查改

    之前写过的mybatis博客作为学习mybatis.spring还是不太合适. 现在找到一个不错的例子,首先将这个完整的mybatis增删查改例子在本地上实现出来,然后再进行学习. 项目结构与运行结果 ...

  7. Java连接MySQL数据库及简单的增删查改操作

    主要摘自 https://www.cnblogs.com/town123/p/8336244.html https://www.runoob.com/java/java-mysql-connect.h ...

  8. Python对MySQL进行增删查改

    python连接MySQL数据库:pymysql # 测试操作 import pymysql # 打开数据库 db = pymysql.connect("localhost", & ...

  9. 后端Spring Boot+前端Android交互+MySQL增删查改(Java+Kotlin实现)

    1 前言&概述 这篇文章是基于这篇文章的更新,主要是更新了一些技术栈以及开发工具的版本,还有修复了一些Bug. 本文是SpringBoot+Android+MySQL的增删查改的简单实现,用到 ...

随机推荐

  1. DevExpress Report 其他常用设计技巧

    原文:DevExpress Report 其他常用设计技巧 1 设置默认的打印纸张及页边距 选择Report-打开属性窗口,设置默认边距(Margins)和默认纸张(PaperKind). 2 修改R ...

  2. 由一道面试题想到的:Finally

    找工作时,有这样一道题: try{}里面有一条return语句,那么紧跟在这个try后的finally{}里的代码会不会执行,什么时候执行,在return之前还是之后? 我没有怎么思考,根据脑子里仅有 ...

  3. hdu 1700 Points on Cycle 水几何

    已知圆心(0,0)圆周上的一点,求圆周上另外两点使得三点构成等边三角形. 懒得推公式,直接用模板2圆(r1=dist,r2=sqrt(3)*dist)相交水过 #include<cstdio&g ...

  4. Use PRODUCT_USER_PROFILE To Limit User

    The PRODUCT_USER_PROFILE (PUP) table provides product-level security that supplements the user-level ...

  5. 大数据系列修炼-Scala课程07

    由于昨天下班后有点困,就没有来及写博客,今天会把它补上!把这个习惯坚持下去! 关于Scala高阶函数详解 1.Scala高阶函数代码实现:高阶函数就是在我们函数中套用函数 2.高阶函数代码详解:高阶函 ...

  6. 关联A850刷机包 高级电源 时间中心 优化 ROOT 动力 美化 简化

    ROM简介 1.合并app以及framewok框架apk 2.破解安卓核心验证 3.加入busybox指令集 4.加入Root权限 5.时间居中显示.通知图标不会重叠 6.加入网速显示 7.加入%1精 ...

  7. mysql_自动备份

    1 @echo off 2 set errorlevel=0 3 set dump_command="C:\Program Files\MySQL\MySQL Server 5.5\bin\ ...

  8. git上自然框架源码

    [自然框架]终于把源码弄到git上吗了 2015-02-02 14:38 by 金色海洋(jyk)阳光男孩, 183 阅读, 6 评论, 收藏, 编辑 好久没写博客了,发现又从左面的排名里掉出去了. ...

  9. 写给初学前端工程师的一封信 (转于Kejun)

    大家好: 应波波的邀请写一写我对这个话题的想法.从去年开始不少朋友让我帮忙介绍前端工程师,绝大部分忙都没帮上,原因是真找不到人.我当时是这么跟他们分析的:过去的客户端以browser为主,所以HTML ...

  10. iOS7 UIKit动力学-碰撞特性UICollisionBehavior 上

    我们谈到了重力上述财产UIGravityBehavior这个类. 非常明确的看法,当我们添加的属性的严重性后,,苹果UIview像掉进无底洞,地下坠,不断的加速.而如今呢,我们要在这个手机屏幕上,加入 ...