mysql常见关键字的⽤法_MySQL常⽤关键字⽤法详解
MySQL 常⽤关键字⽤法详解
在开发⼯程中,操作数据库的时候经常会有不同类型的条件查询,除了使⽤where外,Mysql本⾝也提供了很多常⽤的关键字。本⽂主要介绍⼀些常⽤的关键字,像update、insert、delete、select这样的就不在做解释 。
distinct关键字
distinct关键字的⽬的是去重查询,⽰例如下:
select distinct 选择的字段 from 表名 条件从句; //distinct放在去重字段的前⾯
between关键字
between是查询条件关键字,主要和and连⽤,⽰例如下:
select * from user where age between 25 and 30; (查询年龄在25-30之间的⽤户)
limit关键字
limit关键字主要⽤在分页查询上,LIMIT ⼦句⽤于强制 SELECT 语句返回指定的记录数,LIMIT 接受⼀个或两个数字参数。参数必须是⼀个整数常量。如果给定两个参数,第⼀个参数指定第⼀个返回记录⾏的偏移量,第⼆个参数指定返回记录⾏的最⼤数⽬。初始记录⾏的偏移量是 0(⽽不是 1),⽰例如下:
SELECT * FROM table LIMIT 5,10; // 检索记录⾏ 6-15
//为了检索从某⼀个偏移量到记录集的结束所有的记录⾏,可以指定第⼆个参数为 -1:
SELECT * FROM table LIMIT 95,-1; // 检索记录⾏ 96-last.
//如果只给定⼀个参数,它表⽰返回最⼤的记录⾏数⽬:
SELECT * FROM table LIMIT 5; //检索前 5 个记录⾏
//换句话说,LIMIT n 等价于 LIMIT 0,n。
count关键字
count关键字的主要⽬的是返回所有的记录条数,⽰例如下:
select COUNT(*) from user; (查询user表所有记录条数)
sum、max、min、avg关键字step7的ascii码转换为int型
word半页空白移不上去sum、max、min、avg四个关键字,分别代表查询结果的求和、最⼤值、最⼩值和平均值,⽰例如下:
select sum(age) from user;(查询所有的年龄和)
select min(age) from user;(最⼩的年龄)
select max(age) from user;(最⼤的年龄)
select avg(age) from user;(所有⼈年龄的平均值)
order by关键字
order by关键字主要是⽤在排序上,排序分为正序(asc )和倒序(desc)两种,⽰例如下:
//倒序查询
SELECT * from runoob_tbl ORDER BY submission_date DESC
//正序查询
SELECT * from runoob_tbl ORDER BY submission_date ASC;
group by关键字
GROUP BY 语句根据⼀个或多个列对结果集进⾏分组。在分组的列上我们可以使⽤ COUNT, SUM, AVG,等函数。⽰例如下:
创建数据库表,插⼊数据
DROP TABLE IF EXISTS `employee_tbl`;
CREATE TABLE `employee_tbl` (
`id` int(11) NOT NULL,接口类型不能用于实例化对象也不能用于声明对象引用
`name` char(10) NOT NULL DEFAULT '',
`date` datetime NOT NULL,
`singin` tinyint(4) NOT NULL DEFAULT '0' COMMENT '登录次数',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records of `employee_tbl`
-- ----------------------------
BEGIN;
INSERT INTO `employee_tbl` VALUES ('1', '⼩明', '2016-04-22 15:25:33', '1'), ('2', '⼩王', '2016-04-20 15:25:47', '3'), ('3', '⼩丽', '2016-04-19 15:26:02', '2'), ('4', '⼩王', '2016-04-07 15:26:14', '4'), ('5', '⼩明', '2016-04-11 15:26:40', '4'), ('6', '⼩明',
'2016-04-04 15:26:54', '2');
COMMIT;
我们使⽤ GROUP BY 语句 将数据表按名字进⾏分组,并统计每个⼈有多少条记录:
mysql> SELECT name, COUNT(*) FROM employee_tbl GROUP BY name;
+--------+----------+
| name | COUNT(*) |
+--------+----------+
| ⼩丽 | 1 |
| ⼩明 | 3 |eclipse下载32位
| ⼩王 | 2 |
+--------+----------+
3 rows in set (0.01 sec)
使⽤ WITH ROLLUP
WITH ROLLUP 可以实现在分组统计数据基础上再进⾏相同的统计(SUM,AVG,COUNT…)。
例如我们将以上的数据表按名字进⾏分组,再统计每个⼈登录的次数:
SELECT name, SUM(singin) as singin_count FROM employee_tbl GROUP BY name WITH ROLLUP;
+--------+--------------+
| name | singin_count |
+--------+--------------+
| ⼩丽 | 2 |
| ⼩明 | 7 |switch函数的流程图怎么画
| ⼩王 | 7 |
| NULL | 16 |
+--------+--------------+
mysql面试题详解4 rows in set (0.00 sec)

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。