在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
1、简介这篇博客将会非常基础,如果有 首先准备一张表,表结构如下所示: SET NAMES utf8mb4; SET FOREIGN_KEY_CHECKS = 0; -- ---------------------------- -- Table structure for user -- ---------------------------- DROP TABLE IF EXISTS `user`; CREATE TABLE `user` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', `name` varchar(255) NOT NULL COMMENT '用户名', `age` int(11) NOT NULL COMMENT '年龄', `sex` smallint(6) NOT NULL COMMENT '性别', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8; 表数据如下所示: INSERT INTO `user` VALUES (1, '李子捌', 18, 1); INSERT INTO `user` VALUES (2, '张三', 22, 1); INSERT INTO `user` VALUES (3, '李四', 38, 1); INSERT INTO `user` VALUES (4, '王五', 25, 1); INSERT INTO `user` VALUES (5, '六麻子', 13, 0); INSERT INTO `user` VALUES (6, '田七', 37, 1); SET FOREIGN_KEY_CHECKS = 1; 注意在 2、select2.1 查询单个列首先使用 mysql> use liziba; Database changed 接着使用 select column_name from table_name; mysql> select name from user; +--------+ | name | +--------+ | 李子捌 | | 张三 | | 李四 | | 王五 | | 六麻子 | | 田七 | +--------+ 6 rows in set (0.00 sec) 2.2 查询多个列查询多个列和单个列的区别在于,select后面紧跟多个列名,用英文逗号分割即可。 select column_name1,column_name2,column_name3 from table_name; mysql> select name,age from user; +--------+-----+ | name | age | +--------+-----+ | 李子捌 | 18 | | 张三 | 22 | | 李四 | 38 | | 王五 | 25 | | 六麻子 | 13 | | 田七 | 37 | +--------+-----+ 6 rows in set (0.00 sec) 2.3 查询所有列查询所有列有两种方式,第一种是上面两种推导出的方式,列出所有的列名。 mysql> select id,name,age,sex from user; +----+--------+-----+-----+ | id | name | age | sex | +----+--------+-----+-----+ | 1 | 李子捌 | 18 | 1 | | 2 | 张三 | 22 | 1 | | 3 | 李四 | 38 | 1 | | 4 | 王五 | 25 | 1 | | 5 | 六麻子 | 13 | 0 | | 6 | 田七 | 37 | 1 | +----+--------+-----+-----+ 6 rows in set (0.00 sec) 第二种,也是部分程序员使用的最多的一句 select * from table_name; mysql> select * from user; +----+--------+-----+-----+ | id | name | age | sex | +----+--------+-----+-----+ | 1 | 李子捌 | 18 | 1 | | 2 | 张三 | 22 | 1 | | 3 | 李四 | 38 | 1 | | 4 | 王五 | 25 | 1 | | 5 | 六麻子 | 13 | 0 | | 6 | 田七 | 37 | 1 | +----+--------+-----+-----+ 6 rows in set (0.00 sec)
3、distinct如果需要查询列值不重复的数据,可以使用 我们在上面的表中插入一条新的数据,数据 mysql> insert into user (name, age, sex) values('谢礼', 18, 1); Query OK, 1 row affected (0.01 sec) 此时可以看到年龄列有相等的值 mysql> select * from user; +----+--------+-----+-----+ | id | name | age | sex | +----+--------+-----+-----+ | 1 | 李子捌 | 18 | 1 | | 2 | 张三 | 22 | 1 | | 3 | 李四 | 38 | 1 | | 4 | 王五 | 25 | 1 | | 5 | 六麻子 | 13 | 0 | | 6 | 田七 | 37 | 1 | | 7 | 谢礼 | 18 | 1 | +----+--------+-----+-----+ 7 rows in set (0.00 sec) 此时我们想获取 mysql> select distinct age from user; +-----+ | age | +-----+ | 18 | | 22 | | 38 | | 25 | | 13 | | 37 | +-----+ 6 rows in set (0.00 sec) 这里有一个问题需要注意, 比如说 mysql> select distinct age,name from user; +-----+--------+ | age | name | +-----+--------+ | 18 | 李子捌 | | 22 | 张三 | | 38 | 李四 | | 25 | 王五 | | 13 | 六麻子 | | 37 | 田七 | | 18 | 谢礼 | +-----+--------+ 7 rows in set (0.00 sec) 如果 mysql> select distinct age,sex from user; +-----+-----+ | age | sex | +-----+-----+ | 18 | 1 | | 22 | 1 | | 38 | 1 | | 25 | 1 | | 13 | 0 | | 37 | 1 | +-----+-----+ 6 rows in set (0.00 sec) 4、limit前面的查询会返回满足条件的所有记录,如果我们只需要指定数量的记录,可以使用
mysql> select * from user limit 0; Empty set (0.00 sec) mysql> select * from user limit 1; +----+--------+-----+-----+ | id | name | age | sex | +----+--------+-----+-----+ | 1 | 李子捌 | 18 | 1 | +----+--------+-----+-----+ 1 row in set (0.00 sec) 如果 mysql> select count(1) from user; +----------+ | count(1) | +----------+ | 7 | +----------+ 1 row in set (0.01 sec) mysql> select * from user limit 8; +----+--------+-----+-----+ | id | name | age | sex | +----+--------+-----+-----+ | 1 | 李子捌 | 18 | 1 | | 2 | 张三 | 22 | 1 | | 3 | 李四 | 38 | 1 | | 4 | 王五 | 25 | 1 | | 5 | 六麻子 | 13 | 0 | | 6 | 田七 | 37 | 1 | | 7 | 谢礼 | 18 | 1 | +----+--------+-----+-----+ 7 rows in set (0.00 sec)
mysql> select * from user limit 2, 4; +----+--------+-----+-----+ | id | name | age | sex | +----+--------+-----+-----+ | 3 | 李四 | 38 | 1 | | 4 | 王五 | 25 | 1 | | 5 | 六麻子 | 13 | 0 | | 6 | 田七 | 37 | 1 | +----+--------+-----+-----+ 4 rows in set (0.00 sec) 到此这篇关于MySQL之select、distinct、limit的使用的文章就介绍到这了,更多相关MySQL之select、distinct、limit使用内容请搜索极客世界以前的文章或继续浏览下面的相关文章希望大家以后多多支持极客世界! |
请发表评论