MySQL的基本知识 -- 命令
1.数据库和表
SHOW DATABASES;
返回可用数据库的一个列表
SHOW TABLES;
返回一个数据库内的表的列表
SHOW COLUMNS FROM tableName;
返回数据表的表结构
2.查询数据
SELECT * FROM tableName;
返回数据表中所有的数据
SELECT columnName FROM tableName;
返回字段名为columnName的数据记录的列表
SELECT columnName1, columnName2 FROM tableName;
返回多个字段值的列表
SELECT DISTINCT columnName FROM tableName;
返回字段值不同的记录,去掉重复的记录。DISTINCT应用于所有的列而不仅仅是前置它的列。
SELECT * FROM tableName LIMIT num;
返回数据表的前num行。
SELECT * FROM tableName LIMIT num1, num2;
返回数据表的num1+1~num1+1+num2行,即返回从num1+1开始(包括自己)的接下来num2行。
SELECT * FROM tableName LIMIT NUM, -1;
返回数据表的第num+1行直到最后一行。
3.数据排序
SELECT * FROM tableName ORDER BY columnName;
依据列columnName进行升序排序
SELECT * FROM tableName ORDER BY columnName DESC;
进行(DESC)降序排列,(ASC)升序排列。
SELECT * FROM tableNAme ORDER BY columnName1, columnName2;
按照多个列排序,先依据列columnName1进行排序,然后按照columnName2排序。
SELECT * FROM tableName ORDER BY columnName1 DESC, columnName2 ASC;
多个列不同的排序方式,先按照columnName1
的DESC
排序,在按照columnName2
的ASC
排序。
4.过滤数据
SELECT * FROM tableName WHERE columnname >= value;
或
SELECT * FROM tableName WHERE columnName BETWEEN value1 AND value2;
根据WHERE子句的条件查找符合要求的数据记录。如果value为字符串类型,需要使用单引号将value包括起来('value')。
SELECT * FROM tableName WHERE coulmnName = value ORDER BY cloumnName2;
在同时使用ORDER BY
和WHERE
时,应该让WHERE
位于ORDER BY
之前。
WHERE
子句的操作符:
操作符 | 说明 |
---|---|
= | 等于 |
<> | 不等于 |
!= | 不等于 |
< | 小于 |
<= | 小于等于 |
> | 大于 |
>= | 大于等于 |
BETWEEN | 在指定的两个值之间 |
SELECT * FROM tableName WHERE columnName IS NULL;
返回空字段值的列表。
SELECT * FROM tableName WHERE columnName1 = value1 AND columnName2 = Value2;
返回满足所有条件的列表
SELECT * FROM tableName WHERE columnName1 = value1 OR columnName2 = value2;
返回满足任一条件的列表
SELECT * FROM tableName WHERE columnName1 = value1 OR columnName2 = value2 AND columnName3 >= value3;
由于在SQL语句中AND
操作符的优先级比OR
更高,所以该语句就被翻译为
返回字段columnName2等于value2并且columnName3大于等于value3或是columnName1等于value1并且columnName3大于等于value3的列表
SELECT * FROM tableName WHERE (columnName1 = value1 OR columnName2 = value2) AND columnName3 >= value3;
使用括号明确划分分组操作符
SELECT * FROM tableName WHERE columnName IN (value1, value2, value3);
返回columnName的值为(value1, value2, value3)中的一个的列表
5.模糊查询
模糊查询使用LIKE
操作符同时使用通配符进行查询匹配
SELECT * FROM tableName WHERE cloumnName LIKE 'value%';
匹配符为%
,%
表示任何字符出现任意次,并且可以位于任意位置进行匹配。该语句匹配所有以value开头的字符串。
- 注意:
- 根据MySQL的配置方式,当MySQL区分大小写时
'value%'
将不匹配VALUES。
SELECT * FROM tableName WHERE cloumnName LIKE 'value_';
匹配符_
,_
表示只匹配单个字符,不能多不能少。
- 注意:
- 1.使用匹配符会大大降低搜索性能,能不用最好不用。
- 2.匹配符位于模式开始处性能最低,能不放开始就不放在开始。
6.使用正则表达式进行过滤
SELECT * FROM tableName WHERE columnName REGEXP '.000';
语句REGEXP
后跟着正则表达式,MySQL将对数据表正则匹配,但会匹配的列表。
- 注意:
- 1.
LIKE
和REGEXP
之间有一个重要的区别:- 在不使用通配符
%
、_
时,LIKE
不返回结果REGEXP
返回所有匹配的结果- 2.正则匹配不区分大小写。如果需要区分大小写,可以使用
BINARY
关键字,如
SELECT * FROM tableName WHERE columnName REGEXP BINARY '.000';
- 注意:
- 为了匹配特殊字符,必须使用
\\
为前导。\\.
表示查找.
.- MySQL使用两个反斜杠,MySQL自己解释一个,正则表达式库解释另一个。
MySQL的基本知识 -- 命令的更多相关文章
- mysql 索引相关知识
由where 1 =1 引发的思考 最近工作上被说了 说代码中不能用 where 1=1,当时觉得是应该可以用的,但是找不到什么理据, 而且mysql 语句优化这方面确实很薄弱 感觉自己mysql ...
- mysql数据库相关知识
什么是数据库? 数据库(Database)是按照数据结构来组织.存储和管理数据的建立在计算机存储设备上的仓库.(来自:百度) 什么是sql? 结构化查询语言(Struct ...
- MYSQL 数据库导入导出命令
MySQL命令行导出数据库 1,进入MySQL目录下的bin文件夹:cd MySQL中到bin文件夹的目录 如我输入的命令行:cd C:\Program Files\MySQL\MySQL Serve ...
- mysql 登录及常用命令
一.mysql服务的启动和停止 mysql> net stop mysql mysql> net start mysql 二.登陆mysql mysql> 语法如下: mysql - ...
- mysql一些写常用命令
参见pcttcnc2007博客腾飞 1.mysql的status信息命令: mysql> show global status; 2.可以列出mysql服务器运行各种状态值,另外,查询mysql ...
- mysql中的load命令使用方法
使用mysql 中的load 命令,可以将txt 文件中的内容加载到数据库表中 使用mysql 中的load 命令,讲txt 文件中的内容加载到数据库表中,例如,创建table,名称是user,一个字 ...
- mysql查看表结构命令
mysql查看表结构命令 mysql查看表结构命令,如下: desc 表名;show columns from 表名;describe 表名;show create table 表名; use inf ...
- 查看MySQL数据库表的命令介绍
如果需要查看MySQL数据库中都有哪些MySQL数据库表,应该如何实现呢?下面就为您介绍查看MySQL数据库表的命令,供您参考. 进入MySQL Command line client下查看当前使用的 ...
- MySQL中EXPLAIN解释命令详解
MySQL中的explain命令显示了mysql如何使用索引来处理select语句以及连接表.explain显示的信息可以帮助选择更好的索引和写出更优化的查询语句. 1.EXPLAIN的使用方法:在s ...
随机推荐
- 错误:下列软件包有未满足的依赖关系: openssh-server : 依赖: openssh-client (= 1:7.1p1-4)
解决办法:尝试了很久才解决,这个是我发现最有用的,完美的解决了我的困难 后续过程参考:http://blog.csdn.net/jszhangyili/article/details/8881807 ...
- Python默认版本修改
Python默认版本修改 当电脑安装了多个版本的Python,而Shell中默认的Python不是你想要的,这个时候就需要对Python的默认版本进行修改. 在Windows中,可以通过修改环境变量的 ...
- 03-树1 树的同构 (C语言链表实现)
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <stdbool.h& ...
- 工业串口和网络软件通讯平台(SuperIO 2.1)更新发布
SuperIO 2.1下载 一.SuperIO 的特点: 1) 能够很快的构建自己的通讯平台软件,包括主程序. 2) 设备模块化开发,通过配制文件挂载,即可在平台软件下运行. 3) 设备 ...
- 变通实现微服务的per request以提高IO效率(三)
*:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !important; } /* ...
- [翻译]Java HashMap工作原理
大部分Java开发者都在使用Map,特别是HashMap.HashMap是一种简单但强大的方式去存储和获取数据.但有多少开发者知道HashMap内部如何工作呢?几天前,我阅读了java.util.Ha ...
- SharePoint 2013 Excel Services REST API介绍
前言:Excel Services 中的 REST API 是 Microsoft SharePoint Server 2010 的新增项.利用 REST API,可通过 URL 直接访问工作簿部件或 ...
- MongoDB-分片片键
1.分片 分片是什么?分片就是将数据存储在多个机器上.当数据集超过单台服务器的容量,服务器的内存,磁盘IO都会有问题,即超过单台服务器的性能瓶颈.此时有两种解决方案,垂直扩展和水平扩展(分片). ...
- 常用的HTTP状态代码
常用的HTTP状态代码如下: 400 无法解析此请求. 401.1 未经授权:访问由于凭据无效被拒绝. 401.2 未经授权: 访问由于服务器配置倾向使用替代身份验证方法而被拒绝. 401.3 未经授 ...
- C#委托的介绍(delegate、Action、Func、predicate) --转载
来源:http://www.cnblogs.com/akwwl/p/3232679.html 委托是一个类,它定义了方法的类型,使得可以将方法当作另一个方法的参数来进行传递.事件是一种特殊的委托. 1 ...