navicat 第三方mysql客户端的使用 数据库的备份【了解
SELECT * FROM hero; 查询表
-- 条件查询
-- SELECT name,age,post(字段) FROM 表名
-- 关系运算符
-- SELECT * FROM hero WHERE age>20; 关系运算符的查询
-- SELECT * FROM hero WHERE age<=40 and age>=10;
-- SELECT * FROM hero WHERE age !=20;
-- SELECT * FROM hero WHERE age <>20; 查询年龄不等于20的
-- 逻辑运算符 AND OR NOT
-- SELECT * FROM hero WHERE age<40 AND age>20; 符合在20和40之间
-- SELECT * FROM hero WHERE age<40 OR age>20; 符合一个条件即可
-- in和between的用法和意义
-- SELECT * FROM hero WHERE age in (20,40); 查找表中年龄符合20和40的
-- SELECT * FROM hero WHERE age BETWEEN 20 AND 40; 查找20和40之间的值这是一个闭区间
-- SELECT * FROM hero WHERE age is NULL; 这个null表示不是空字符串,如果一个显示的是空字符串则不是null
-- SELECT SUM(age) AS total FROM hero; 年龄的总和
-- SELECT MAX(age) AS max FROM hero; 年龄的最大值
-- SELECT MIN(age) nin FROM hero; 年龄的最小值
-- SELECT AVG(age) FROM hero WHERE age>20; 可以添加一些条件
-- SELECT COUNT(age) count FROM hero; 统计 当年龄有的为null的时候不会被统计
-- AS 取别名
-- WHERE 模糊查询
-- SELECT * FROM 表名 WHERE NAME LIKE "%liu%" 包含liu的名称的用户名,其中的%占0到无数个位置
-- SELECT id,`name` FROM hero WHERE `name` LIKE "%li%" 查询用户名中含有li的人名
-- 查询已li名称开头的用户
-- SELECT id,name,nickname FROM hero WHERE `name` LIKE "li%" ;查询以li开头的用户
-- 查询名字是li的用户名
-- SELECT id,name,nickname FROM hero WHERE `name` LIKE "li";
-- 查询第二位是以i名称开头的用户
-- SELECT id,name FROM hero WHERE `name` LIKE "_i%"
-- 精确查询 是用等于号表示的
-- SELECT * FROM hero WHERE name = "lisi" 当精确查询的时候不能写% _什么一类的不然会被判断为字符串内容
-- 条件查询排序,分组,having筛选
-- SELECT * FROM hero ORDER BY age 不写默认是升序排
-- SELECT * FROM hero ORDER BY age DESC 降序排列
-- 排序中加条件的
-- SELECT * FROM hero WHERE age>20 ORDER BY age DESC 执行 order BY 执行是先执行where这个条件过后在执行排序
-- 分组 GROUP BY
-- SELECT address,COUNT(address) FROM hero GROUP BY address 统计出来地址的分类和次数
-- SELECT address,COUNT(address) FROM hero WHERE COUNT(address) GROUP BY address 怎样才能在分组过后再继续条件查询呢?显然这种做法是不正确,
-- 利用having进行再次筛选
-- SELECT address,COUNT(address) FROM hero GROUP BY address HAVING COUNT(address)>5; 可以继续添加条件
-- 分页查询 使用limit
-- 分页查询所用到的四个值
-- page_size 也就是查询的长度,一页多少条数据,由程序员决定
-- page_now 用户想要查询的页数
-- all_count 共有多少条数据是查询出来的 使用count()
-- page_count 是计算出来的值 page_count = Math.CEIL(all_count/page_size)
-- SELECT * FROM hero LIMIT 0,2 查询前两条
-- SELECT * FROM hero LIMIT 2,2; 查询第三条和第四条消息
-- SELECT * FROM hero LIMIT (page_now-1)*page_size,page_size;
-- 条件查询的顺序--顺序问题
-- SELECT
-- FROM
-- WHERE
-- GROUP BY
-- HAVING
-- ORDER BY
-- LIMIT
-- 例题来一个