MySQL命令(针对shell命令行)下篇
来源:互联网 发布:理光打印机监控软件 编辑:程序博客网 时间:2024/06/07 10:28
mysql中的命令(应用于shell命令行)(下)
*对特定数据库下的table中的数据排序:->select field1,field2,…fieldN
->from table_name1,table_name2,…table_nameN
->order by field1,[field2…] [asc [desc]]
/*还是举个例子,假设现在有一个名为results的table中的数据如下:
+———–+——————–+——–+————-+
| code | name | credit | achievement |
+———–+——————–+——–+————-+
| U14G71004 | 体育 | 1 | 92 |
| U34G1101 | 大学生心理健康教育 | 2 | 86 |
| U31G71001 | 学科专业认知 | 0.5 | 92 |
| U13G11013 | 形势政治 | 2 | 87 |
| U11G11026 | 线性代数 | 2.5 | 81 |
| U6G202139 | 英语 | 3.5 | 70 |
| U11G11023 | 高等数学 | 6 | 73 |
+———–+——————–+——–+————-+
code是课程编码,credit为学分,achievement为成绩
现在想根据学分的大小排出各学科的顺序,实例如下:
->select name from results order by credit;
asc是正序,desc是逆序,默认是正序,若想逆序,可以在后面加上desc:
->select name from results order by credit desc;
*/
*对特定数据库下的table中的数据分组:->select column_name,function(column_name)
->from table_name1
->where column_name operator value
->group by column_name;
/*
如下面一组名为signin的table数据,我们想依据name对数据分类,并统计name出现的次数:
+—-+——–+———————+——–+
| id | name | date | singin |
+—-+——–+———————+——–+
| 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 |
+—-+——–+———————+——–+
实例如下:
->select name COUNT(*) from signin group by name;
输出如下:
+——–+———-+
| name | COUNT(*) |
+——–+———-+
| 小丽 | 1 |
| 小明 | 3 |
| 小王 | 2 |
+——–+———-+
如果想要,再次统计这三个人每人登陆的总次数,可以加上WITH ROLLUP。实例如下:
->SELECT name, SUM(singin) as singin_count FROM employee_tbl GROUP BY name WITH ROLLUP;
输出如下:
+——–+————–+
| name | singin_count |
+——–+————–+
| 小丽 | 2 |
| 小明 | 7 |
| 小王 | 7 |
| NULL | 16 |
+——–+————–+
其中COUNT()和SUM()为function函数,MySQL的内置函数。
*/
*连接多个table中的数据(INNER JOIN):->select a.column_name1,a.column_name2,…a.column_nameN,b.column_name1,b.column_name2,…b.column_nameN
->from table_name1 a inner join table_name2 b [WHERE Clause];
/*还是举例说明,这里有两个表,如下:
第一张表名为table1,
+—————–+—————-+
| w3cschool_author | w3cschool_count |
+—————–+—————-+
| mahran | 20 |
| mahnaz | NULL |
| Jen | NULL |
| Gill | 20 |
| John Poul | 1 |
| Sanjay | 1 |
+—————–+—————-+
第二张表名为table2,
+————-+—————-+—————–+—————–+
| w3cschool_id | w3cschool_title | w3cschool_author | submission_date |
+————-+—————-+—————–+—————–+
| 1 | Learn PHP | John Poul | 2007-05-24 |
| 2 | Learn MySQL | Abdul S | 2007-05-24 |
| 3 | JAVA Tutorial | Sanjay | 2007-05-06 |
+————-+—————-+—————–+—————–+
实例如下:
->select a.w3cschool_id,a.w3cschool_author,b.w3cschool_count
->from table2 a inner join table1 b
->where a.w3cschool_author=b.w3cschool_author;
//这个命令的意思是显示出table1和table2中author相同的table2的id和table1中的count。
输出如下:
+———–+—————+————–+
| w3cschool_id | w3cschool_author | w3cschool_count |
+———–+—————+————–+
| 1 | John Poul | 1 |
| 3 | Sanjay | 1 |
+———–+—————+————–+
*/
alter相关命令
*修改一张表的表名:->alter table table_old_name rename to table_new_name;
*删除已创建的表中的字段(这里表示的是列,即按列删除):->alter table table_name drop column_name;
*创建新列column:->alter table table_name add column_name column_type [FIRST] or [AFTER column_name];
/*
最后的[FIRST] or [AFTER column_name]可要可不要,first就是放在最前面,after 就是在之后的意思。
注意:这样添加的列的默认值为NULL,可以在命令后面加上default value 来设置默认值。
*/
*修改table中字段的类型:
->alter table table_name modify column_name column_type;//使用MODIFY
*同时修改table中字段的类型和名称:
->alter table table_name change column_old_name column_new_name column_type;
差不多了,我的两篇博客(上下篇)总结了MySQL中常用的命令,希望对学习MySQL的童鞋有用。
想了解更多关于MySQL请看我的同类别的相关博客。
- MySQL命令(针对shell命令行)下篇
- Mysql中常用的命令汇总(针对shell命令行)上篇
- mysql命令行模式下执行shell命令
- Linux shell 命令行编辑命令
- [shell] vi常用命令行命令
- Linux shell 命令行编辑命令
- 简易MySQL命令行命令
- Linux命令行与shell脚本(8)--结构化命令
- Linux Shell远程执行命令(命令行与脚本方式)
- Android在代码中执行shell命令,针对root命令
- Mysql常见命令行命令说明
- 常用mysql命令 for 命令行
- mysql命令行登录的命令
- mysql 命令行 查看版本命令
- Linux命令行,循环执行shell命令
- Linux命令行与shell脚本(18)--shell连接mysql
- MySQL常用操作的命令(windows命令行下)--lampsunny
- MySQL笔记:Mysql命令行常用操作命令
- 二分图最大匹配
- Linux目录结构
- Django BUG记录
- E:无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系 解决办法
- VIJOI 1243 生产产品 前5个点错
- MySQL命令(针对shell命令行)下篇
- F
- hibernate中表建立不出来
- Unity3d 技巧(6) -将RenderTexture保存成一张png图片
- 前端基础进阶(二):执行上下文详细图解
- 1.golang学习笔记:数组是一种值类型
- Spark ML PipeLine学习笔记
- 判断N!末尾有多少个0
- 通过 lua 进行 nginx redis 访问控制