mysql基本运算符

php中文网
发布: 2016-06-07 15:46:53
原创
1177人浏览过

批量导入数据: mysql load data local infile 'e://source/student.txt' into table student lines terminated by '\r\n';mysql select * from student;+--------+----------+---------+-----------+| stu_id | stu_name | stu_tel | stu_score |+--------+

批量导入数据:

mysql> load data local infile 'e://source/student.txt' into table student lines terminated by '\r\n';
mysql> select * from student;
+--------+----------+---------+-----------+
| stu_id | stu_name | stu_tel | stu_score |
+--------+----------+---------+-----------+
|      1 | a        |     151 |        60 |
|      2 | b        |     152 |        61 |
|      3 | c        |     153 |        62 |
|      4 | d        |     154 |        63 |
|      5 | e        |     155 |        64 |
|      6 | a        |     156 |        65 |
|      7 | b        |     157 |        66 |
|      8 | c        |     158 |        67 |
|      9 | d        |     159 |        68 |
|     10 | e        |     160 |        69 |
+--------+----------+---------+-----------+
登录后复制
在where字句之后还可以使用group by运算符,根据给定字段的每个成员对查询结果进行分组统计,最终得到一个分组汇总表。
mysql> select *,max(stu_score) 
     > from student 
     > group by stu_name;
+--------+----------+---------+-----------+----------------+
| stu_id | stu_name | stu_tel | stu_score | max(stu_score) |
+--------+----------+---------+-----------+----------------+
|      1 | a        |     151 |        60 |             65 |
|      2 | b        |     152 |        61 |             66 |
|      3 | c        |     153 |        62 |             67 |
|      4 | d        |     154 |        63 |             68 |
|      5 | e        |     155 |        64 |             69 |
+--------+----------+---------+-----------+----------------+
登录后复制

group by 可以对包含两个或多个列进行分组。

mysql> select * from student;
+--------+----------+---------+-----------+
| stu_id | stu_name | stu_tel | stu_score |
+--------+----------+---------+-----------+
|      1 | a        |     151 |        60 |
|      2 | a        |     152 |        60 |
|      3 | a        |     153 |        61 |
|      4 | b        |     154 |        62 |
|      5 | b        |     155 |        62 |
|      6 | b        |     156 |        63 |
|      7 | c        |     157 |        64 |
|      8 | c        |     158 |        64 |
|      9 | c        |     159 |        65 |
+--------+----------+---------+-----------+

mysql> select *,count(stu_tel) from student group by stu_name,stu_score;
+--------+----------+---------+-----------+----------------+
| stu_id | stu_name | stu_tel | stu_score | count(stu_tel) |
+--------+----------+---------+-----------+----------------+
|      1 | a        |     151 |        60 |              2 |
|      3 | a        |     153 |        61 |              1 |
|      4 | b        |     154 |        62 |              2 |
|      6 | b        |     156 |        63 |              1 |
|      7 | c        |     157 |        64 |              2 |
|      9 | c        |     159 |        65 |              1 |
+--------+----------+---------+-----------+----------------+
登录后复制


在group by子句之后使用having运算符,对查询结果限定条件,系统仅返回满足条件的组结果。having子句可包含一个或多个用and和or连接的谓词。

mysql> select *,max(stu_score) as Max 
     > from student 
     > group by stu_name 
     > having Max>65;
+--------+----------+---------+-----------+------+
| stu_id | stu_name | stu_tel | stu_score | Max  |
+--------+----------+---------+-----------+------+
|      2 | b        |     152 |        61 |   66 |
|      3 | c        |     153 |        62 |   67 |
|      4 | d        |     154 |        63 |   68 |
|      5 | e        |     155 |        64 |   69 |
+--------+----------+---------+-----------+------+
登录后复制
在having子句之后使用order by运算符,可以是查询结果按照顺序排序
mysql> select *,max(stu_score) as Max 
     > from student 
     > group by stu_name 
     > having Max>65 
     > order by Max desc;
+--------+----------+---------+-----------+------+
| stu_id | stu_name | stu_tel | stu_score | Max  |
+--------+----------+---------+-----------+------+
|      5 | e        |     155 |        64 |   69 |
|      4 | d        |     154 |        63 |   68 |
|      3 | c        |     153 |        62 |   67 |
|      2 | b        |     152 |        61 |   66 |
+--------+----------+---------+-----------+------+
登录后复制
在order by子句之后使用limit运算符,限制显示多少条数据
mysql> select *,max(stu_score) as Max 
     > from student 
     > group by stu_name 
     > having Max>65 
     > order by Max desc 
     > limit 1,3;
+--------+----------+---------+-----------+------+
| stu_id | stu_name | stu_tel | stu_score | Max  |
+--------+----------+---------+-----------+------+
|      4 | d        |     154 |        63 |   68 |
|      3 | c        |     153 |        62 |   67 |
|      2 | b        |     152 |        61 |   66 |
+--------+----------+---------+-----------+------+
登录后复制
select子句中可以插入case表达式,这个表达式充当一种if-then-else语句。
mysql> select *,
     > case 
     > when stu_score>'65' then '1' 
     > when stu_score='65' then '2' 
     > else '3' end as level
     > from student;
+--------+----------+---------+-----------+-------+
| stu_id | stu_name | stu_tel | stu_score | level |
+--------+----------+---------+-----------+-------+
|      1 | a        |     151 |        60 | 3     |
|      2 | b        |     152 |        61 | 3     |
|      3 | c        |     153 |        62 | 3     |
|      4 | d        |     154 |        63 | 3     |
|      5 | e        |     155 |        64 | 3     |
|      6 | a        |     156 |        65 | 2     |
|      7 | b        |     157 |        66 | 1     |
|      8 | c        |     158 |        67 | 1     |
|      9 | d        |     159 |        68 | 1     |
|     10 | e        |     160 |        69 | 1     |
+--------+----------+---------+-----------+-------+
登录后复制
match运算符:用于查找某一列中字符串内的某一单词。用于产品介绍,图书内容,帮助手册等存有大量信息的查找(待续)。

like运算符:使用模式查找,其中百分号%代表任意0个、1个或多个任意字符,下划线_代表一个随机字符。若不用百分号或者下划线,like就相当于等于号=。

eshop网上书店源码
eshop网上书店源码

适合初学的标准三层架构,采用ajax,页面布局div+css符合w3c,用vs自带的sqlserver,免配置sqlserver,使用方便,里面共有5个项目,点击最外层的.sln直接可运行。网站采用asp.net 用户角色配置(membership,UserRoles),用户角色、权限可在asp.net配置里修改,注册,登陆均采用asp.net登陆控件,网站根据用户角色自定义sitemap,基本上

eshop网上书店源码 0
查看详情 eshop网上书店源码
mysql> select * from student 
     > where stu_tel like '_6%';
+--------+----------+---------+-----------+
| stu_id | stu_name | stu_tel | stu_score |
+--------+----------+---------+-----------+
|     10 | e        |     160 |        69 |
+--------+----------+---------+-----------+
登录后复制

like的模式匹配中可以使用转义字符定义escape。escape可以定义任何字符为转移字符。如下例定义‘#’为转义字符,跟在‘#’后面的‘_’失去了原有意义。

mysql> select * from student 
     > where stu_name like '%#_%' escape '#';
+--------+----------+---------+-----------+
| stu_id | stu_name | stu_tel | stu_score |
+--------+----------+---------+-----------+
|     11 | a_b      |     166 |        70 |
+--------+----------+---------+-----------+
登录后复制


相关标签:
最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号