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;

多个列不同的排序方式,先按照columnName1DESC排序,在按照columnName2ASC排序。

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 BYWHERE时,应该让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.LIKEREGEXP之间有一个重要的区别:
在不使用通配符%_时, LIKE不返回结果
REGEXP返回所有匹配的结果
2.正则匹配不区分大小写。如果需要区分大小写,可以使用BINARY关键字,如

SELECT * FROM tableName WHERE columnName REGEXP BINARY '.000';
注意:
为了匹配特殊字符,必须使用\\为前导。\\.表示查找..
MySQL使用两个反斜杠,MySQL自己解释一个,正则表达式库解释另一个。

MySQL的基本知识 -- 命令的更多相关文章

  1. mysql 索引相关知识

    由where 1 =1 引发的思考 最近工作上被说了 说代码中不能用 where 1=1,当时觉得是应该可以用的,但是找不到什么理据, 而且mysql 语句优化这方面确实很薄弱   感觉自己mysql ...

  2. mysql数据库相关知识

    什么是数据库?                数据库(Database)是按照数据结构来组织.存储和管理数据的建立在计算机存储设备上的仓库.(来自:百度) 什么是sql? 结构化查询语言(Struct ...

  3. MYSQL 数据库导入导出命令

    MySQL命令行导出数据库 1,进入MySQL目录下的bin文件夹:cd MySQL中到bin文件夹的目录 如我输入的命令行:cd C:\Program Files\MySQL\MySQL Serve ...

  4. mysql 登录及常用命令

    一.mysql服务的启动和停止 mysql> net stop mysql mysql> net start mysql 二.登陆mysql mysql> 语法如下: mysql - ...

  5. mysql一些写常用命令

    参见pcttcnc2007博客腾飞 1.mysql的status信息命令: mysql> show global status; 2.可以列出mysql服务器运行各种状态值,另外,查询mysql ...

  6. mysql中的load命令使用方法

    使用mysql 中的load 命令,可以将txt 文件中的内容加载到数据库表中 使用mysql 中的load 命令,讲txt 文件中的内容加载到数据库表中,例如,创建table,名称是user,一个字 ...

  7. mysql查看表结构命令

    mysql查看表结构命令 mysql查看表结构命令,如下: desc 表名;show columns from 表名;describe 表名;show create table 表名; use inf ...

  8. 查看MySQL数据库表的命令介绍

    如果需要查看MySQL数据库中都有哪些MySQL数据库表,应该如何实现呢?下面就为您介绍查看MySQL数据库表的命令,供您参考. 进入MySQL Command line client下查看当前使用的 ...

  9. MySQL中EXPLAIN解释命令详解

    MySQL中的explain命令显示了mysql如何使用索引来处理select语句以及连接表.explain显示的信息可以帮助选择更好的索引和写出更优化的查询语句. 1.EXPLAIN的使用方法:在s ...

随机推荐

  1. [moka同学笔记]四、Yii2.0课程笔记(魏曦老师教程)[匿名函数的使用操作]

    在评论页面中index.php中 [ 'attribute'=>'status', 'value'=>'status0.name', 'filter'=>Commentstatus: ...

  2. REST服务介绍二

           之前一篇文章写过REST服务介绍, 今天再次来自回顾一下. REST是一种架构风格. 首次出现在2000年Roy Fielding的博士论文中,Roy Fielding是 HTTP 规范 ...

  3. 变通实现微服务的per request以提高IO效率(三)

    *:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !important; } /* ...

  4. maven引入的jar带了时间戳

    正常情况下,我们引入的第三方jar一般都是类似spider-1.0.5-SNAPSHOT.jar的名称,但是有些环境下,我们引入的三方jar会带上了时间戳,如下所示: spider-1.0.5-201 ...

  5. Xdebug文档(七) 远程调试

    Xdebug提示调试客户端接口与PHP运行相联系.该章节解释如何设置PHP与xdebug,并推荐一些客户端. 介绍 Xdebug的远程调试器允许你检查数据结构,交互式地穿过和调试你的代码.该协议已经开 ...

  6. ASP.NET Core 运行原理剖析1:初始化WebApp模版并运行

    ASP.NET Core 运行原理剖析1:初始化WebApp模版并运行 核心框架 ASP.NET Core APP 创建与运行 总结 之前两篇文章简析.NET Core 以及与 .NET Framew ...

  7. js--找字符串中出现最多的字符

    在一个字符串中,如 'zhaochucichuzuiduodezifu',我们要找出出现最多的字符.本文章将详细说明方法思路. 先介绍两个string对象中的两个方法:indexOf()和charAt ...

  8. JavaScript 变量声明提前

    <JavaScript权威指南>中指出:JavaScript变量在声明之前已经可用,JavaScript的这个特性被非正式的称为声明提前(hoisting),即JavaScript函数中声 ...

  9. iOS多图片下载

    iOS多图片下载.在cell里面下载图片.做了缓存优化. (app.icon是图片地址) // 先从内存缓存中取出图片 UIImage *image = self.images[app.icon]; ...

  10. iOS Block界面反向传值

    在上篇博客 <iOS Block简介> 中,侧重解析了 iOS Block的概念等,本文将侧重于它们在开发中的应用. Block是iOS4.0+ 和Mac OS X 10.6+ 引进的对C ...