增删查改-MySQL
查询:
在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的更多相关文章
- nodejs连接mysql并进行简单的增删查改
最近在入门nodejs,正好学习到了如何使用nodejs进行数据库的连接,觉得比较重要,便写一下随笔,简单地记录一下 使用在安装好node之后,我们可以使用npm命令,在项目的根目录,安装nodejs ...
- php mysql增删查改
php mysql增删查改代码段 $conn=mysql_connect('localhost','root','root'); //连接数据库代码 mysql_query("set na ...
- node.js+mysql增删查改
数据库和表: -- -- 数据库: `test` -- -- -------------------------------------------------------- -- -- 表的结构 ` ...
- PHP与MYSQL结合操作——文章发布系统小项目(实现基本增删查改操作)
php和mysql在一起几十年了,也是一对老夫老妻了,最近正在对他们的爱情故事进行探讨,并做了一个很简单的小东西——文章发布系统,目的是为了实现mysql对文章的基本增删查改操作 前台展示系统有:文章 ...
- mysql 增删查改
非关系型数据库关系型数据库Oracle mysql sqlserver db2 Postgresql Sqlite access sqlserver 微软db2 ibm================ ...
- mybatis、spring、mysql、maven实现简单增删查改
之前写过的mybatis博客作为学习mybatis.spring还是不太合适. 现在找到一个不错的例子,首先将这个完整的mybatis增删查改例子在本地上实现出来,然后再进行学习. 项目结构与运行结果 ...
- Java连接MySQL数据库及简单的增删查改操作
主要摘自 https://www.cnblogs.com/town123/p/8336244.html https://www.runoob.com/java/java-mysql-connect.h ...
- Python对MySQL进行增删查改
python连接MySQL数据库:pymysql # 测试操作 import pymysql # 打开数据库 db = pymysql.connect("localhost", & ...
- 后端Spring Boot+前端Android交互+MySQL增删查改(Java+Kotlin实现)
1 前言&概述 这篇文章是基于这篇文章的更新,主要是更新了一些技术栈以及开发工具的版本,还有修复了一些Bug. 本文是SpringBoot+Android+MySQL的增删查改的简单实现,用到 ...
随机推荐
- 开始学习java
.net 许久 看网络java猿飞计划,感觉成了少数类,学校为它,有多难不,有着vb,C,javascript和vs基金会,这并不是说一些语法和框架的熟悉做,搞两天,以一个开发环境,myeclipse ...
- ext panel 它们的定义图像刷新
从管理发展的近期回报.事实上,它采取了一些努力,以适应,应对来自另一个角度的问题只.外观似良好的效果.阿土,项目用到了EXT js.百度大神里面没找到一个合适的图片组件.自己写了个能够刷新的图片组件. ...
- ASP.NET MVC+EF框架+EasyUI实现权限管理系列(15)-用户登录详细错误和权限数据库模型设计
原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(15)-用户登录详细错误和权限数据库模型设计 ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇) ...
- Code Forces 414B 很不错的双手,以促进合规
http://codeforces.com/problemset/problem/414/B 题目挺不错的.留个纪念,活动脑筋不错的题目 #include<iostream> #inclu ...
- hdu4324 Triangle LOVE (拓扑排序)
这是一道最简单的拓扑排序题,好久没看这个算法了! 有点生疏了! 后附上百度的资料; #include<stdio.h> #include<string.h> int in[50 ...
- Ruby入门--Linux/Windows下的安装、代码开发及Rails实战
Ruby入门--Linux/Windows下的安装.代码开发及Rails实战 http://www.linuxidc.com/Linux/2014-04/100242.htm Ubuntu 13.04 ...
- 【转】简述什么是Web服务(Web Service)技术?
Web Service 是在 Internet 上进行分布式计算的基本构造块,是组件对象技术在 Internet 中的延伸,是一种部署在Web 上的组件.它融合了以组件为基础的开发模式和 ...
- Self referencing loop detected with type
json.net namespace EFDAL{ using System; using System.Collections.Generic; using Newtonsoft. ...
- linux网络编程学习笔记之四 -----多-threaded服务器
对于使用过程中并发.通过实现更轻量级线程. 每个线程都是一个独立的逻辑流. 主题是CPU在执行调度的最小独立单位,这个过程是资源分配单元.当然,这是在微内核操作系统说.总之,这是唯一的一个操作系统内核 ...
- js 正则之检测素数
原文:js 正则之检测素数 相信很多人应该看过这篇文章,我第一次看到的时候是11年的样子,那时候学vbs的时候看过这个问题.原文<检查素数的正则表达式>,在文章里已经解释了他是怎么判断的, ...