您的位置:首页 > 数据库 > MySQL

Mysql 从零开始

2016-12-23 13:39 225 查看
学习数据库是需要sql基础的,一个学习sql的好去处:W3c SQL教程

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 * 上做处理即可

(占位符)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: