Mysql 从零开始
2016-12-23 13:39
225 查看
学习数据库是需要sql基础的,一个学习sql的好去处:W3c SQL教程
常用关键字
(栗子:单句sql语句中。select、where序号分别为1、4,所以where只能书写在select之后 如: select ……where……;)
书写顺序:
select
from
left/right join on
where
group by
having
order by
limit
(栗子:单句sql语句中。在即使用了where关键字又使用了having关键字的情况下,where、having序号分别为3、5,所以在语句执行时,先会执行where的条件来过虑返回的结果集,在一定时间后再执行having的条件来过虑返回的结果集)
执行顺序:
from
left/right join on
where
group by
having
select
order by
limit
更多函数
表结构
选择message表中mid为23、7、2的字段,也许你在期待按23、7、2的顺序来显示三条字段。但结果却不是,原因是mysql 默认没写order by时按主键进行默认方式排序(数字类型默认按从小到大,字符串类型默认字典排序,可手工设置)
但如果真想按23、7、2的顺序输出记录呢?
2.多表查询时的连接语法
MySQL各join语法示例传送门
3.查询表属性
执行上述 SQL 会得到表查询结果集,需要特定结果在 select * 上做处理即可
(占位符)
Mysql 介绍
(占位符)Mysql的使用
mysql 关键字
核心关键字名称 | 作用 |
---|---|
select | 指定需返回的字段 |
left/right/inner join on | 指定执行多表的左/右/内 连接操作 |
where | 指定返回结果集限制条件(不可协同函数) |
group by | 指定返回结果集合并条件 |
having | 指定返回结果集限制条件(可协同函数) |
order by | 指定返回结果集根据什么排序 |
limit | 指定返回结果集取值起止位置 |
常用关键字
名称 | 作用 |
---|---|
as | 将 as 后的名称指定为 as 前参数的别名 |
union | 将 union 前后的结果集进行合并 |
truncate | 重置(原理类似删除表然后重建结构相同的表,表自增字段index会重置) |
delete | 删除(比truncate慢的原因——遍历表并对各记录删除一次,表自增字段index会保留,指定条件删除部分记录) |
drop | 废弃,删库和删表用 |
mysql 关键字顺序
mysql 的sql语句是需要符合一定规范的,其中之一便是关键字的顺序,需要注意的是,书写顺序无法决定关键字的执行顺序。(栗子:单句sql语句中。select、where序号分别为1、4,所以where只能书写在select之后 如: select ……where……;)
书写顺序:
select
from
left/right join on
where
group by
having
order by
limit
(栗子:单句sql语句中。在即使用了where关键字又使用了having关键字的情况下,where、having序号分别为3、5,所以在语句执行时,先会执行where的条件来过虑返回的结果集,在一定时间后再执行having的条件来过虑返回的结果集)
执行顺序:
from
left/right join on
where
group by
having
select
order by
limit
mysql 函数
常见函数类别 | 含义 |
---|---|
count(指定目标) | 计算指定目标的个数 |
avg(指定目标) | 计算指定目标的平均值 |
max(指定目标) | 计算指定目标中的最大数 |
min(指定目标) | 计算指定目标中的最小数 |
abs(指定目标) | 计算指定目标中的绝对值 |
更多函数
mysql 命令实操
Mysql命令大全传送门mysql 语句实际问题
1.自定排序表结构
SELECT * FROM massage WHERE mid IN (23, 7, 2)
选择message表中mid为23、7、2的字段,也许你在期待按23、7、2的顺序来显示三条字段。但结果却不是,原因是mysql 默认没写order by时按主键进行默认方式排序(数字类型默认按从小到大,字符串类型默认字典排序,可手工设置)
但如果真想按23、7、2的顺序输出记录呢?
SELECT * FROM massage WHERE mid IN (23, 7, 2)
ORDER BY field(mId,23,7,2) // field 为数据库提供的一个函数 filed(“指定目标”,顺序……)
// 此处为 mid 以 23、7、2的顺序返回结果集
2.多表查询时的连接语法
MySQL各join语法示例传送门
3.查询表属性
SELECT * FROM information_schema. COLUMNS WHERE table_name = '查询目标表名'
执行上述 SQL 会得到表查询结果集,需要特定结果在 select * 上做处理即可
(占位符)
相关文章推荐
- 从零开始学mysql-------读书笔记查询语句(一)
- 详解MySQL中DROP,TRUNCATE 和DELETE的区别实现mysql从零开始
- 详解MySQL中DROP,TRUNCATE 和DELETE的区别实现mysql从零开始
- 详解MySQL中DROP,TRUNCATE 和DELETE的区别实现mysql从零开始
- mysql5.6从零开始学习学习笔记之三(数据还原)
- 6. datasource - mysql【从零开始学Spring Boot】
- 数据库从零开始-初识MySql
- MySql从零开始(四)常见运算符
- (6)Spring Boot datasource - mysql【从零开始学Spring Boot】
- 详解MySQL中DROP,TRUNCATE 和DELETE的区别实现mysql从零开始
- MYSQL 5.5从零开始学——数据表的基本操作
- 从零开始搭建CentOS+nginx+mySQL+PHP(框架)视频点播系统
- MYSQL从零开始 -- 时间分割(存储过程)
- [MySQL-MM] 生产环境自动恢复MM中一台M2库的过程,分享从零开始写的自动化重建脚本以及思路
- PHP从零开始:Apache+PHP+MySQL安装配置
- Linux平台下从零开始写一个C语言访问MySQL的测试程序
- MYSQL 5.5从零开始学(配光盘)
- mysql从零开始(一)
- [MySQL-MM] 生产环境自动恢复MM中一台M2库的过程,分享从零开始写的自动化重建脚本以及思路 (转)
- 从零开始学网络爬虫之数据区MySQL