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. Hibernate-chapter one

    ======什么是Hibernate???====== Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的 ...

  2. thinkphp学习简易教程(二) thinkphp连接读取MySQL数据库

    首先, 在本地服务器中新建项目APP,依据第一讲中的步骤配置好thinkphp,这里为了测试方便,不分前台和后台模块,统一把模块路径设为'./APP/'. 1.新建数据库myapp,以及数据库表thi ...

  3. 2016 ICPC大连站---F题 Detachment

    题意:输入一个x,将x拆分成一些小的数(这些数不能相同,即x=a1+a2+......   ai!=aj when i!=j),然后这些数相乘得到一个成积(s=a1*a2*......),求最大的乘积 ...

  4. hdu-2063-二分图最大匹配

    过山车 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submiss ...

  5. java泛型详解

    http://www.cnblogs.com/lwbqqyumidi/p/3837629.html

  6. jxl导入导出实例

    1 package com.tgb.test; 2 3 import java.io.File; 4 import java.io.IOException; 5 import java.util.Ar ...

  7. 记录一次Quartz2D学习(一)

    经常看点 drawRect的重写  但是不知道这究竟是神马 今天开始学习这一块的东西,更确切地说是深入 早在view的时候 就经常会调用layer的maskToBounds属性,其实 重写 drawR ...

  8. crontab -e 每天定时备份mysql

    contab -e 00 03 * * * mysqldump -u juandx --password=wenbin -d 'juandx$blog' -h host > /home/juan ...

  9. ORA-01113: file xxxx needs media recovery

    由于规范存储位置以及存储空间调整缘故需要移动表空间MRP_INDEX2的数据文件,如下所示,首先将表空间MRP_INDEX2脱机; 然后复制数据文件:接着重命名数据文件,最后将表空间MRP_INDEX ...

  10. 0032 Java学习笔记-类加载机制-初步

    JVM虚拟机 Java虚拟机有自己完善的硬件架构(处理器.堆栈.寄存器等)和指令系统 Java虚拟机是一种能运行Java bytecode的虚拟机 JVM并非专属于Java语言,只要生成的编译文件能匹 ...