表中数据的增删改查
更改数据的插入、更新、删除 DML
插入数据
普通插入
- 不指定具体的字段名
INSERT [INTO] tbl_name VALUES|VALUE(值
- 列出指定字段
INSERT [INTO] tbl_name(字段名称1,……)value|values(值1,……)
值必须互相对应
mysql> CREATE TABLE IF NOT EXISTS student1(
->
-> id TINYINT UNSIGNED AUTO_INCREMENT KEY,
-> username VARCHAR(20) NOT NULL UNIQUE,
-> password CHAR(32) NOT NULL,
-> email VARCHAR(50) NOT NULL DEFAULT '234234234@qq.com',
-> age TINYINT UNSIGNED DEFAULT 18
->
-> );
Query OK, 0 rows affected (0.02 sec)
mysql> desc student1;
+----------+------------------+------+-----+------------------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------+------------------+------+-----+------------------+----------------+
| id | tinyint unsigned | NO | PRI | NULL | auto_increment |
| username | varchar(20) | NO | UNI | NULL | |
| password | char(32) | NO | | NULL | |
| email | varchar(50) | NO | | 234234234@qq.com | |
| age | tinyint unsigned | YES | | 18 | |
+----------+------------------+------+-----+------------------+----------------+
5 rows in set (0.00 sec)
mysql> INSERT INTO student1 VALUES(1,'KING','KING','KING@QQ.COM',23);
Query OK, 1 row affected (0.00 sec)
mysql> SELECT * FROM student1;
+----+----------+----------+-------------+------+
| id | username | password | email | age |
+----+----------+----------+-------------+------+
| 1 | KING | KING | KING@QQ.COM | 23 |
+----+----------+----------+-------------+------+
1 row in set (0.00 sec)
mysql> INSERT student1 VALUES(2,'QUEEN','QUEEN','QUEEN@QQ.COM',65);
Query OK, 1 row affected (0.00 sec)
mysql> SELECT * FROM student1;
+----+----------+----------+--------------+------+
| id | username | password | email | age |
+----+----------+----------+--------------+------+
| 1 | KING | KING | KING@QQ.COM | 23 |
| 2 | QUEEN | QUEEN | QUEEN@QQ.COM | 65 |
+----+----------+----------+--------------+------+
2 rows in set (0.00 sec)
mysql> INSERT student1(username,password) VALUES('A','AA');
Query OK, 1 row affected (0.00 sec)
mysql> INSERT student1(username,password) VALUES('B','BB');
Query OK, 1 row affected (0.01 sec)
mysql> SELECT * FROM student1;
+----+----------+----------+------------------+------+
| id | username | password | email | age |
+----+----------+----------+------------------+------+
| 1 | KING | KING | KING@QQ.COM | 23 |
| 2 | QUEEN | QUEEN | QUEEN@QQ.COM | 65 |
| 3 | A | AA | 234234234@qq.com | 18 |
| 4 | B | BB | 234234234@qq.com | 18 |
+----+----------+----------+------------------+------+
4 rows in set (0.00 sec)
mysql> INSERT student1 VALUES(10,'GG','GGG','GG@QQ.COM',46),(11,'JJ','JJJ','GG@QQ.COM',46),(12,'HH','HHH','GG@QQ.COM',46);
Query OK, 3 rows affected (0.01 sec)
Records: 3 Duplicates: 0 Warnings: 0
mysql> select * from student1; +----+----------+----------+------------------+------+
| id | username | password | email | age |
+----+----------+----------+------------------+------+
| 1 | KING | KING | KING@QQ.COM | 23 |
| 2 | QUEEN | QUEEN | QUEEN@QQ.COM | 65 |
| 3 | A | AA | 234234234@qq.com | 18 |
| 4 | B | BB | 234234234@qq.com | 18 |
| 6 | D | DDD | DD@QQ.COM | 76 |
| 7 | QUEE | QUEEN | QUEEN@QQ.COM | 65 |
| 8 | F | FFF | FF@QQ.COM | 12 |
| 9 | Fg | FFF | FF@QQ.COM | 46 |
| 10 | GG | GGG | GG@QQ.COM | 46 |
| 11 | JJ | JJJ | GG@QQ.COM | 46 |
| 12 | HH | HHH | GG@QQ.COM | 46 |
| 32 | C | CCC | CCC@QQ.COM | 18 |
+----+----------+----------+------------------+------+
12 rows in set (0.00 sec)
通过SET形式插入记录
mysql> INSERT INTO student1 SET id = 100,username = 'MM',password = 'this is a secret';
Query OK, 1 row affected (0.01 sec)
mysql> select * from student1; +-----+----------+------------------+------------------+------+
| id | username | password | email | age |
+-----+----------+------------------+------------------+------+
| 1 | KING | KING | KING@QQ.COM | 23 |
| 2 | QUEEN | QUEEN | QUEEN@QQ.COM | 65 |
| 3 | A | AA | 234234234@qq.com | 18 |
| 4 | B | BB | 234234234@qq.com | 18 |
| 6 | D | DDD | DD@QQ.COM | 76 |
| 7 | QUEE | QUEEN | QUEEN@QQ.COM | 65 |
| 8 | F | FFF | FF@QQ.COM | 12 |
| 9 | Fg | FFF | FF@QQ.COM | 46 |
| 10 | GG | GGG | GG@QQ.COM | 46 |
| 11 | JJ | JJJ | GG@QQ.COM | 46 |
| 12 | HH | HHH | GG@QQ.COM | 46 |
| 32 | C | CCC | CCC@QQ.COM | 18 |
| 98 | KK | this is a secret | BKBJKBKJB@QQ.COM | 88 |
| 100 | MM | this is a secret | 234234234@qq.com | 18 |
+-----+----------+------------------+------------------+------+
14 rows in set (0.00 sec)
从别的表中选择后插入新表中
mysql> CREATE TABLE testuser(
->
-> id TINYINT UNSIGNED AUTO_INCREMENT KEY,
-> username VARCHAR(20) NOT NULL UNIQUE
->
-> );
Query OK, 0 rows affected (0.00 sec)
mysql> INSERT testuser SELECT id,username FROM student1;
Query OK, 14 rows affected (0.01 sec)
Records: 14 Duplicates: 0 Warnings: 0
mysql> select * from testuser;
+-----+----------+
| id | username |
+-----+----------+
| 3 | A |
| 4 | B |
| 32 | C |
| 6 | D |
| 8 | F |
| 9 | Fg |
| 10 | GG |
| 12 | HH |
| 11 | JJ |
| 1 | KING |
| 98 | KK |
| 100 | MM |
| 7 | QUEE |
| 2 | QUEEN |
+-----+----------+
14 rows in set (0.00 sec)
更新数据
-UPDATE tbl_name字段名称 = 值…… [WHERE条件][ ORDER BY 字段名称][LIMIT限制条数]
mysql> UPDATE student1 SET age = 8;
Query OK, 14 rows affected (0.00 sec)
Rows matched: 14 Changed: 14 Warnings: 0
mysql> select * from student1;
+-----+----------+------------------+------------------+------+
| id | username | password | email | age |
+-----+----------+------------------+------------------+------+
| 1 | KING | KING | KING@QQ.COM | 8 |
| 2 | QUEEN | QUEEN | QUEEN@QQ.COM | 8 |
| 3 | A | AA | 234234234@qq.com | 8 |
| 4 | B | BB | 234234234@qq.com | 8 |
| 6 | D | DDD | DD@QQ.COM | 8 |
| 7 | QUEE | QUEEN | QUEEN@QQ.COM | 8 |
| 8 | F | FFF | FF@QQ.COM | 8 |
| 9 | Fg | FFF | FF@QQ.COM | 8 |
| 10 | GG | GGG | GG@QQ.COM | 8 |
| 11 | JJ | JJJ | GG@QQ.COM | 8 |
| 12 | HH | HHH | GG@QQ.COM | 8 |
| 32 | C | CCC | CCC@QQ.COM | 8 |
| 98 | KK | this is a secret | BKBJKBKJB@QQ.COM | 8 |
| 100 | MM | this is a secret | 234234234@qq.com | 8 |
+-----+----------+------------------+------------------+------+
14 rows in set (0.00 sec)
mysql> select * from student1;
+-----+----------+------------------+-----------------+------+
| id | username | password | email | age |
+-----+----------+------------------+-----------------+------+
| 1 | KING | king123 | 32423423@QQ.COM | 99 |
| 2 | QUEEN | QUEEN | mkgsh@happy.com | 20 |
| 3 | A | AA | mkgsh@happy.com | 20 |
| 4 | B | BB | mkgsh@happy.com | 20 |
| 6 | D | DDD | mkgsh@happy.com | 20 |
| 7 | QUEE | QUEEN | mkgsh@happy.com | 20 |
| 8 | F | FFF | mkgsh@happy.com | 20 |
| 9 | Fg | FFF | mkgsh@happy.com | 20 |
| 10 | GG | GGG | mkgsh@happy.com | 20 |
| 11 | JJ | JJJ | mkgsh@happy.com | 20 |
| 12 | HH | HHH | mkgsh@happy.com | 20 |
| 32 | C | CCC | mkgsh@happy.com | 20 |
| 98 | KK | this is a secret | mkgsh@happy.com | 20 |
| 100 | MM | this is a secret | mkgsh@happy.com | 20 |
+-----+----------+------------------+-----------------+------+
14 rows in set (0.00 sec)
mysql> UPDATE student2 SET age = age - 5 WHERE id > 3;
ERROR 1146 (42S02): Table 'maizi.student2' doesn't exist
mysql> UPDATE student1 SET age = age - 5 WHERE id > 3;
Query OK, 11 rows affected (0.00 sec)
Rows matched: 11 Changed: 11 Warnings: 0
删除数据
- 不清空自增长的值
DELETE tbl_name 字段名称=值 [WHERE条件] [ORDER BY字段名] [LIMIT限制条数]
- 彻底清空数据表
TRUNCATE [TABLE] tbl_name
-- 删除记录
DELETE FROM testuser; -- 将全部记录删除
-- 删除student1表中id为1的用户
DELETE FROM student1 WHERE id = 1;
-- 让自增长从1开始的方法
ALTER TABLE student1 AUTO_INCREMENT = 1;
-- 彻底请空数据表 不可以带where条件
TRUNCATE table student1;
查询数据的基本操作
查询总结:
SELECT select_expr [, select_expr …]
[
FROM table_references
[WHERE 条件]
[GROUP BY {col_name | position} [ASC| DESC], … 分组]
[HAVING 条件 对分组结果进行二次筛选]
[ORDER BY {col_name | position} [ASC| DESC], …排序]
[LIMIT 限制显示条数]
]
基本查询:
mysql> SELECT * FROM cms_admin;
+----+----------+----------+--------------+-----------------+
| id | username | password | email | role |
+----+----------+----------+--------------+-----------------+
| 1 | admin | admin | admin@qq.com | 超级管理员 |
| 2 | king | king | admin@qq.com | 普通管理员 |
| 3 | 麦子 | maizi | admin@qq.com | 普通管理员 |
| 4 | queen | queen | admin@qq.com | 普通管理员 |
| 5 | test | test | admin@qq.com | 普通管理员 |
+----+----------+----------+--------------+-----------------+
5 rows in set (0.00 sec)
mysql> SELECT cms_admin.* FROM cms_admin;
+----+----------+----------+--------------+-----------------+
| id | username | password | email | role |
+----+----------+----------+--------------+-----------------+
| 1 | admin | admin | admin@qq.com | 超级管理员 |
| 2 | king | king | admin@qq.com | 普通管理员 |
| 3 | 麦子 | maizi | admin@qq.com | 普通管理员 |
| 4 | queen | queen | admin@qq.com | 普通管理员 |
| 5 | test | test | admin@qq.com | 普通管理员 |
+----+----------+----------+--------------+-----------------+
5 rows in set (0.03 sec)
mysql> SELECT id,username FROM cms_admin;
+----+----------+
| id | username |
+----+----------+
| 1 | admin |
| 2 | king |
| 4 | queen |
| 5 | test |
| 3 | 麦子 |
+----+----------+
5 rows in set (0.00 sec)
mysql> SELECT username,id,role FROM cms_admin;
+----------+----+-----------------+
| username | id | role |
+----------+----+-----------------+
| admin | 1 | 超级管理员 |
| king | 2 | 普通管理员 |
| 麦子 | 3 | 普通管理员 |
| queen | 4 | 普通管理员 |
| test | 5 | 普通管理员 |
+----------+----+-----------------+
5 rows in set (0.00 sec)
mysql> SELECT id,username,role FROM cms.cms_admin;
+----+----------+-----------------+
| id | username | role |
+----+----------+-----------------+
| 1 | admin | 超级管理员 |
| 2 | king | 普通管理员 |
| 3 | 麦子 | 普通管理员 |
| 4 | queen | 普通管理员 |
| 5 | test | 普通管理员 |
+----+----------+-----------------+
5 rows in set (0.00 sec)
mysql> SELECT id,username FROM maizi.user;
Empty set (0.17 sec)
mysql> SELECT id,username FROM maizi.user1;
+----+----------+
| id | username |
+----+----------+
| 1 | king |
| 13 | QUEEN |
+----+----------+
2 rows in set (0.16 sec)
mysql> SELECT cms_admin.id,cms_amdin.username FROM cms.cms_admin;
ERROR 1054 (42S22): Unknown column 'cms_amdin.username' in 'field list'
mysql> DESC cms_admin;
+----------+-------------------------------------------+------+-----+-----------------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------+-------------------------------------------+------+-----+-----------------+----------------+
| id | tinyint(3) unsigned | NO | PRI | NULL | auto_increment |
| username | varchar(20) | NO | UNI | NULL | |
| password | char(32) | NO | | NULL | |
| email | varchar(50) | NO | | admin@qq.com | |
| role | enum('普通管理员','超级管理员') | YES | | 普通管理员 | |
+----------+-------------------------------------------+------+-----+-----------------+----------------+
5 rows in set (0.05 sec)
mysql> SELECT cms_admin.id,cms_admin.username FROM cms.cms_admin;
+----+----------+
| id | username |
+----+----------+
| 1 | admin |
| 2 | king |
| 4 | queen |
| 5 | test |
| 3 | 麦子 |
+----+----------+
5 rows in set (0.00 sec)
AS 对字段和表可以起别名
ysql> SELECT id,username FROM cms_admin AS a;
+----+----------+
| id | username |
+----+----------+
| 1 | admin |
| 2 | king |
| 4 | queen |
| 5 | test |
| 3 | 麦子 |
+----+----------+
5 rows in set (0.00 sec)
mysql> SELECT id,username FROM cms_admin a;
+----+----------+
| id | username |
+----+----------+
| 1 | admin |
| 2 | king |
| 4 | queen |
| 5 | test |
| 3 | 麦子 |
+----+----------+
5 rows in set (0.00 sec)
mysql> SELECT a.id,a.username,a.email,a.role FROM cms_admin AS a;
+----+----------+--------------+-----------------+
| id | username | email | role |
+----+----------+--------------+-----------------+
| 1 | admin | admin@qq.com | 超级管理员 |
| 2 | king | admin@qq.com | 普通管理员 |
| 3 | 麦子 | admin@qq.com | 普通管理员 |
| 4 | queen | admin@qq.com | 普通管理员 |
| 5 | test | admin@qq.com | 普通管理员 |
+----+----------+--------------+-----------------+
5 rows in set (0.00 sec)
mysql> SELECT id AS '编号',username AS '用户名',email AS '邮箱',role '角色' FROM cms_admin;
+--------+-----------+--------------+-----------------+
| 编号 | 用户名 | 邮箱 | 角色 |
+--------+-----------+--------------+-----------------+
| 1 | admin | admin@qq.com | 超级管理员 |
| 2 | king | admin@qq.com | 普通管理员 |
| 3 | 麦子 | admin@qq.com | 普通管理员 |
| 4 | queen | admin@qq.com | 普通管理员 |
| 5 | test | admin@qq.com | 普通管理员 |
+--------+-----------+--------------+-----------------+
5 rows in set (0.00 sec)
mysql> SELECT a.id AS i,a.username AS u,a.email as e,a.role AS r FROM cms_admin AS a;
+---+--------+--------------+-----------------+
| i | u | e | r |
+---+--------+--------------+-----------------+
| 1 | admin | admin@qq.com | 超级管理员 |
| 2 | king | admin@qq.com | 普通管理员 |
| 3 | 麦子 | admin@qq.com | 普通管理员 |
| 4 | queen | admin@qq.com | 普通管理员 |
| 5 | test | admin@qq.com | 普通管理员 |
+---+--------+--------------+-----------------+
5 rows in set (0.00 sec)
mysql> DESC cms_user;
+----------+---------------------+------+-----+-------------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------+---------------------+------+-----+-------------+----------------+
| id | int(10) unsigned | NO | PRI | NULL | auto_increment |
| username | varchar(20) | NO | UNI | NULL | |
| password | char(32) | NO | | NULL | |
| email | varchar(50) | NO | | user@qq.com | |
| regTime | int(10) unsigned | NO | | NULL | |
| face | varchar(100) | NO | | user.jpg | |
| proId | tinyint(3) unsigned | NO | | NULL | |
+----------+---------------------+------+-----+-------------+----------------+
7 rows in set (0.02 sec)
mysql> SELECT * FROM cms_user;
+----+-----------+--------------+-------------+------------+----------+-------+
| id | username | password | email | regTime | face | proId |
+----+-----------+--------------+-------------+------------+----------+-------+
| 1 | 张三 | zhangsan | user@qq.com | 1419811708 | user.jpg | 1 |
| 2 | 张三丰 | zhangsanfeng | user@qq.com | 1419812708 | user.jpg | 2 |
| 3 | 章子怡 | zhangsan | user@qq.com | 1419813708 | user.jpg | 3 |
| 4 | long | long | user@qq.com | 1419814708 | user.jpg | 4 |
| 5 | ring | ring | user@qq.com | 1419815708 | user.jpg | 2 |
| 6 | queen | queen | user@qq.com | 1419861708 | user.jpg | 3 |
| 7 | king | king | user@qq.com | 1419817708 | user.jpg | 5 |
| 8 | blek | blek | user@qq.com | 1419818708 | user.jpg | 1 |
| 9 | rose | rose | user@qq.com | 1419821708 | user.jpg | 2 |
| 10 | lily | lily | user@qq.com | 1419831708 | user.jpg | 2 |
| 11 | john | john | user@qq.com | 1419841708 | user.jpg | 2 |
+----+-----------+--------------+-------------+------------+----------+-------+
11 rows in set (0.00 sec)
mysql> SELECT id proId,proId id,username FROM cms_user;
+-------+----+-----------+
| proId | id | username |
+-------+----+-----------+
| 1 | 1 | 张三 |
| 2 | 2 | 张三丰 |
| 3 | 3 | 章子怡 |
| 4 | 4 | long |
| 5 | 2 | ring |
| 6 | 3 | queen |
| 7 | 5 | king |
| 8 | 1 | blek |
| 9 | 2 | rose |
| 10 | 2 | lily |
| 11 | 2 | john |
+-------+----+-----------+
11 rows in set (0.00 sec)
mysql> SELECT 1,2,3,4,5,id,username FROM cms_user;
+---+---+---+---+---+----+-----------+
| 1 | 2 | 3 | 4 | 5 | id | username |
+---+---+---+---+---+----+-----------+
| 1 | 2 | 3 | 4 | 5 | 8 | blek |
| 1 | 2 | 3 | 4 | 5 | 11 | john |
| 1 | 2 | 3 | 4 | 5 | 7 | king |
| 1 | 2 | 3 | 4 | 5 | 10 | lily |
| 1 | 2 | 3 | 4 | 5 | 4 | long |
| 1 | 2 | 3 | 4 | 5 | 6 | queen |
| 1 | 2 | 3 | 4 | 5 | 5 | ring |
| 1 | 2 | 3 | 4 | 5 | 9 | rose |
| 1 | 2 | 3 | 4 | 5 | 1 | 张三 |
| 1 | 2 | 3 | 4 | 5 | 2 | 张三丰 |
| 1 | 2 | 3 | 4 | 5 | 3 | 章子怡 |
+---+---+---+---+---+----+-----------+
11 rows in set (0.01 sec)
WHERE 条件 关键字
基本查询包含where 条件
mysql> SELECT * FROM cms_user;
+----+-----------+--------------+-------------+------------+----------+-------+
| id | username | password | email | regTime | face | proId |
+----+-----------+--------------+-------------+------------+----------+-------+
| 1 | 张三 | zhangsan | user@qq.com | 1419811708 | user.jpg | 1 |
| 2 | 张三丰 | zhangsanfeng | user@qq.com | 1419812708 | user.jpg | 2 |
| 3 | 章子怡 | zhangsan | user@qq.com | 1419813708 | user.jpg | 3 |
| 4 | long | long | user@qq.com | 1419814708 | user.jpg | 4 |
| 5 | ring | ring | user@qq.com | 1419815708 | user.jpg | 2 |
| 6 | queen | queen | user@qq.com | 1419861708 | user.jpg | 3 |
| 7 | king | king | user@qq.com | 1419817708 | user.jpg | 5 |
| 8 | blek | blek | user@qq.com | 1419818708 | user.jpg | 1 |
| 9 | rose | rose | user@qq.com | 1419821708 | user.jpg | 2 |
| 10 | lily | lily | user@qq.com | 1419831708 | user.jpg | 2 |
| 11 | john | john | user@qq.com | 1419841708 | user.jpg | 2 |
+----+-----------+--------------+-------------+------------+----------+-------+
11 rows in set (0.00 sec)
mysql> SELECT id,username,email FROM cms_user WHERE id=1;
+----+----------+-------------+
| id | username | email |
+----+----------+-------------+
| 1 | 张三 | user@qq.com |
+----+----------+-------------+
1 row in set (0.10 sec)
mysql> SELECT id,username,email FROM cms_user WHERE id=111;
Empty set (0.00 sec)
mysql> SELECT id,username,email FROM cms_user WHERE username='king';
+----+----------+-------------+
| id | username | email |
+----+----------+-------------+
| 7 | king | user@qq.com |
+----+----------+-------------+
1 row in set (0.00 sec)
mysql> SELECT * FROM cms_user WHERE id>=5;
+----+----------+----------+-------------+------------+----------+-------+
| id | username | password | email | regTime | face | proId |
+----+----------+----------+-------------+------------+----------+-------+
| 5 | ring | ring | user@qq.com | 1419815708 | user.jpg | 2 |
| 6 | queen | queen | user@qq.com | 1419861708 | user.jpg | 3 |
| 7 | king | king | user@qq.com | 1419817708 | user.jpg | 5 |
| 8 | blek | blek | user@qq.com | 1419818708 | user.jpg | 1 |
| 9 | rose | rose | user@qq.com | 1419821708 | user.jpg | 2 |
| 10 | lily | lily | user@qq.com | 1419831708 | user.jpg | 2 |
| 11 | john | john | user@qq.com | 1419841708 | user.jpg | 2 |
+----+----------+----------+-------------+------------+----------+-------+
7 rows in set (0.04 sec)
mysql> SELECT * FROM cms_user WHERE id!=1;
+----+-----------+--------------+-------------+------------+----------+-------+
| id | username | password | email | regTime | face | proId |
+----+-----------+--------------+-------------+------------+----------+-------+
| 2 | 张三丰 | zhangsanfeng | user@qq.com | 1419812708 | user.jpg | 2 |
| 3 | 章子怡 | zhangsan | user@qq.com | 1419813708 | user.jpg | 3 |
| 4 | long | long | user@qq.com | 1419814708 | user.jpg | 4 |
| 5 | ring | ring | user@qq.com | 1419815708 | user.jpg | 2 |
| 6 | queen | queen | user@qq.com | 1419861708 | user.jpg | 3 |
| 7 | king | king | user@qq.com | 1419817708 | user.jpg | 5 |
| 8 | blek | blek | user@qq.com | 1419818708 | user.jpg | 1 |
| 9 | rose | rose | user@qq.com | 1419821708 | user.jpg | 2 |
| 10 | lily | lily | user@qq.com | 1419831708 | user.jpg | 2 |
| 11 | john | john | user@qq.com | 1419841708 | user.jpg | 2 |
+----+-----------+--------------+-------------+------------+----------+-------+
10 rows in set (0.00 sec)
mysql> SELECT * FROM cms_user WHERE id<>1;
+----+-----------+--------------+-------------+------------+----------+-------+
| id | username | password | email | regTime | face | proId |
+----+-----------+--------------+-------------+------------+----------+-------+
| 2 | 张三丰 | zhangsanfeng | user@qq.com | 1419812708 | user.jpg | 2 |
| 3 | 章子怡 | zhangsan | user@qq.com | 1419813708 | user.jpg | 3 |
| 4 | long | long | user@qq.com | 1419814708 | user.jpg | 4 |
| 5 | ring | ring | user@qq.com | 1419815708 | user.jpg | 2 |
| 6 | queen | queen | user@qq.com | 1419861708 | user.jpg | 3 |
| 7 | king | king | user@qq.com | 1419817708 | user.jpg | 5 |
| 8 | blek | blek | user@qq.com | 1419818708 | user.jpg | 1 |
| 9 | rose | rose | user@qq.com | 1419821708 | user.jpg | 2 |
| 10 | lily | lily | user@qq.com | 1419831708 | user.jpg | 2 |
| 11 | john | john | user@qq.com | 1419841708 | user.jpg | 2 |
+----+-----------+--------------+-------------+------------+----------+-------+
10 rows in set (0.00 sec)
mysql> ALTER TABLE cms_user ADD age TINYINT UNSIGNED DEFAULT 18;
Query OK, 0 rows affected (0.89 sec)
Records: 0 Duplicates: 0 Warnings: 0
mysql> SELECT * FROM cms_user WHERE id<>1;
+----+-----------+--------------+-------------+------------+----------+-------+------+
| id | username | password | email | regTime | face | proId | age |
+----+-----------+--------------+-------------+------------+----------+-------+------+
| 2 | 张三丰 | zhangsanfeng | user@qq.com | 1419812708 | user.jpg | 2 | 18 |
| 3 | 章子怡 | zhangsan | user@qq.com | 1419813708 | user.jpg | 3 | 18 |
| 4 | long | long | user@qq.com | 1419814708 | user.jpg | 4 | 18 |
| 5 | ring | ring | user@qq.com | 1419815708 | user.jpg | 2 | 18 |
| 6 | queen | queen | user@qq.com | 1419861708 | user.jpg | 3 | 18 |
| 7 | king | king | user@qq.com | 1419817708 | user.jpg | 5 | 18 |
| 8 | blek | blek | user@qq.com | 1419818708 | user.jpg | 1 | 18 |
| 9 | rose | rose | user@qq.com | 1419821708 | user.jpg | 2 | 18 |
| 10 | lily | lily | user@qq.com | 1419831708 | user.jpg | 2 | 18 |
| 11 | john | john | user@qq.com | 1419841708 | user.jpg | 2 | 18 |
+----+-----------+--------------+-------------+------------+----------+-------+------+
10 rows in set (0.00 sec)
mysql> DESC cms_user;
+----------+---------------------+------+-----+-------------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------+---------------------+------+-----+-------------+----------------+
| id | int(10) unsigned | NO | PRI | NULL | auto_increment |
| username | varchar(20) | NO | UNI | NULL | |
| password | char(32) | NO | | NULL | |
| email | varchar(50) | NO | | user@qq.com | |
| regTime | int(10) unsigned | NO | | NULL | |
| face | varchar(100) | NO | | user.jpg | |
| proId | tinyint(3) unsigned | NO | | NULL | |
| age | tinyint(3) unsigned | YES | | 18 | |
+----------+---------------------+------+-----+-------------+----------------+
8 rows in set (0.08 sec)
mysql> INSERT cms_user(username,password,regTime,proId,age)
->
-> VALUES('test1','test1',1419811708,1,NULL);
Query OK, 1 row affected (0.06 sec)
mysql> SELECT * FROM cms_user;
+----+-----------+--------------+-------------+------------+----------+-------+------+
| id | username | password | email | regTime | face | proId | age |
+----+-----------+--------------+-------------+------------+----------+-------+------+
| 1 | 张三 | zhangsan | user@qq.com | 1419811708 | user.jpg | 1 | 18 |
| 2 | 张三丰 | zhangsanfeng | user@qq.com | 1419812708 | user.jpg | 2 | 18 |
| 3 | 章子怡 | zhangsan | user@qq.com | 1419813708 | user.jpg | 3 | 18 |
| 4 | long | long | user@qq.com | 1419814708 | user.jpg | 4 | 18 |
| 5 | ring | ring | user@qq.com | 1419815708 | user.jpg | 2 | 18 |
| 6 | queen | queen | user@qq.com | 1419861708 | user.jpg | 3 | 18 |
| 7 | king | king | user@qq.com | 1419817708 | user.jpg | 5 | 18 |
| 8 | blek | blek | user@qq.com | 1419818708 | user.jpg | 1 | 18 |
| 9 | rose | rose | user@qq.com | 1419821708 | user.jpg | 2 | 18 |
| 10 | lily | lily | user@qq.com | 1419831708 | user.jpg | 2 | 18 |
| 11 | john | john | user@qq.com | 1419841708 | user.jpg | 2 | 18 |
| 12 | test1 | test1 | user@qq.com | 1419811708 | user.jpg | 1 | NULL |
+----+-----------+--------------+-------------+------------+----------+-------+------+
12 rows in set (0.00 sec)
mysql> SELECT * FROM cms_user WHERE age=NULL;
Empty set (0.03 sec)
mysql> SELECT * FROM cms_user WHERE age<=>NULL;
+----+----------+----------+-------------+------------+----------+-------+------+
| id | username | password | email | regTime | face | proId | age |
+----+----------+----------+-------------+------------+----------+-------+------+
| 12 | test1 | test1 | user@qq.com | 1419811708 | user.jpg | 1 | NULL |
+----+----------+----------+-------------+------------+----------+-------+------+
1 row in set (0.03 sec)
mysql> SELECT * FROM cms_user WHERE age<=>18;
+----+-----------+--------------+-------------+------------+----------+-------+------+
| id | username | password | email | regTime | face | proId | age |
+----+-----------+--------------+-------------+------------+----------+-------+------+
| 1 | 张三 | zhangsan | user@qq.com | 1419811708 | user.jpg | 1 | 18 |
| 2 | 张三丰 | zhangsanfeng | user@qq.com | 1419812708 | user.jpg | 2 | 18 |
| 3 | 章子怡 | zhangsan | user@qq.com | 1419813708 | user.jpg | 3 | 18 |
| 4 | long | long | user@qq.com | 1419814708 | user.jpg | 4 | 18 |
| 5 | ring | ring | user@qq.com | 1419815708 | user.jpg | 2 | 18 |
| 6 | queen | queen | user@qq.com | 1419861708 | user.jpg | 3 | 18 |
| 7 | king | king | user@qq.com | 1419817708 | user.jpg | 5 | 18 |
| 8 | blek | blek | user@qq.com | 1419818708 | user.jpg | 1 | 18 |
| 9 | rose | rose | user@qq.com | 1419821708 | user.jpg | 2 | 18 |
| 10 | lily | lily | user@qq.com | 1419831708 | user.jpg | 2 | 18 |
| 11 | john | john | user@qq.com | 1419841708 | user.jpg | 2 | 18 |
+----+-----------+--------------+-------------+------------+----------+-------+------+
11 rows in set (0.00 sec)
mysql> SELECT * FROM cms_user WHERE age IS NULL;
+----+----------+----------+-------------+------------+----------+-------+------+
| id | username | password | email | regTime | face | proId | age |
+----+----------+----------+-------------+------------+----------+-------+------+
| 12 | test1 | test1 | user@qq.com | 1419811708 | user.jpg | 1 | NULL |
+----+----------+----------+-------------+------------+----------+-------+------+
1 row in set (0.00 sec)
mysql> SELECT * FROM cms_user WHERE age IS NOT NULL;
+----+-----------+--------------+-------------+------------+----------+-------+------+
| id | username | password | email | regTime | face | proId | age |
+----+-----------+--------------+-------------+------------+----------+-------+------+
| 1 | 张三 | zhangsan | user@qq.com | 1419811708 | user.jpg | 1 | 18 |
| 2 | 张三丰 | zhangsanfeng | user@qq.com | 1419812708 | user.jpg | 2 | 18 |
| 3 | 章子怡 | zhangsan | user@qq.com | 1419813708 | user.jpg | 3 | 18 |
| 4 | long | long | user@qq.com | 1419814708 | user.jpg | 4 | 18 |
| 5 | ring | ring | user@qq.com | 1419815708 | user.jpg | 2 | 18 |
| 6 | queen | queen | user@qq.com | 1419861708 | user.jpg | 3 | 18 |
| 7 | king | king | user@qq.com | 1419817708 | user.jpg | 5 | 18 |
| 8 | blek | blek | user@qq.com | 1419818708 | user.jpg | 1 | 18 |
| 9 | rose | rose | user@qq.com | 1419821708 | user.jpg | 2 | 18 |
| 10 | lily | lily | user@qq.com | 1419831708 | user.jpg | 2 | 18 |
| 11 | john | john | user@qq.com | 1419841708 | user.jpg | 2 | 18 |
+----+-----------+--------------+-------------+------------+----------+-------+------+
11 rows in set (0.00 sec)
BEYWEEN BY 范围查询
mysql> SELECT * FROM cms_user WHERE id BETWEEN 3 AND 10;
+----+-----------+----------+-------------+------------+----------+-------+------+
| id | username | password | email | regTime | face | proId | age |
+----+-----------+----------+-------------+------------+----------+-------+------+
| 3 | 章子怡 | zhangsan | user@qq.com | 1419813708 | user.jpg | 3 | 18 |
| 4 | long | long | user@qq.com | 1419814708 | user.jpg | 4 | 18 |
| 5 | ring | ring | user@qq.com | 1419815708 | user.jpg | 2 | 18 |
| 6 | queen | queen | user@qq.com | 1419861708 | user.jpg | 3 | 18 |
| 7 | king | king | user@qq.com | 1419817708 | user.jpg | 5 | 18 |
| 8 | blek | blek | user@qq.com | 1419818708 | user.jpg | 1 | 18 |
| 9 | rose | rose | user@qq.com | 1419821708 | user.jpg | 2 | 18 |
| 10 | lily | lily | user@qq.com | 1419831708 | user.jpg | 2 | 18 |
+----+-----------+----------+-------------+------------+----------+-------+------+
8 rows in set (0.02 sec)
mysql> SELECT * FROM cms_user WHERE id NOT BETWEEN 3 AND 10;
+----+-----------+--------------+-------------+------------+----------+-------+------+
| id | username | password | email | regTime | face | proId | age |
+----+-----------+--------------+-------------+------------+----------+-------+------+
| 1 | 张三 | zhangsan | user@qq.com | 1419811708 | user.jpg | 1 | 18 |
| 2 | 张三丰 | zhangsanfeng | user@qq.com | 1419812708 | user.jpg | 2 | 18 |
| 11 | john | john | user@qq.com | 1419841708 | user.jpg | 2 | 18 |
| 12 | test1 | test1 | user@qq.com | 1419811708 | user.jpg | 1 | NULL |
+----+-----------+--------------+-------------+------------+----------+-------+------+
4 rows in set (0.00 sec)
mysql> SELECT * FROM cms_user WHERE id IN(1,3,5,7,9,11,13,100,1000);
+----+-----------+----------+-------------+------------+----------+-------+------+
| id | username | password | email | regTime | face | proId | age |
+----+-----------+----------+-------------+------------+----------+-------+------+
| 1 | 张三 | zhangsan | user@qq.com | 1419811708 | user.jpg | 1 | 18 |
| 3 | 章子怡 | zhangsan | user@qq.com | 1419813708 | user.jpg | 3 | 18 |
| 5 | ring | ring | user@qq.com | 1419815708 | user.jpg | 2 | 18 |
| 7 | king | king | user@qq.com | 1419817708 | user.jpg | 5 | 18 |
| 9 | rose | rose | user@qq.com | 1419821708 | user.jpg | 2 | 18 |
| 11 | john | john | user@qq.com | 1419841708 | user.jpg | 2 | 18 |
+----+-----------+----------+-------------+------------+----------+-------+------+
6 rows in set (0.03 sec)
mysql> SELECT * FROM cms_user WHERE proId IN(1,3);
+----+-----------+----------+-------------+------------+----------+-------+------+
| id | username | password | email | regTime | face | proId | age |
+----+-----------+----------+-------------+------------+----------+-------+------+
| 1 | 张三 | zhangsan | user@qq.com | 1419811708 | user.jpg | 1 | 18 |
| 3 | 章子怡 | zhangsan | user@qq.com | 1419813708 | user.jpg | 3 | 18 |
| 6 | queen | queen | user@qq.com | 1419861708 | user.jpg | 3 | 18 |
| 8 | blek | blek | user@qq.com | 1419818708 | user.jpg | 1 | 18 |
| 12 | test1 | test1 | user@qq.com | 1419811708 | user.jpg | 1 | NULL |
+----+-----------+----------+-------------+------------+----------+-------+------+
5 rows in set (0.00 sec)
mysql> SELECT * FROM cms_user WHERE username IN('king','queen','张三','章子怡');
+----+-----------+----------+-------------+------------+----------+-------+------+
| id | username | password | email | regTime | face | proId | age |
+----+-----------+----------+-------------+------------+----------+-------+------+
| 1 | 张三 | zhangsan | user@qq.com | 1419811708 | user.jpg | 1 | 18 |
| 3 | 章子怡 | zhangsan | user@qq.com | 1419813708 | user.jpg | 3 | 18 |
| 6 | queen | queen | user@qq.com | 1419861708 | user.jpg | 3 | 18 |
| 7 | king | king | user@qq.com | 1419817708 | user.jpg | 5 | 18 |
+----+-----------+----------+-------------+------------+----------+-------+------+
4 rows in set (0.00 sec)
mysql> SELECT * FROM cms_user WHERE username IN('KinG','QUEEN','张三','章子怡');
+----+-----------+----------+-------------+------------+----------+-------+------+
| id | username | password | email | regTime | face | proId | age |
+----+-----------+----------+-------------+------------+----------+-------+------+
| 1 | 张三 | zhangsan | user@qq.com | 1419811708 | user.jpg | 1 | 18 |
| 3 | 章子怡 | zhangsan | user@qq.com | 1419813708 | user.jpg | 3 | 18 |
| 6 | queen | queen | user@qq.com | 1419861708 | user.jpg | 3 | 18 |
| 7 | king | king | user@qq.com | 1419817708 | user.jpg | 5 | 18 |
+----+-----------+----------+-------------+------------+----------+-------+------+
4 rows in set (0.00 sec)
mysql> SELECT * FROM cms_user WHERE username NOT IN('KinG','QUEEN','张三','章子怡');
+----+-----------+--------------+-------------+------------+----------+-------+------+
| id | username | password | email | regTime | face | proId | age |
+----+-----------+--------------+-------------+------------+----------+-------+------+
| 2 | 张三丰 | zhangsanfeng | user@qq.com | 1419812708 | user.jpg | 2 | 18 |
| 4 | long | long | user@qq.com | 1419814708 | user.jpg | 4 | 18 |
| 5 | ring | ring | user@qq.com | 1419815708 | user.jpg | 2 | 18 |
| 8 | blek | blek | user@qq.com | 1419818708 | user.jpg | 1 | 18 |
| 9 | rose | rose | user@qq.com | 1419821708 | user.jpg | 2 | 18 |
| 10 | lily | lily | user@qq.com | 1419831708 | user.jpg | 2 | 18 |
| 11 | john | john | user@qq.com | 1419841708 | user.jpg | 2 | 18 |
| 12 | test1 | test1 | user@qq.com | 1419811708 | user.jpg | 1 | NULL |
+----+-----------+--------------+-------------+------------+----------+-------+------+
8 rows in set (0.00 sec)
模糊查询
mysql> SELECT * FROM cms_user WHERE username LIKE '%张%';
+----+-----------+--------------+-------------+------------+----------+-------+------+
| id | username | password | email | regTime | face | proId | age |
+----+-----------+--------------+-------------+------------+----------+-------+------+
| 1 | 张三 | zhangsan | user@qq.com | 1419811708 | user.jpg | 1 | 18 |
| 2 | 张三丰 | zhangsanfeng | user@qq.com | 1419812708 | user.jpg | 2 | 18 |
+----+-----------+--------------+-------------+------------+----------+-------+------+
2 rows in set (0.02 sec)
mysql> SELECT * FROM cms_user WHERE username LIKE '张%';
+----+-----------+--------------+-------------+------------+----------+-------+------+
| id | username | password | email | regTime | face | proId | age |
+----+-----------+--------------+-------------+------------+----------+-------+------+
| 1 | 张三 | zhangsan | user@qq.com | 1419811708 | user.jpg | 1 | 18 |
| 2 | 张三丰 | zhangsanfeng | user@qq.com | 1419812708 | user.jpg | 2 | 18 |
+----+-----------+--------------+-------------+------------+----------+-------+------+
2 rows in set (0.01 sec)
mysql> SELECT * FROM cms_user WHERE username LIKE '%in%';
+----+----------+----------+-------------+------------+----------+-------+------+
| id | username | password | email | regTime | face | proId | age |
+----+----------+----------+-------------+------------+----------+-------+------+
| 5 | ring | ring | user@qq.com | 1419815708 | user.jpg | 2 | 18 |
| 7 | king | king | user@qq.com | 1419817708 | user.jpg | 5 | 18 |
+----+----------+----------+-------------+------------+----------+-------+------+
2 rows in set (0.00 sec)
mysql> SELECT * FROM cms_user WHERE username LIKE '%';
+----+-----------+--------------+-------------+------------+----------+-------+------+
| id | username | password | email | regTime | face | proId | age |
+----+-----------+--------------+-------------+------------+----------+-------+------+
| 1 | 张三 | zhangsan | user@qq.com | 1419811708 | user.jpg | 1 | 18 |
| 2 | 张三丰 | zhangsanfeng | user@qq.com | 1419812708 | user.jpg | 2 | 18 |
| 3 | 章子怡 | zhangsan | user@qq.com | 1419813708 | user.jpg | 3 | 18 |
| 4 | long | long | user@qq.com | 1419814708 | user.jpg | 4 | 18 |
| 5 | ring | ring | user@qq.com | 1419815708 | user.jpg | 2 | 18 |
| 6 | queen | queen | user@qq.com | 1419861708 | user.jpg | 3 | 18 |
| 7 | king | king | user@qq.com | 1419817708 | user.jpg | 5 | 18 |
| 8 | blek | blek | user@qq.com | 1419818708 | user.jpg | 1 | 18 |
| 9 | rose | rose | user@qq.com | 1419821708 | user.jpg | 2 | 18 |
| 10 | lily | lily | user@qq.com | 1419831708 | user.jpg | 2 | 18 |
| 11 | john | john | user@qq.com | 1419841708 | user.jpg | 2 | 18 |
| 12 | test1 | test1 | user@qq.com | 1419811708 | user.jpg | 1 | NULL |
+----+-----------+--------------+-------------+------------+----------+-------+------+
12 rows in set (0.00 sec)
mysql> SELECT * FROM cms_user WHERE username LIKE '___';
+----+-----------+--------------+-------------+------------+----------+-------+------+
| id | username | password | email | regTime | face | proId | age |
+----+-----------+--------------+-------------+------------+----------+-------+------+
| 2 | 张三丰 | zhangsanfeng | user@qq.com | 1419812708 | user.jpg | 2 | 18 |
| 3 | 章子怡 | zhangsan | user@qq.com | 1419813708 | user.jpg | 3 | 18 |
+----+-----------+--------------+-------------+------------+----------+-------+------+
2 rows in set (0.00 sec)
mysql> SELECT * FROM cms_user WHERE username LIKE '____';
+----+----------+----------+-------------+------------+----------+-------+------+
| id | username | password | email | regTime | face | proId | age |
+----+----------+----------+-------------+------------+----------+-------+------+
| 4 | long | long | user@qq.com | 1419814708 | user.jpg | 4 | 18 |
| 5 | ring | ring | user@qq.com | 1419815708 | user.jpg | 2 | 18 |
| 7 | king | king | user@qq.com | 1419817708 | user.jpg | 5 | 18 |
| 8 | blek | blek | user@qq.com | 1419818708 | user.jpg | 1 | 18 |
| 9 | rose | rose | user@qq.com | 1419821708 | user.jpg | 2 | 18 |
| 10 | lily | lily | user@qq.com | 1419831708 | user.jpg | 2 | 18 |
| 11 | john | john | user@qq.com | 1419841708 | user.jpg | 2 | 18 |
+----+----------+----------+-------------+------------+----------+-------+------+
7 rows in set (0.00 sec)
mysql> SELECT * FROM cms_user WHERE username LIKE '_I%';
+----+----------+----------+-------------+------------+----------+-------+------+
| id | username | password | email | regTime | face | proId | age |
+----+----------+----------+-------------+------------+----------+-------+------+
| 5 | ring | ring | user@qq.com | 1419815708 | user.jpg | 2 | 18 |
| 7 | king | king | user@qq.com | 1419817708 | user.jpg | 5 | 18 |
| 10 | lily | lily | user@qq.com | 1419831708 | user.jpg | 2 | 18 |
+----+----------+----------+-------------+------------+----------+-------+------+
3 rows in set (0.00 sec)
mysql> SELECT * FROM cms_user WHERE username LIKE 'king';
+----+----------+----------+-------------+------------+----------+-------+------+
| id | username | password | email | regTime | face | proId | age |
+----+----------+----------+-------------+------------+----------+-------+------+
| 7 | king | king | user@qq.com | 1419817708 | user.jpg | 5 | 18 |
+----+----------+----------+-------------+------------+----------+-------+------+
1 row in set (0.00 sec)
mysql> SELECT * FROM cms_user WHERE username NOT LIKE '_I%';
+----+-----------+--------------+-------------+------------+----------+-------+------+
| id | username | password | email | regTime | face | proId | age |
+----+-----------+--------------+-------------+------------+----------+-------+------+
| 1 | 张三 | zhangsan | user@qq.com | 1419811708 | user.jpg | 1 | 18 |
| 2 | 张三丰 | zhangsanfeng | user@qq.com | 1419812708 | user.jpg | 2 | 18 |
| 3 | 章子怡 | zhangsan | user@qq.com | 1419813708 | user.jpg | 3 | 18 |
| 4 | long | long | user@qq.com | 1419814708 | user.jpg | 4 | 18 |
| 6 | queen | queen | user@qq.com | 1419861708 | user.jpg | 3 | 18 |
| 8 | blek | blek | user@qq.com | 1419818708 | user.jpg | 1 | 18 |
| 9 | rose | rose | user@qq.com | 1419821708 | user.jpg | 2 | 18 |
| 11 | john | john | user@qq.com | 1419841708 | user.jpg | 2 | 18 |
| 12 | test1 | test1 | user@qq.com | 1419811708 | user.jpg | 1 | NULL |
+----+-----------+--------------+-------------+------------+----------+-------+------+
9 rows in set (0.03 sec)
mysql> SELECT * FROM cms_user WHERE username='king' AND password='king';
+----+----------+----------+-------------+------------+----------+-------+------+
| id | username | password | email | regTime | face | proId | age |
+----+----------+----------+-------------+------------+----------+-------+------+
| 7 | king | king | user@qq.com | 1419817708 | user.jpg | 5 | 18 |
+----+----------+----------+-------------+------------+----------+-------+------+
1 row in set (0.02 sec)
mysql> SELECT * FROM cms_user WHERE id>=3 AND age IS NOT NULL;
+----+-----------+----------+-------------+------------+----------+-------+------+
| id | username | password | email | regTime | face | proId | age |
+----+-----------+----------+-------------+------------+----------+-------+------+
| 3 | 章子怡 | zhangsan | user@qq.com | 1419813708 | user.jpg | 3 | 18 |
| 4 | long | long | user@qq.com | 1419814708 | user.jpg | 4 | 18 |
| 5 | ring | ring | user@qq.com | 1419815708 | user.jpg | 2 | 18 |
| 6 | queen | queen | user@qq.com | 1419861708 | user.jpg | 3 | 18 |
| 7 | king | king | user@qq.com | 1419817708 | user.jpg | 5 | 18 |
| 8 | blek | blek | user@qq.com | 1419818708 | user.jpg | 1 | 18 |
| 9 | rose | rose | user@qq.com | 1419821708 | user.jpg | 2 | 18 |
| 10 | lily | lily | user@qq.com | 1419831708 | user.jpg | 2 | 18 |
| 11 | john | john | user@qq.com | 1419841708 | user.jpg | 2 | 18 |
+----+-----------+----------+-------------+------------+----------+-------+------+
9 rows in set (0.02 sec)
mysql> SELECT * FROM cms_user WHERE id>=3 AND age IS NOT NULL AND proId=3;
+----+-----------+----------+-------------+------------+----------+-------+------+
| id | username | password | email | regTime | face | proId | age |
+----+-----------+----------+-------------+------------+----------+-------+------+
| 3 | 章子怡 | zhangsan | user@qq.com | 1419813708 | user.jpg | 3 | 18 |
| 6 | queen | queen | user@qq.com | 1419861708 | user.jpg | 3 | 18 |
+----+-----------+----------+-------------+------------+----------+-------+------+
2 rows in set (0.00 sec)
mysql> SELECT * FROM cms_user WHERE id BETWEEN 5 AND 10 AND username LIKE '____';
+----+----------+----------+-------------+------------+----------+-------+------+
| id | username | password | email | regTime | face | proId | age |
+----+----------+----------+-------------+------------+----------+-------+------+
| 5 | ring | ring | user@qq.com | 1419815708 | user.jpg | 2 | 18 |
| 7 | king | king | user@qq.com | 1419817708 | user.jpg | 5 | 18 |
| 8 | blek | blek | user@qq.com | 1419818708 | user.jpg | 1 | 18 |
| 9 | rose | rose | user@qq.com | 1419821708 | user.jpg | 2 | 18 |
| 10 | lily | lily | user@qq.com | 1419831708 | user.jpg | 2 | 18 |
+----+----------+----------+-------------+------------+----------+-------+------+
5 rows in set (0.00 sec)
mysql> SELECT * FROM cms_user WHERE username LIKE '张%' OR proId IN(2,4);
+----+-----------+--------------+-------------+------------+----------+-------+------+
| id | username | password | email | regTime | face | proId | age |
+----+-----------+--------------+-------------+------------+----------+-------+------+
| 1 | 张三 | zhangsan | user@qq.com | 1419811708 | user.jpg | 1 | 18 |
| 2 | 张三丰 | zhangsanfeng | user@qq.com | 1419812708 | user.jpg | 2 | 18 |
| 4 | long | long | user@qq.com | 1419814708 | user.jpg | 4 | 18 |
| 5 | ring | ring | user@qq.com | 1419815708 | user.jpg | 2 | 18 |
| 9 | rose | rose | user@qq.com | 1419821708 | user.jpg | 2 | 18 |
| 10 | lily | lily | user@qq.com | 1419831708 | user.jpg | 2 | 18 |
| 11 | john | john | user@qq.com | 1419841708 | user.jpg | 2 | 18 |
+----+-----------+--------------+-------------+------------+----------+-------+------+
7 rows in set (0.00 sec)
分组查询 GROUP BY
- 配合聚合函数COUNT()、MAX()、MIN()、AVG()、SUM()
- 配合WITH ROLLUP记录上面所有记录的总和
mysql> SELECT * FROM cms_user;
+----+-----------+--------------+-------------+------------+----------+-------+------+
| id | username | password | email | regTime | face | proId | age |
+----+-----------+--------------+-------------+------------+----------+-------+------+
| 1 | 张三 | zhangsan | user@qq.com | 1419811708 | user.jpg | 1 | 18 |
| 2 | 张三丰 | zhangsanfeng | user@qq.com | 1419812708 | user.jpg | 2 | 18 |
| 3 | 章子怡 | zhangsan | user@qq.com | 1419813708 | user.jpg | 3 | 18 |
| 4 | long | long | user@qq.com | 1419814708 | user.jpg | 4 | 18 |
| 5 | ring | ring | user@qq.com | 1419815708 | user.jpg | 2 | 18 |
| 6 | queen | queen | user@qq.com | 1419861708 | user.jpg | 3 | 18 |
| 7 | king | king | user@qq.com | 1419817708 | user.jpg | 5 | 18 |
| 8 | blek | blek | user@qq.com | 1419818708 | user.jpg | 1 | 18 |
| 9 | rose | rose | user@qq.com | 1419821708 | user.jpg | 2 | 18 |
| 10 | lily | lily | user@qq.com | 1419831708 | user.jpg | 2 | 18 |
| 11 | john | john | user@qq.com | 1419841708 | user.jpg | 2 | 18 |
| 12 | test1 | test1 | user@qq.com | 1419811708 | user.jpg | 1 | NULL |
+----+-----------+--------------+-------------+------------+----------+-------+------+
12 rows in set (0.53 sec)
mysql> SELECT * FROM cms_user GROUP BY proId;
+----+-----------+--------------+-------------+------------+----------+-------+------+
| id | username | password | email | regTime | face | proId | age |
+----+-----------+--------------+-------------+------------+----------+-------+------+
| 1 | 张三 | zhangsan | user@qq.com | 1419811708 | user.jpg | 1 | 18 |
| 2 | 张三丰 | zhangsanfeng | user@qq.com | 1419812708 | user.jpg | 2 | 18 |
| 3 | 章子怡 | zhangsan | user@qq.com | 1419813708 | user.jpg | 3 | 18 |
| 4 | long | long | user@qq.com | 1419814708 | user.jpg | 4 | 18 |
| 7 | king | king | user@qq.com | 1419817708 | user.jpg | 5 | 18 |
+----+-----------+--------------+-------------+------------+----------+-------+------+
5 rows in set (0.31 sec)
mysql> ALTER TABLE cms_user ADD sex ENUM('男','女','保密');
Query OK, 0 rows affected (1.56 sec)
Records: 0 Duplicates: 0 Warnings: 0
mysql>
mysql> UPDATE cms_user SET sex='男' WHERE id IN(1,3,5,7,9);
Query OK, 5 rows affected (0.07 sec)
Rows matched: 5 Changed: 5 Warnings: 0
mysql>
mysql> UPDATE cms_user SET sex='女' WHERE id IN(2,4,6,8,10);
Query OK, 5 rows affected (0.04 sec)
Rows matched: 5 Changed: 5 Warnings: 0
mysql>
mysql> UPDATE cms_user SET sex='女' WHERE id IN(2,4,6,8,10);
Query OK, 0 rows affected (0.06 sec)
Rows matched: 5 Changed: 0 Warnings: 0
mysql>
mysql> UPDATE cms_user SET sex='保密' WHERE id IN(12,11);
Query OK, 2 rows affected (0.05 sec)
Rows matched: 2 Changed: 2 Warnings: 0
mysql> SELECT * FROM cms_user;
+----+-----------+--------------+-------------+------------+----------+-------+------+--------+
| id | username | password | email | regTime | face | proId | age | sex |
+----+-----------+--------------+-------------+------------+----------+-------+------+--------+
| 1 | 张三 | zhangsan | user@qq.com | 1419811708 | user.jpg | 1 | 18 | 男 |
| 2 | 张三丰 | zhangsanfeng | user@qq.com | 1419812708 | user.jpg | 2 | 18 | 女 |
| 3 | 章子怡 | zhangsan | user@qq.com | 1419813708 | user.jpg | 3 | 18 | 男 |
| 4 | long | long | user@qq.com | 1419814708 | user.jpg | 4 | 18 | 女 |
| 5 | ring | ring | user@qq.com | 1419815708 | user.jpg | 2 | 18 | 男 |
| 6 | queen | queen | user@qq.com | 1419861708 | user.jpg | 3 | 18 | 女 |
| 7 | king | king | user@qq.com | 1419817708 | user.jpg | 5 | 18 | 男 |
| 8 | blek | blek | user@qq.com | 1419818708 | user.jpg | 1 | 18 | 女 |
| 9 | rose | rose | user@qq.com | 1419821708 | user.jpg | 2 | 18 | 男 |
| 10 | lily | lily | user@qq.com | 1419831708 | user.jpg | 2 | 18 | 女 |
| 11 | john | john | user@qq.com | 1419841708 | user.jpg | 2 | 18 | 保密 |
| 12 | test1 | test1 | user@qq.com | 1419811708 | user.jpg | 1 | NULL | 保密 |
+----+-----------+--------------+-------------+------------+----------+-------+------+--------+
12 rows in set (0.00 sec)
mysql> SELECT * FROM cms_user GROUP BY sex;
+----+-----------+--------------+-------------+------------+----------+-------+------+--------+
| id | username | password | email | regTime | face | proId | age | sex |
+----+-----------+--------------+-------------+------------+----------+-------+------+--------+
| 1 | 张三 | zhangsan | user@qq.com | 1419811708 | user.jpg | 1 | 18 | 男 |
| 2 | 张三丰 | zhangsanfeng | user@qq.com | 1419812708 | user.jpg | 2 | 18 | 女 |
| 11 | john | john | user@qq.com | 1419841708 | user.jpg | 2 | 18 | 保密 |
+----+-----------+--------------+-------------+------------+----------+-------+------+--------+
3 rows in set (0.00 sec)
mysql> SELECT * FROM cms_user GROUP BY 7;
+----+-----------+--------------+-------------+------------+----------+-------+------+------+
| id | username | password | email | regTime | face | proId | age | sex |
+----+-----------+--------------+-------------+------------+----------+-------+------+------+
| 1 | 张三 | zhangsan | user@qq.com | 1419811708 | user.jpg | 1 | 18 | 男 |
| 2 | 张三丰 | zhangsanfeng | user@qq.com | 1419812708 | user.jpg | 2 | 18 | 女 |
| 3 | 章子怡 | zhangsan | user@qq.com | 1419813708 | user.jpg | 3 | 18 | 男 |
| 4 | long | long | user@qq.com | 1419814708 | user.jpg | 4 | 18 | 女 |
| 7 | king | king | user@qq.com | 1419817708 | user.jpg | 5 | 18 | 男 |
+----+-----------+--------------+-------------+------------+----------+-------+------+------+
5 rows in set (0.00 sec)
mysql> SELECT * FROM cms_user GROUP BY 9;
+----+-----------+--------------+-------------+------------+----------+-------+------+--------+
| id | username | password | email | regTime | face | proId | age | sex |
+----+-----------+--------------+-------------+------------+----------+-------+------+--------+
| 1 | 张三 | zhangsan | user@qq.com | 1419811708 | user.jpg | 1 | 18 | 男 |
| 2 | 张三丰 | zhangsanfeng | user@qq.com | 1419812708 | user.jpg | 2 | 18 | 女 |
| 11 | john | john | user@qq.com | 1419841708 | user.jpg | 2 | 18 | 保密 |
+----+-----------+--------------+-------------+------------+----------+-------+------+--------+
3 rows in set (0.00 sec)
mysql> SELECT * FROM cms_user GROUP BY sex,proId;
+----+-----------+--------------+-------------+------------+----------+-------+------+--------+
| id | username | password | email | regTime | face | proId | age | sex |
+----+-----------+--------------+-------------+------------+----------+-------+------+--------+
| 1 | 张三 | zhangsan | user@qq.com | 1419811708 | user.jpg | 1 | 18 | 男 |
| 5 | ring | ring | user@qq.com | 1419815708 | user.jpg | 2 | 18 | 男 |
| 3 | 章子怡 | zhangsan | user@qq.com | 1419813708 | user.jpg | 3 | 18 | 男 |
| 7 | king | king | user@qq.com | 1419817708 | user.jpg | 5 | 18 | 男 |
| 8 | blek | blek | user@qq.com | 1419818708 | user.jpg | 1 | 18 | 女 |
| 2 | 张三丰 | zhangsanfeng | user@qq.com | 1419812708 | user.jpg | 2 | 18 | 女 |
| 6 | queen | queen | user@qq.com | 1419861708 | user.jpg | 3 | 18 | 女 |
| 4 | long | long | user@qq.com | 1419814708 | user.jpg | 4 | 18 | 女 |
| 12 | test1 | test1 | user@qq.com | 1419811708 | user.jpg | 1 | NULL | 保密 |
| 11 | john | john | user@qq.com | 1419841708 | user.jpg | 2 | 18 | 保密 |
+----+-----------+--------------+-------------+------------+----------+-------+------+--------+
10 rows in set (0.00 sec)
mysql> SELECT * FROM cms_user WHERE id>=5 GROUP BY sex;
+----+----------+----------+-------------+------------+----------+-------+------+--------+
| id | username | password | email | regTime | face | proId | age | sex |
+----+----------+----------+-------------+------------+----------+-------+------+--------+
| 5 | ring | ring | user@qq.com | 1419815708 | user.jpg | 2 | 18 | 男 |
| 6 | queen | queen | user@qq.com | 1419861708 | user.jpg | 3 | 18 | 女 |
| 11 | john | john | user@qq.com | 1419841708 | user.jpg | 2 | 18 | 保密 |
+----+----------+----------+-------------+------------+----------+-------+------+--------+
3 rows in set (0.00 sec)
配置GROUP CONCAT() 得到分组详情
mysql> SELECT id,sex,GROUP_CONCAT(username) FROM cms_user GROUP BY sex;
+----+--------+---------------------------------+
| id | sex | GROUP_CONCAT(username) |
+----+--------+---------------------------------+
| 1 | 男 | 张三,rose,king,ring,章子怡 |
| 4 | 女 | long,queen,blek,张三丰,lily |
| 11 | 保密 | john,test1 |
+----+--------+---------------------------------+
3 rows in set (0.07 sec)
mysql> SELECT proId,GROUP_CONCAT(username),GROUP_CONCAT(sex),GROUP_CONCAT(regTime)
-> FROM cms_user GROUP BY proId;
+-------+-------------------------------+------------------------+--------------------------------------------------------+
| proId | GROUP_CONCAT(username) | GROUP_CONCAT(sex) | GROUP_CONCAT(regTime) |
+-------+-------------------------------+------------------------+--------------------------------------------------------+
| 1 | 张三,blek,test1 | 男,女,保密 | 1419811708,1419818708,1419811708 |
| 2 | ring,张三丰,rose,lily,john | 男,女,男,女,保密 | 1419815708,1419812708,1419821708,1419831708,1419841708 |
| 3 | queen,章子怡 | 女,男 | 1419861708,1419813708 |
| 4 | long | 女 | 1419814708 |
| 5 | king | 男 | 1419817708 |
+-------+-------------------------------+------------------------+--------------------------------------------------------+
5 rows in set (0.00 sec)
mysql> SELECT proId,GROUP_CONCAT(username),GROUP_CONCAT(sex),GROUP_CONCAT(regTime)
-> FROM cms_user GROUP BY proId\G;
*************************** 1. row ***************************
proId: 1
GROUP_CONCAT(username): 张三,blek,test1
GROUP_CONCAT(sex): 男,女,保密
GROUP_CONCAT(regTime): 1419811708,1419818708,1419811708
*************************** 2. row ***************************
proId: 2
GROUP_CONCAT(username): ring,张三丰,rose,lily,john
GROUP_CONCAT(sex): 男,女,男,女,保密
GROUP_CONCAT(regTime): 1419815708,1419812708,1419821708,1419831708,1419841708
*************************** 3. row ***************************
proId: 3
GROUP_CONCAT(username): queen,章子怡
GROUP_CONCAT(sex): 女,男
GROUP_CONCAT(regTime): 1419861708,1419813708
*************************** 4. row ***************************
proId: 4
GROUP_CONCAT(username): long
GROUP_CONCAT(sex): 女
GROUP_CONCAT(regTime): 1419814708
*************************** 5. row ***************************
proId: 5
GROUP_CONCAT(username): king
GROUP_CONCAT(sex): 男
GROUP_CONCAT(regTime): 1419817708
5 rows in set (0.00 sec)
ERROR:
No query specified
配合聚合函数
- COUNT():统计记录条数,COUNT();
- MAX():查找最大记录;
- MIN():查找最小记录;
- AVG():得出平均值;
- SUM():得出总和。
mysql> SELECT * FROM cms_user;
+----+-----------+--------------+-------------+------------+----------+-------+------+--------+
| id | username | password | email | regTime | face | proId | age | sex |
+----+-----------+--------------+-------------+------------+----------+-------+------+--------+
| 1 | 张三 | zhangsan | user@qq.com | 1419811708 | user.jpg | 1 | 18 | 男 |
| 2 | 张三丰 | zhangsanfeng | user@qq.com | 1419812708 | user.jpg | 2 | 18 | 女 |
| 3 | 章子怡 | zhangsan | user@qq.com | 1419813708 | user.jpg | 3 | 18 | 男 |
| 4 | long | long | user@qq.com | 1419814708 | user.jpg | 4 | 18 | 女 |
| 5 | ring | ring | user@qq.com | 1419815708 | user.jpg | 2 | 18 | 男 |
| 6 | queen | queen | user@qq.com | 1419861708 | user.jpg | 3 | 18 | 女 |
| 7 | king | king | user@qq.com | 1419817708 | user.jpg | 5 | 18 | 男 |
| 8 | blek | blek | user@qq.com | 1419818708 | user.jpg | 1 | 18 | 女 |
| 9 | rose | rose | user@qq.com | 1419821708 | user.jpg | 2 | 18 | 男 |
| 10 | lily | lily | user@qq.com | 1419831708 | user.jpg | 2 | 18 | 女 |
| 11 | john | john | user@qq.com | 1419841708 | user.jpg | 2 | 18 | 保密 |
| 12 | test1 | test1 | user@qq.com | 1419811708 | user.jpg | 1 | NULL | 保密 |
+----+-----------+--------------+-------------+------------+----------+-------+------+--------+
12 rows in set (0.00 sec)
mysql> UPDATE cms_user SET age=11 WHERE id=1;
Query OK, 1 row affected (0.05 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> UPDATE cms_user SET age=21 WHERE id=2;
Query OK, 1 row affected (0.06 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> UPDATE cms_user SET age=33 WHERE id=3;
Query OK, 1 row affected (0.02 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> UPDATE cms_user SET age=44 WHERE id=4;
Query OK, 1 row affected (0.05 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> UPDATE cms_user SET age=25 WHERE id=5;
Query OK, 1 row affected (0.02 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> UPDATE cms_user SET age=77 WHERE id=6;
Query OK, 1 row affected (0.14 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> UPDATE cms_user SET age=56 WHERE id=7;
Query OK, 1 row affected (0.06 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> UPDATE cms_user SET age=88 WHERE id=8;
Query OK, 1 row affected (0.07 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> UPDATE cms_user SET age=12 WHERE id=9;
Query OK, 1 row affected (0.05 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> UPDATE cms_user SET age=32 WHERE id=10;
Query OK, 1 row affected (0.08 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> UPDATE cms_user SET age=65 WHERE id=11;
Query OK, 1 row affected (0.03 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> SELECT * FROM cms_user;
+----+-----------+--------------+-------------+------------+----------+-------+------+--------+
| id | username | password | email | regTime | face | proId | age | sex |
+----+-----------+--------------+-------------+------------+----------+-------+------+--------+
| 1 | 张三 | zhangsan | user@qq.com | 1419811708 | user.jpg | 1 | 11 | 男 |
| 2 | 张三丰 | zhangsanfeng | user@qq.com | 1419812708 | user.jpg | 2 | 21 | 女 |
| 3 | 章子怡 | zhangsan | user@qq.com | 1419813708 | user.jpg | 3 | 33 | 男 |
| 4 | long | long | user@qq.com | 1419814708 | user.jpg | 4 | 44 | 女 |
| 5 | ring | ring | user@qq.com | 1419815708 | user.jpg | 2 | 25 | 男 |
| 6 | queen | queen | user@qq.com | 1419861708 | user.jpg | 3 | 77 | 女 |
| 7 | king | king | user@qq.com | 1419817708 | user.jpg | 5 | 56 | 男 |
| 8 | blek | blek | user@qq.com | 1419818708 | user.jpg | 1 | 88 | 女 |
| 9 | rose | rose | user@qq.com | 1419821708 | user.jpg | 2 | 12 | 男 |
| 10 | lily | lily | user@qq.com | 1419831708 | user.jpg | 2 | 32 | 女 |
| 11 | john | john | user@qq.com | 1419841708 | user.jpg | 2 | 65 | 保密 |
| 12 | test1 | test1 | user@qq.com | 1419811708 | user.jpg | 1 | NULL | 保密 |
+----+-----------+--------------+-------------+------------+----------+-------+------+--------+
12 rows in set (0.00 sec)
mysql> SELECT id,sex,GROUP_CONCAT(username)AS users,COUNT(*) AS totalUsers FROM cms_user GROUP BY sex;
+----+--------+---------------------------------+------------+
| id | sex | users | totalUsers |
+----+--------+---------------------------------+------------+
| 1 | 男 | 张三,rose,king,ring,章子怡 | 5 |
| 4 | 女 | long,queen,blek,张三丰,lily | 5 |
| 11 | 保密 | john,test1 | 2 |
+----+--------+---------------------------------+------------+
3 rows in set (0.02 sec)
mysql> SELECT COUNT(*) AS totalUsers FROM cms_user;
+------------+
| totalUsers |
+------------+
| 12 |
+------------+
1 row in set (0.01 sec)
mysql> SELECT COUNT(id) AS totalUsers FROM cms_user;
+------------+
| totalUsers |
+------------+
| 12 |
+------------+
1 row in set (0.00 sec)
mysql> SELECT * FROM cms_user;
+----+-----------+--------------+-------------+------------+----------+-------+------+--------+
| id | username | password | email | regTime | face | proId | age | sex |
+----+-----------+--------------+-------------+------------+----------+-------+------+--------+
| 1 | 张三 | zhangsan | user@qq.com | 1419811708 | user.jpg | 1 | 11 | 男 |
| 2 | 张三丰 | zhangsanfeng | user@qq.com | 1419812708 | user.jpg | 2 | 21 | 女 |
| 3 | 章子怡 | zhangsan | user@qq.com | 1419813708 | user.jpg | 3 | 33 | 男 |
| 4 | long | long | user@qq.com | 1419814708 | user.jpg | 4 | 44 | 女 |
| 5 | ring | ring | user@qq.com | 1419815708 | user.jpg | 2 | 25 | 男 |
| 6 | queen | queen | user@qq.com | 1419861708 | user.jpg | 3 | 77 | 女 |
| 7 | king | king | user@qq.com | 1419817708 | user.jpg | 5 | 56 | 男 |
| 8 | blek | blek | user@qq.com | 1419818708 | user.jpg | 1 | 88 | 女 |
| 9 | rose | rose | user@qq.com | 1419821708 | user.jpg | 2 | 12 | 男 |
| 10 | lily | lily | user@qq.com | 1419831708 | user.jpg | 2 | 32 | 女 |
| 11 | john | john | user@qq.com | 1419841708 | user.jpg | 2 | 65 | 保密 |
| 12 | test1 | test1 | user@qq.com | 1419811708 | user.jpg | 1 | NULL | 保密 |
+----+-----------+--------------+-------------+------------+----------+-------+------+--------+
12 rows in set (0.00 sec)
mysql> SELECT COUNT(age) AS totalUsers FROM cms_user;
+------------+
| totalUsers |
+------------+
| 11 |
+------------+
1 row in set (0.00 sec)
mysql> SELECT id,sex,GROUP_CONCAT(username),
-> COUNT(*) AS totalUsers,
-> MAX(age) AS max_age,
-> MIN(age) AS min_age,
-> AVG(age) AS avg_age,
-> SUM(age) AS sum_age
-> FROM cms_user
-> GROUP BY sex;
+----+--------+---------------------------------+------------+---------+---------+---------+---------+
| id | sex | GROUP_CONCAT(username) | totalUsers | max_age | min_age | avg_age | sum_age |
+----+--------+---------------------------------+------------+---------+---------+---------+---------+
| 1 | 男 | 张三,rose,king,ring,章子怡 | 5 | 56 | 11 | 27.4000 | 137 |
| 4 | 女 | long,queen,blek,张三丰,lily | 5 | 88 | 21 | 52.4000 | 262 |
| 11 | 保密 | john,test1 | 2 | 65 | 65 | 65.0000 | 65 |
+----+--------+---------------------------------+------------+---------+---------+---------+---------+
3 rows in set (0.05 sec)
WITH ROLLUP
- 记录上面所有记录的总和
mysql> SELECT id,sex,GROUP_CONCAT(username),
-> COUNT(*) AS totalUsers,
-> MAX(age) AS max_age,
-> MIN(age) AS min_age,
-> AVG(age) AS avg_age,
-> SUM(age) AS sum_age
-> FROM cms_user
-> GROUP BY sex WITH ROLLUP\G;
*************************** 1. row ***************************
id: 1
sex: 男
GROUP_CONCAT(username): 张三,rose,king,ring,章子怡
totalUsers: 5
max_age: 56
min_age: 11
avg_age: 27.4000
sum_age: 137
*************************** 2. row ***************************
id: 4
sex: 女
GROUP_CONCAT(username): long,queen,blek,张三丰,lily
totalUsers: 5
max_age: 88
min_age: 21
avg_age: 52.4000
sum_age: 262
*************************** 3. row ***************************
id: 11
sex: 保密
GROUP_CONCAT(username): john,test1
totalUsers: 2
max_age: 65
min_age: 65
avg_age: 65.0000
sum_age: 65
*************************** 4. row ***************************
id: 11
sex: NULL
GROUP_CONCAT(username): 张三,rose,king,ring,章子怡,long,queen,blek,张三丰,lily,john,test1
totalUsers: 12
max_age: 88
min_age: 11
avg_age: 42.1818
sum_age: 464
4 rows in set (0.00 sec)
ERROR:
No query specified
mysql> SELECT id,sex,GROUP_CONCAT(username),
-> COUNT(*) AS totalUsers,
-> MAX(age) AS max_age,
-> MIN(age) AS min_age
-> FROM cms_user
-> GROUP BY sex WITH ROLLUP;
+----+--------+---------------------------------------------------------------------------+------------+---------+---------+
| id | sex | GROUP_CONCAT(username) | totalUsers | max_age | min_age |
+----+--------+---------------------------------------------------------------------------+------------+---------+---------+
| 1 | 男 | 张三,rose,king,ring,章子怡 | 5 | 56 | 11 |
| 4 | 女 | long,queen,blek,张三丰,lily | 5 | 88 | 21 |
| 11 | 保密 | john,test1 | 2 | 65 | 65 |
| 11 | NULL | 张三,rose,king,ring,章子怡,long,queen,blek,张三丰,lily,john,test1 | 12 | 88 | 11 |
+----+--------+---------------------------------------------------------------------------+------------+---------+---------+
4 rows in set (0.00 sec)
HAVING 子句
- WHERE 是第一次查询
- 可以通过HAVING子句对分组结果进行二次筛选
mysql> SELECT sex,GROUP_CONCAT(username) AS users,
-> COUNT(*) AS totalUsers,
-> MAX(age) AS max_age,
-> SUM(age) AS sum_age
-> FROM cms_user
-> GROUP BY sex
-> HAVING COUNT(*)>2;
+------+---------------------------------+------------+---------+---------+
| sex | users | totalUsers | max_age | sum_age |
+------+---------------------------------+------------+---------+---------+
| 男 | 张三,rose,king,ring,章子怡 | 5 | 56 | 137 |
| 女 | long,queen,blek,张三丰,lily | 5 | 88 | 262 |
+------+---------------------------------+------------+---------+---------+
2 rows in set (0.02 sec)
mysql> SELECT sex,GROUP_CONCAT(username) AS users,
-> COUNT(*) AS totalUsers,
-> MAX(age) AS max_age,
-> SUM(age) AS sum_age
-> FROM cms_user
-> GROUP BY sex
-> HAVING COUNT(*)>2 AND MAX(age)>60;
+------+--------------------------------+------------+---------+---------+
| sex | users | totalUsers | max_age | sum_age |
+------+--------------------------------+------------+---------+---------+
| 女 | long,queen,blek,张三丰,lily | 5 | 88 | 262 |
+------+--------------------------------+------------+---------+---------+
1 row in set (0.00 sec)
mysql> SELECT sex,GROUP_CONCAT(username) AS users,
-> COUNT(*) AS totalUsers,
-> MAX(age) AS max_age,
-> SUM(age) AS sum_age
-> FROM cms_user
-> WHERE id>=2
-> GROUP BY sex
-> HAVING COUNT(*)>2 AND MAX(age)>60;
+------+--------------------------------+------------+---------+---------+
| sex | users | totalUsers | max_age | sum_age |
+------+--------------------------------+------------+---------+---------+
| 女 | lily,blek,张三丰,queen,long | 5 | 88 | 262 |
+------+--------------------------------+------------+---------+---------+
1 row in set (0.00 sec)
mysql> SELECT sex,GROUP_CONCAT(username) AS users,
-> COUNT(*) AS totalUsers,
-> MAX(age) AS max_age,
-> SUM(age) AS sum_age
-> FROM cms_user
-> WHERE id>=2
-> HAVING COUNT(*)>2 AND MAX(age)>60;
+------+--------------------------------------------------------------------+------------+---------+---------+
| sex | users | totalUsers | max_age | sum_age |
+------+--------------------------------------------------------------------+------------+---------+---------+
| 女 | 张三丰,章子怡,long,ring,queen,king,blek,rose,lily,john,test1 | 11 | 88 | 453 |
+------+--------------------------------------------------------------------+------------+---------+---------+
1 row in set (0.00 sec)