2021年8月23日
#展示所有的数据,开发中一般不用效率低
mysql> select * from person;
#按照字段进行查询 select 字段1,字段2,字段3 from 表名
mysql> select name,age,info from person;
#按照字段进行查询,还可以对字段进行起别名的操作。以后用的很多
#语法格式: select 字段1 as 字段1的别名, 字段2 as 字段2的别名... from 表名
mysql> select name as "姓名", age as "年龄", info as "详细信息" from person;
#可以对数据进行约束查询 运算符
#> < >= <= != = 运算符
#语法格式:select * from 表名 where 字段 运算符 值
#找出年龄大于50岁的人
mysql> select * from person where age > 50;
#找出年龄小于30岁的人
mysql> select * from person where age < 30;
+------+--------+------+------+----------+-------------+
| id | name | sex | age | salary | info |
+------+--------+------+------+----------+-------------+
| 5 | 乃亮 | 1 | 27 | 78799.89 | bhjsnjsnjjn |
| 7 | 羽凡 | 1 | 17 | 8799.89 | bhjsnjsnjjn |
+------+--------+------+------+----------+-------------+
2 rows in set (0.00 sec)
#找出年龄w为 17的人
mysql> select * from person where age = 17;
+------+--------+------+------+---------+-------------+
| id | name | sex | age | salary | info |
+------+--------+------+------+---------+-------------+
| 7 | 羽凡 | 1 | 17 | 8799.89 | bhjsnjsnjjn |
+------+--------+------+------+---------+-------------+
#使用逻辑运算符
#and or
#语法格式:select * from 表名 where 条件1 and 条件2 两个条件都必须符合才能查询出来
#和java里面的逻辑与 &&
#语法格式:select * from 表名 where 条件1 or 条件2 两个条件都只要符合一个就能查询出来
#和java里面的逻辑或 ||
#找出来数据,年龄大于50岁的,并且薪资大于10000的人
mysql> select * from person where age>50 and salary>10000;
+------+--------+------+------+----------+-----------------+
| id | name | sex | age | salary | info |
+------+--------+------+------+----------+-----------------+
| 4 | 老邢 | 1 | 78 | 78889.89 | 猪头肉搞起 |
+------+--------+------+------+----------+-----------------+
1 row in set (0.01 sec)
mysql> select * from person where age>50 && salary>10000;
+------+--------+------+------+----------+-----------------+
| id | name | sex | age | salary | info |
+------+--------+------+------+----------+-----------------+
| 4 | 老邢 | 1 | 78 | 78889.89 | 猪头肉搞起 |
+------+--------+------+------+----------+-----------------+
#找出来年龄大于50的或者 薪资大于10000的
mysql> select * from person where age > 50 or salary >10000;
+------+--------+------+------+----------+-----------------+
| id | name | sex | age | salary | info |
+------+--------+------+------+----------+-----------------+
| 2 | 贝贝 | 0 | 67 | 789.89 | bhjsnjsnjjn |
| 4 | 老邢 | 1 | 78 | 78889.89 | 猪头肉搞起 |
| 5 | 乃亮 | 1 | 27 | 78799.89 | bhjsnjsnjjn |
| 6 | 大郎 | 1 | 57 | 8799.89 | bhjsnjsnjjn |
+------+--------+------+------+----------+-----------------+
4 rows in set (0.00 sec)
mysql> select * from person where age > 50 || salary >10000;
+------+--------+------+------+----------+-----------------+
| id | name | sex | age | salary | info |
+------+--------+------+------+----------+-----------------+
| 2 | 贝贝 | 0 | 67 | 789.89 | bhjsnjsnjjn |
| 4 | 老邢 | 1 | 78 | 78889.89 | 猪头肉搞起 |
| 5 | 乃亮 | 1 | 27 | 78799.89 | bhjsnjsnjjn |
| 6 | 大郎 | 1 | 57 | 8799.89 | bhjsnjsnjjn |
+------+--------+------+------+----------+-----------------+
4 rows in set (0.00 sec)
#排序 order by
#语法格式:select * from 表名 order by 字段 asc;升序 默认的
#语法格式:select * from 表名 order by 字段 desc;降序
#在最后可以加上 asc(升序) 或者是 desc(降序)
mysql> select * from person order by salary;#升序进行排的
+------+--------+------+------+----------+-----------------+
| id | name | sex | age | salary | info |
+------+--------+------+------+----------+-----------------+
| 2 | 贝贝 | 0 | 67 | 789.89 | bhjsnjsnjjn |
| 1 | 宝强 | 0 | 47 | 7899.89 | bhjsnjsnjjn |
| 6 | 大郎 | 1 | 57 | 8799.89 | bhjsnjsnjjn |
| 7 | 羽凡 | 1 | 17 | 8799.89 | bhjsnjsnjjn |
| 5 | 乃亮 | 1 | 27 | 78799.89 | bhjsnjsnjjn |
| 4 | 老邢 | 1 | 78 | 78889.89 | 猪头肉搞起 |
+------+--------+------+------+----------+-----------------+
#降序排
mysql> select * from person order by salary desc;
+------+--------+------+------+----------+-----------------+
| id | name | sex | age | salary | info |
+------+--------+------+------+----------+-----------------+
| 4 | 老邢 | 1 | 78 | 78889.89 | 猪头肉搞起 |
| 5 | 乃亮 | 1 | 27 | 78799.89 | bhjsnjsnjjn |
| 6 | 大郎 | 1 | 57 | 8799.89 | bhjsnjsnjjn |
| 7 | 羽凡 | 1 | 17 | 8799.89 | bhjsnjsnjjn |
| 1 | 宝强 | 0 | 47 | 7899.89 | bhjsnjsnjjn |
| 2 | 贝贝 | 0 | 67 | 789.89 | bhjsnjsnjjn |
+------+--------+------+------+----------+-----------------+
#先按照薪资进行降序排序,如果薪资相等的话,再按照年龄进行升序排序
mysql> select * from person order by salary desc, age asc;
+------+--------+------+------+----------+-----------------+
| id | name | sex | age | salary | info |
+------+--------+------+------+----------+-----------------+
| 4 | 老邢 | 1 | 78 | 78889.89 | 猪头肉搞起 |
| 5 | 乃亮 | 1 | 27 | 78799.89 | bhjsnjsnjjn |
| 7 | 羽凡 | 1 | 17 | 8799.89 | bhjsnjsnjjn |
| 6 | 大郎 | 1 | 57 | 8799.89 | bhjsnjsnjjn |
| 1 | 宝强 | 0 | 47 | 7899.89 | bhjsnjsnjjn |
| 2 | 贝贝 | 0 | 67 | 789.89 | bhjsnjsnjjn |
+------+--------+------+------+----------+-----------------+
6 rows in set (0.00 sec)
#找出年龄大于30岁的并且按照salary进行降序进行排列
mysql> select * from person where age > 30 order by salary desc;
+------+--------+------+------+----------+-----------------+
| id | name | sex | age | salary | info |
+------+--------+------+------+----------+-----------------+
| 4 | 老邢 | 1 | 78 | 78889.89 | 猪头肉搞起 |
| 6 | 大郎 | 1 | 57 | 8799.89 | bhjsnjsnjjn |
| 1 | 宝强 | 0 | 47 | 7899.89 | bhjsnjsnjjn |
| 2 | 贝贝 | 0 | 67 | 789.89 | bhjsnjsnjjn |
+------+--------+------+------+----------+-----------------+
浙公网安备 33010602011771号