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. Spring注入中byType和byName的总结

    1.首先,区分清楚什么是byType,什么是byName. <bean id="userServiceImpl" class="cn.com.bochy.servi ...

  2. 转:Java Web应用中调优线程池的重要性

    不论你是否关注,Java Web应用都或多或少的使用了线程池来处理请求.线程池的实现细节可能会被忽视,但是有关于线程池的使用和调优迟早是需要了解的.本文主要介绍Java线程池的使用和如何正确的配置线程 ...

  3. CSS:CSS样式表及选择器优先级总结

    我们在写网页的时候经常会遇到同一个HTML文件,使用了外部样式.内部样式以及内联样式,那么如果发生冲突时浏览器是怎么抉择的呢? 也会遇到这样的情况,在样式表中,对同一个HTML元素,我们有可能既用到了 ...

  4. Logging configuration

    The Play logger is built on Log4j. Since most Java libraries use Log4j or a wrapper able to use Log4 ...

  5. HTML5 获取地理位置信息

    HTML5增加的新功能,获取地理位置信息,如果浏览器支持且设备有定位功能,就能够直接使用这组API来获取当前信息位置.该Geolocation API可以应用于移动设备中的地理位置. Geolocat ...

  6. HTML DOM 教程

    HTML DOM DOM 教程 DOM 简介 DOM 节点 DOM 方法 DOM 属性 DOM 访问 DOM 修改 DOM 内容 DOM 元素 DOM 事件 DOM 导航 一,HTML DOM 简介 ...

  7. DevExpress TreeList使用心得

    来自:http://www.cnblogs.com/sndnnlfhvk/archive/2011/05/15/2046920.html 最近做项目新增光纤线路清查功能模块,思路和算法已经想好了,些代 ...

  8. iOS用三种途径实现一方法有多个返回值

    以前觉得这种标题有点偏向于理论,实际开发中怎么会有这种诡异的需求,但是真正遇到了这种硬需求时觉得还是有那么点价值的,理论付诸了实践在此也就做了个整理. 以我私下开发中的一处代码为例,本意是希望有这么一 ...

  9. iOS多线程之5.GCD的基本使用

      上一篇文章我对GCD的几个基本概念做了介绍,但是大家看完了可能觉得对理解GCD并没有什么卵用.其实会用GCD其实很简单,只要记住两条就可以了. 1. 主队列里的任务必须在异步函数中执行.   主队 ...

  10. OS的沙盒机制 --基础知识

    /* iOS的沙盒机制,应用只能访问自己应用目录下的文件. iOS不像android,没有SD卡概念,不能直接访问图像.视频等内容. iOS应用产生的内容,如图像.文件.缓存内容等都必须存储在自己的沙 ...