增删查改-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的增删查改的简单实现,用到 ...
随机推荐
- Android 内存管理 &Memory Leak & OOM 分析
1.Android 流程管理&内存 Android主要应用在嵌入式设备其中.而嵌入式设备因为一些众所周知的条件限制,通常都不会有非常高的配置,特别是内存是比較有限的. 假设我们编写的代 码其中 ...
- eclipse 组态xdebug
1.打开浏览器打开phpinfo页面视图PHP版本号.TS(线程安全)版本NTS(非线程安全)版本.以及VC6版本号是VC9版本号 2.和上面版本号相应的xdebug:http://xdebug.or ...
- linux_ubuntu12.04 卸载和安装mysql、远程访问、not allowed
一: 安装mysql 卸载mysql 第一步 sudo apt-get autoremove --purge mysql-server-5.0 sudo apt-get remove mysql-se ...
- wget一个小技巧
今天在装一个东西的时候,在网上看到了这样的命令 wget http://xxxx.sh -o - | sh 的用法 不太明白-o -的用法于是乎man wget,看到了下面的一段话 -O fil ...
- IOS开发计算文本尺寸
在IOS开发中例如微博,QQ聊天界面中要显示大量的文字信息,这样需要计算出文字部分的尺寸,才能设计出合适的控件尺寸和位置.下面是IOS 7.0计算文本尺寸的方法.- (CGRect)boundingR ...
- The Swift Programming Language-官方教程精译Swift(7)函数 -- Functions
函数 函数是执行特定任务的代码自包含块.通过给定一个函数名称标识它是什么,并在需要的时候使用该名称来调用函数以执行任务. Swift的统一的功能语法足够灵活的,可表达任何东西,无论是不带参数名称的简单 ...
- 使用JavaScriptSerializer进行序列化日期类型应该注意的问题
原文:使用JavaScriptSerializer进行序列化日期类型应该注意的问题 JavaScriptSerializer在序列化DateTime时,是用刻度来表示的,具体在Json体现为:\/Da ...
- c语言下多线程
原文:c语言下多线程 [问题]创建了10个线程,10个线程公用一个线程体,创建如下: int t1=0,t2=1,t3=2,t4=3,t5=4,t6=5,t7=6,t8=7,t9=8,t10=9; i ...
- [SQL]死锁处理语句
原文:[SQL]死锁处理语句 引言 今天在群里看到分享的解决死锁的sql语句,就想着这东西以后肯定用的着,就下载下来,在这里记录一下,以后查找也方便. SQL SET QUOTED_IDENTIFIE ...
- SQL Server相似度比较函数
原文:SQL Server相似度比较函数 相似度函数 概述 最近有人问到关于两个字段求相似度的函数,所以就写了一篇关于相似度的函数,分别是“简单的模糊匹配”,“顺序匹配”,“一对一位置匹配”.在 ...