一:创建数据库

1:CREATE DATABASE test;   //创建数据库test

2:SHOW DATABASES;        //查看目前数据库中可用的数据库,默认会有系统数据库

3:USE test;              //将test设置为目前操作的数据库

4:SHOW TABLES;           //显示一个数据库中的所有表

5:SHOW COLUMNS FROM test.table  //显示test数据库中一个表的详细信息

二:SELECT查询和排序

1:SELECT col FROM test.table;   //将test.table中的col列选择出来

2:SELECT col,col1 FROM test.table; //将test.table中col,col1列选择出来

3:SELECT * FROM test.table;    //将test.table中所有列选择出来

4:SELECT DISTINCT col FROM test.table;  //将test.table中col列选择出来,并且剔除重复。
SELECT DISTINCT col,col1 FROM test.table; //需要注意,会将col和col1中各自不同的剔除,去除重复时以不同的多的为主。

三:限制 LIMIT

5: SELECT col FROM test.table LIMIT 5;   //返回test.table的col列,返回不多于5行

   SELECT col FROM test.table LIMIT 5,5; //从第5行开始,往后数5行,注意,MySQL是有0行这个概念的

四:排序 ORDER BY

6: SELECT col FROM test.table ORDER BY col;  //从test.table中选择col列,并且按照col列排序。

   SELECT col,col1 FROM test.table ORDER BY col,col1;  //按照col和col1列排序

   SELECT col FROM test.table ORDER BY col DESC;    //DESC指定按照  逆序,如果想对多个列采用,那么必须同时对每一列指定DESC
//ORDER BY 和LIMIT共同使用时,注意将LIMIT放在ORDER BY后面。

五:选择 WHERE

7: SELECT col FROM test.table WHERE col=5;  //从test.table中选出col列值为5的元组。
//WHRER和ORDER BY 共同使用时,注意将ORDER BY放到WHERE后面。
//WHERE 字句的操作符: = 等于 <> 不等于 != 不等于 < 小于 <= 小于等于 > 大于 >= 大于等于 BETWEEN A AND B A和B范围之间的
SELECT col FROM test.table WHERE col <> 5; //col的值不等于5的,可以直接用!= SELECT col FROM test.table WHERE col BETWEEN 5 AND 10; //col的值在5或者10的。 SELECT col FROM test.table WHERE col1 IS NULL; //默认检测col1中是否有空值,比如有的用户的邮箱没有填。

六:数据过滤 AND

8: SELECT col,col1 FROM test.table WHERE col=1 AND col1=2; //选出col=1并且col1=2的元组

   SELECT col,col1 FROM test.table WHERE col=1 OR col1=2; //选出col=1或者col1=2的元组

   SELECT col,col1 FROM test.table WHERE (col=1 OR col1=2) AND col3 = 5; //选出col=1或者col1=2并且col3=5的所有元组
//注意:默认情况下AND的优先级比OR高。 SELECT col FROM test.table WHERE col IN(3,5,...); //IN实现和OR一样的功能,将()中的元素一一对应过去 SELECT col FROM test.table WHERE col NOT IN(3,5); //除过col=3,4,5,的情况,显示其余部分

七:简单匹配和正则。

9: SELECT col FROM test.table WHERE col LIKE 'Jet%';  //%表示任意,'Jet%'表示所有以Jet开头的。

10: SELECT col FROM test.table WHERE col LIKE '_ ton';   //_表示一个,'_ ton'表示所有 ton前面还有一个字符 的串。
//正常情况下我们一般将通配符放在搜索模式的最后,因为通配非常浪费时间,我们一般给尽可能小的数据量通配。 //正则表达式: REGEXP 处理简单通配符无法处理的情况
//与通配的不同指出在于,通配时候,除非列中的数据完全和我们指定的串相等时才会查找出来结果,即使数据中包含我们查找的串也不行,举个例子
//数据是 'hello' ,WHERE col LIKE 'hell' 是不会将'hello'返回的,但是我们用REGEXP就可以
//这点非常重要,即REGEXP会匹配我们数据的字串。
11: SELECT prod_name FROM test.table WHERE col REGEXP '.Jet'; // .表示匹配任意一个字符,这点与通配符不同 12:SELECT prod_name FROM test.table WHERE col REGEXP 1000|2000; // col 等于1000或者2000,还可以多增加几个OR 13: SELECT prod_name FROM test.table WHERE col REGEXP '[123] Ton'; //相当于匹配 1 Ton|2 Ton|3 Ton; SELECT prod_name FROM test.table WHERE col REGEXP '[1-3] Ton'; //和上面的语句是同一个作用,简写。 SELECT prod_name FROM test.table WHERE col REGEXP '1|2|3 Ton'; //与上面的不同,相当于 1 | 2 | 3 Ton; SELECT prod_name FROM test.table WHERE col REGEXP '[^123] Ton'; //除过123之外的.Ton,注意^是在[]里面的。 //转义字符 MySQL中用 \\X x表示我们要转义的字符 第一个\MySQL自己解释,第二个\正则表达式库解释
SELECT prod_name FROM test.table WHERE col REGEXP '\\.'; //找出带符号.的。
//匹配字符
SELECT prod_name FROM test.table WHERE col REGEXP '\\([0-9] sticks?\\)'; // \\( 转义前括号 [0-9]匹配0-9 ?匹配一个字符,\\)匹配后括号。
//^作为定位符 表示开始
SELECT prod_name FROM test.table WHERE col REGEXP '^[0-9]\\.'; //表示以数字或者.开头的串。 //REGEXP 是想和 LIKE 一样的功能
SELECT prod_name FROM test.table WHERE col REGEXP '1000'
SELECT prod_name FROM test.table WHERE col REGEXP '^1000$' //将每一项都按照全部匹配来做,和上面一样.

MySQL 查询语句(1)的更多相关文章

  1. MySQL查询语句执行过程及性能优化(JOIN/ORDER BY)-图

    http://blog.csdn.net/iefreer/article/details/12622097 MySQL查询语句执行过程及性能优化-查询过程及优化方法(JOIN/ORDER BY) 标签 ...

  2. mysql查询语句,通过limit来限制查询的行数。

    mysql查询语句,通过limit来限制查询的行数. 例如: select name from usertb where age > 20 limit 0, 1; //限制从第一条开始,显示1条 ...

  3. MYSQL查询语句大全集锦

    MYSQL查询语句大全集锦 1:使用SHOW语句找出在服务器上当前存在什么数据库: mysql> SHOW DATABASES; 2:2.创建一个数据库MYSQLDATA mysql> C ...

  4. MySQL查询语句执行过程及性能优化-基本概念和EXPLAIN语句简介

    网站或服务的性能关键点很大程度在于数据库的设计(假设你选择了合适的语言开发框架)以及如何查询数据上. 我们知道MySQL的性能优化方法,一般有建立索引.规避复杂联合查询.设置冗余字段.建立中间表.查询 ...

  5. MySQL查询语句执行过程及性能优化-查询过程及优化方法(JOIN/ORDER BY)

    在上一篇文章MySQL查询语句执行过程及性能优化-基本概念和EXPLAIN语句简介中介绍了EXPLAIN语句,并举了一个慢查询例子:

  6. mysql查询语句集

    1. mysql 查询出某字段的值不为空的语句 1.不为空 select * from table where id <> ""; select * from tabl ...

  7. [转]MySQL查询语句执行过程详解

    Mysql查询语句执行原理 数据库查询语句如何执行?语法分析:首先进行语法分析,对使用sql表示的查询进行语法分析,生成查询语法分析树.语义检查:检查sql中所涉及的对象以及是否在数据库中存在,用户是 ...

  8. Mysql查询语句中字符型字段不区分大小写解决方法

    项目中和前端联调的时候,发现Mysql查询语句中字符型字段值过滤是不区分大小写的,之前没有关注过这个设置,特意去网上看了下,原因是Mysql中“COLLATE”属性区分大小写,而该属性默认值为“utf ...

  9. php面试专题---MYSQL查询语句优化

    php面试专题---MYSQL查询语句优化 一.总结 一句话总结: mysql的性能优化包罗甚广: 索引优化,查询优化,查询缓存,服务器设置优化,操作系统和硬件优化,应用层面优化(web服务器,缓存) ...

  10. Mysql查询语句执行过程

    Mysql查询语句执行过程   Mysql分为server层和存储引擎两部分,或许可以再加一层连接层   连接层(器) Mysql使用的是典型的C/S架构.连接器通过典型的TCP握手完成连接. 需要注 ...

随机推荐

  1. 用Python做了个奇奇怪怪的打篮球游戏

    一.前言 准备编写一个篮球游戏,运动员带球跑,跳起投篮.在每帧图片中包括运动员和篮球,使用多帧图片,实现运动员运球跑动的效果. 运动员运球跑动作每帧图形的宽和高可能不同,例如,跨一大步,和两腿并拢,其 ...

  2. Jmeter扩展组件开发(8) - 函数助手扩展开发demo

    前提条件 1.pom文件引用ApacheJMeter_functions包 <dependency> <groupId>org.apache.jmeter</groupI ...

  3. Jmeter系列(9)- Linux环境安装之安装JDK

    step-1下载安装包 下载Linux环境下的jdk1.8,请去(官网)中下载jdk的安装文件:或者评论区留言 step-2解压到/usr/local目录 mkdir /usr/local/java ...

  4. 全面分析 Vue 的 computed 和 watch 的区别

    一.computed介绍 computed 用来监控自己定义的变量,该变量在 data 内没有声明,直接在 computed 里面定义,页面上可直接使用. //基础使用 {{msg}} <inp ...

  5. 为什么说Mysql预处理可以防止SQL注入

    简单点理解:prepareStatement会形成参数化的查询,例如:1select * from A where tablename.id = ?传入参数'1;select * from B'如果不 ...

  6. 巧用优先队列:重载运算符在STL优先队列中的应用

    前言 写优先队列优化dijkstra的时候,需要放进优先队列的常常有数值和编号两类,以下介绍让编号捆绑数值放入优先队列的几种方法. 由于过程比较简单,记住代码即可,下面不再讲解,只附上代码,请读者自行 ...

  7. Conda 命令

    Conda 命令 1 检验当前conda的版本 conda -V 2 conda常用的命令 查看已有的虚拟环境 conda env list 创建虚拟环境和删除虚拟环境 anaconda命令创建pyt ...

  8. 题解 「BZOJ2178」圆的面积并

    题目传送门 题目大意 给出 \(n\) 个圆,求它们并的面积大小. \(n\le 10^3\) 思路 如果您不会自适应辛普森法,请戳这里学习 其实我们发现,如果我们设 \(f(x)\) 表示 \(x= ...

  9. PAT (Basic Level) Practice (中文)1025 反转链表 (25分)

    1025 反转链表 (25分) 给定一个常数 K 以及一个单链表 L,请编写程序将 L 中每 K 个结点反转.例如:给定 L 为 1→2→3→4→5→6,K 为 3,则输出应该为 3→2→1→6→5→ ...

  10. g++ 常用命令

    g++ --help