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 ...
随机推荐
- 用Spring Boot颠覆Java应用开发
Java开发概述: 使用Java做Web应用开发已经有近20年的历史了,从最初的Servlet1.0一步步演化到现在如此多的框架,库以及整个生态系统.经过这么长时间的发展,Java作为一个成熟的语言, ...
- placeholder的样式设置
在input框中有时想将输入的字和placeholder设为不同的颜色或其它效果,这时就可以用以下代码来对placeholder进行样式设置了. ::-webkit-input-placeholder ...
- Session中load/get方法的详细区别
Session.load/get方法均可以根据指定的实体类和id从数据库读取记录,并返回与之对应的实体对象.其区别在于: 如果未能发现符合条件的记录,get方法返回null,而load方法会抛出一个O ...
- 对hashcode、equals的理解
1.首先hashcode和equals都是java每个对象都存在的方法,因为他们两是Object的方法. 2.hashcode方法默认返回的是该对象内存地址的哈希码,然而你会发现,Object类中没有 ...
- Lind.DDD.IoC依赖注入与面向方面的实现
回到目录 IoC是解耦的灵魂,很难想像一个框架中没有IoC会变成什么样子,Lind.DDD里的IoC是通过Unity实现的,由依赖注入(unity)和方法拦截组成(Interception),依赖注入 ...
- ASP.NET MVC+EF框架+EasyUI实现权限管理系列(23)-设置角色遗留问题和为权限设置角色以及EasyUI Tabs的使用
ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇) (1):框架搭建 (2):数据库访问层的设计Demo (3):面向接口编程 (4 ):业务逻辑层的封装 ...
- php动态更改post_max_size, upload_max_filesize等值
在配置文件里 有些PHP 配置选项可以用int_set() 函数 直接在 项目里修改.但是有些值确不行.例如和上传文件有关的post_max_size和upload_max_filesize int_ ...
- 轻松掌握:JavaScript模板方法模式
模板方法模式 假如我们有一些对象,各个对象之间有一些相同的行为,也有一些不同的行为,这时,我们就可以用模板方法模式来把相同的部分上移到它们的共同原型中(父类),而将不同的部分留给自己各自重新实现. 模 ...
- Linux0.11内核--进程调度分析之2.调度
[版权所有,转载请注明出处.出处:http://www.cnblogs.com/joey-hua/p/5596830.html ] 上一篇说到进程调度归根结底是调用timer_interrupt函数, ...
- “#if 0/#if 1 ... #endif”的作用
1. "#if 0/#if 1 ... #endif"的作用,我们知道,C标准不提供C++里的"//"这样的单行风格注释而只提供"/* */" ...