《MySQL常用命令1 / 29 MySQL 常用命令汇总 http://www.database8.com 2011-3-1 2 / 29 Mysql 常用命令 show databases; 显示数据库 create database name; 创建数据库 use databasename; 选择数据库 drop database name 直接删除数据库,不提醒 show tables; 显示表 describe tablename; 显示具体的表结构 select 中加上 disti
最基本的分页方式: SELECT … FROM … WHERE … ORDER BY … LIMIT … 在中小数据量的情况下,这样的SQL足够用了,唯一需要注意的问题就是确保使用了索引: 举例来说,如果实际SQL类似下面语句,那么在category_id, id两列上建立复合索引比较好: SELECT * FROM articles WHERE category_id = 123 ORDER BY id LIMIT 50, 10 子查询的分页方式: 随着数据量的增加,页数会越来越多,查看后几页
查询游戏历史成绩最高分前100
Sql代码
SELECT ps.* FROM cdb_playsgame ps WHERE ps.credits=(select MAX(credits)
FROM cdb_playsgame ps1
where ps.uid=ps1.uid AND ps.gametag=ps1.gametag) AND ps.gametag='yeti3'
GROUP BY ps.uid order by ps.credits desc LIMIT 100;
Sql代码
一,最常见MYSQL最基本的分页方式: 代码如下:select * from content order by id desc limit 0, 10在中小数据量的情况下,这样的SQL足够用了,唯一需要注意的问题就是确保使用了索引。随着数据量的增加,页数会越来越多,查看后几页的SQL就可能类似: 代码如下:select * from content order by id desc limit 10000, 10一言以蔽之,就是越往后分页,LIMIT语句的偏移量就会越大,速度也会明显变慢。此时,
这两天项目里出了一个问题,LIMIT使用后报错。 需求是这样的,我有3张表,infor信息表,mconfig物料配置表,maaply物料申请表,要求是读出申请表中哪些人申请哪些物料 于是我先是这样写的: 代码如下: SELECT infor.name,infor.phone,infor.add, mconfig.mname,mapply.acount,from_unixtime(mapply.atime,’%Y-%m-%d’) as ‘atime’ FROM mapply right JOIN
1> 查询数据表除了前三条以外的数据。
起初我想到的是这条语句
SELECT * FROM admin WHERE userid NOT IN (SELECT userid FROM admin ORDER BY userid LIMIT 3) ORDER BY userid DESC
但是运行的时候会报 This version of MySQL doesn’t yet support ‘LIMIT & IN/ALL/ANY/SOME subquery
这个的意思是表
1.order by rand()数据多了极慢,随机性非常好,适合非常小数据量的情况。 代码如下:SELECT * FROM table_name AS r1 JOIN (SELECT (ROUND(RAND() * (SELECT ABS(MAX(id)-MIN(id)-$limit) FROM table_name))+(SELECT MIN(id) from table_name)) AS id) AS r2 WHERE r1.id >= r2.id ORDER BY r1.id A
8:分页查询
应用场景:当要显示的数据,一页显示不全,需要分页提交sql请求
语法:
SELECT 查询列表
FROM 表名
【JOIN type JOIN 表2
ON 连接条件
WHERE 筛选条件
GROUP BY 分组字段
HAVING 分组后的筛选
ORDER BY 排序的字段】
LIMIT 要显示条目的起始索引(起始索引从0开始),长度(要显示的条目个数)
特点:
1.LIMIT 语句放在查询语句的最后
2.上述代码的执行顺序为:
1)FROM 表名
2)JOIN type JOIN
一、关于exists查询
explain select * from vendor where EXISTS(select * from area where area_code = vendor_prov_code ) limit 10
以上是一个典型的exists查询的sql语句。
它的作用方式是这样的:每次从vendor表中查询出一条数据,然后将这条数据中的vendor_prov_code值传递到exists查询中进行执行,也就是进行子查询的执行。
如果子查询查到的数据就返回布尔值tru