mysql是基于客户机—服务器的数据库。客户机—服务器应用分为两个不同的部分。服务器部分是负责所有数据访问和处理的一个软件。

连接mysql

要连接mysql需要知道如下

  1. 主机名: 本地为localhost
  2. 端口: 默认为3306,如更改必须加上此项
  3. 用户名
  4. 密码

基本数据库命令

显示所有数据库

SHOW DATABASES;

选择数据库

USE databasename;

显示所有表

SHOW TABLES;

显示表列

SHOW COLUMNS FROM tablename

等同于

DESC tablename;

其他show语句

  • SHOW STATUS,用于显示广泛的服务器状态信息;
  • SHOW GRANTS,用来显示授予用户(所有用户或特定用户)的安全权限;
  • SHOW ERRORS和SHOW WARNINGS,用来显示服务器错误或警告消息.值得注意的是,客户机应用程序使用与这里相同的MySQL命令。

检索数据

语法: SELECT _ FROM tablename;

_代表特定的一列或几列

例如: SELECT * FROM tab1; 从tab1中取出所用列的数据
SELECT name FORM tab1; 从tab1中取出name列的数据
SELECT name, age FROM tab1; 检索多个列

检索不同的行

SELECT返回所有匹配的行。如果你不想要每个值每次都出现,而是希望同样的值只出现一次,就要使用DISTINCT关键字

SELECT DISTINCT age FROM tab1; 只返回所有不同的age

限制检索结果

LIMIT子句

SELECT name FROM tab1 LIMIT 5; 显示小于等于5条数据(如果不足五条就小于)

SELECT name FROM tab1 LIMIT 10, 5; 从第十行开始检索五行

排序数据

首先注意,如果不明确控制的话,直接从数据库中检索的数据不能视为已排序数据。

子句(clause): SQL语句由子句构成,有些子句是必需的,而
有的是可选的。一个子句通常由一个关键字和所提供的数据组
成。例如,前面的SELECT语句的FROM子句和LIMIT子句

ORDER BY子句

ORDER BY子句用来排序检索的数据

单个列排序

SELECT name FROM tab1 ORDER BY name; 以将name列以字母顺序排序

SELECT name FROM tab1 ORDER BY age; 以age列的数字大小排序

多个列排序

SELECT name, age FROM tab1 ORDER BY name, age; 先按name排序,再按age排序,只有当name有重复的值时,才会按照age排序

指定排序方向

OEDER BY 默认升序排列(A-Z),在mysql大小写字母被视为相同,DESC 关键字:降序排列(Z-A),还有的ASC是升序排列,用处不大

一个小栗子:
找出一组数据中最大的几个数

SELECT name FROM tab1 ORDER_BY age DESC LIMIT 5

简单的mysql查询的更多相关文章

  1. 使用 mysql-proxy 监听 mysql 查询

    什么是 mysql-proxy? mysql-proxy是mysql官方提供的mysql中间件服务,上游可接入若干个mysql-client,后端可连接若干个mysql-server. 它使用mysq ...

  2. mysql查询缓存简单使用

    MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品.MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBM ...

  3. mysql查询性能优化

    mysql查询过程: 客户端发送查询请求. 服务器检查查询缓存,如果命中缓存,则返回结果,否则,继续执行. 服务器进行sql解析,预处理,再由优化器生成执行计划. Mysql调用存储引擎API执行优化 ...

  4. MYSQL查询语句优化

    mysql的性能优化包罗甚广: 索引优化,查询优化,查询缓存,服务器设置优化,操作系统和硬件优化,应用层面优化(web服务器,缓存)等等.这里的记录的优化技巧更适用于开发人员,都是从网络上收集和自己整 ...

  5. MySQL查询重复出现次数最多的记录

    MySQL查询的方法很多,下面为您介绍的MySQL查询语句用于实现查询重复出现次数最多的记录,对于学习MySQL查询有很好的帮助作用. 在有些应用里面,我们需要查询重复次数最多的一些记录,虽然这是一个 ...

  6. mysql查询在一张表不在另外一张表的记录

    mysql查询在一张表不在另外一张表的记录   问题:    查询一个表(tb1)的字段记录不在另一个表(tb2)中      条件:tb1的字段key的值不在tbl2表中      -------- ...

  7. MySQL查询LIKE如何匹配下划线 通配符转义

    MySQL查询时使用LIKE匹配下划线,您会发现连查询“%A_B%”时会出现“%A B%”和“%AB%”也查询出来了,这是因为下划线也被当作特殊字符,做了任意匹配转换了,所以,要想匹配下划线,那么就需 ...

  8. Limit参数优化MySQL查询的方法

    在做一些查询时,总希望能避免数据库引擎做全表扫描,因为全表扫描时间长,而且其中大部分扫描对客户端而言是没有意义的.那么,在mysql中有那些方式是可以避免全表扫面?除了通过使用索引列或分区等方式来进行 ...

  9. MySQL查询执行过程

    MySQL查询执行路径 1. 客户端发送一条查询给服务器: 2. 服务器先会检查查询缓存,如果命中了缓存,则立即返回存储在缓存中的结果.否则进入下一阶段: 3. 服务器端进行SQL解析.预处理,再由优 ...

随机推荐

  1. 带你走近AngularJS - 创建自定义指令

    带你走近AngularJS系列: 带你走近AngularJS - 基本功能介绍 带你走近AngularJS - 体验指令实例 带你走近AngularJS - 创建自定义指令 ------------- ...

  2. atitit 短信验证码的源码实现  .docx

    atitit 短信验证码的源码实现  .docx 参考 Atitit usrQBM1603短信验证码规范1 主要方法1 源码实现1 参考 Atitit usrQBM1603短信验证码规范 主要方法 L ...

  3. Java正则表达式应用详解

    如果你曾经用过Perl或任何其他内建正则表达式支持的语言,你一定知道用正则表达式处理文本和匹配模式是多么简单.如果你不熟悉这个术语,那么“正则表达式”(Regular Expression)就是一个字 ...

  4. HTML中的title换行问题

    有时我们需要在html元素的title中换行显示信息.以下几种方法均可以实现: 直接在titile属性中使用换行,如下所示: asd">asdsadsad</a> 在tit ...

  5. Python数据类型之“数字(numerics)”

    上一节内容说的是"Python基本语法",本节主要讲下Python中的数据类型. 存储在内存中的数据通常有两个属性: 在内存中的存放位置:这个存放位置通过变量名可以找到: 在内存中 ...

  6. c# BlowFish 高速 对称加密

    BlowFish 高速 对称加密 string key = "this is my key"; BlowFish algo = new BlowFish(key); string ...

  7. Implementation Model Editor of AVEVA in OpenSceneGraph

    Implementation Model Editor of AVEVA in OpenSceneGraph eryar@163.com 摘要Abstract:本文主要对工厂和海工设计软件AVEVA的 ...

  8. codeforces Gargari and Permutations(DAG+BFS)

    /* 题意:求出多个全排列的lcs! 思路:因为是全排列,所以每一行的每一个数字都不会重复,所以如果有每一个全排列的数字 i 都在数字 j的前面,那么i, j建立一条有向边! 最后用bfs遍历整个图, ...

  9. nyoj 925 国王的烦恼(最小生成树)

    /* 题意:N个城市中每两个城市有多条路径连接,可是因为路径存在的天数是有限的!以为某条路经不存在了 导致N个城市不能连通了,那么村名们就会抗议!问一共会有多少次抗议! 思路:最小生成树....我们用 ...

  10. Screenfly – 各种设备的屏幕和分辨率下快速测试网站

    Screenfly 让你能够在各种设备的屏幕和分辨率下查看你的网站.输入网址,并点击GO开始浏览网页.Screenfly 可以使用代理服务器来模拟设备,当您查看您的网站,代理服务器模仿您所选择的设备的 ...