前言
上文说了数据库的科普,本文说说 SQL。(原计划本文说PHP操作数据库的方法,临时改变计划)
SQL是什么?
上文已经做了一点介绍,这回我们拆开好好聊聊它。
百科说
结构化查询语言(Structured Query Language)简称SQL,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统
白话说
既然数据库就是“仓库管理员”,数据读写直接通知他就行。
但是,大家是否想过一个问题:这个管理员是哪个国家的人?使用什么语言?中文还是英文?
当然,都不是。
他是数据库国人,他使用SQL语言。想和他对话,你必须先学习他们的语言。
SQL语言长什么样?
增
insert into 添加
table 目标数据表
(k1,k2) 字段名(列)
values 关键字,左边是字段,右边是值
(v1,v2) 数据,按顺序存入字段名
说人话
看,SQL语言是可以翻译成中文的。
删、改
本系列文章是帮助大家理解概念,而非语法,所以就省略了。
查
为什么把“查”单独拿出来说?
因为它复杂啊,写(增删改)都是最基本的条件,查则不然,我们来看几个需求。
最新10条数据,从大到小排列
手机相关数据,价格超过100,并且一周内的
计算去年产品价格,报个总价给我
将过去12个月的产品价格,分别报给我
…
这个需求还可以复杂一万倍,只要你擅长SQL语言,就能轻松要求数据库完成这些工作。
数据库这么牛?
确实牛,如果复杂的查询也是很慢的(真的很慢)
如果你提出这样的要求:取出最近100万笔交易,将其中单数的产品按天汇总,最后根据产品售出日的人流量进行排序。
数据库分分钟可能会被你玩死。不过,事无绝对,DBA这个工作岗位专门擅长搞这些事情。
SQL语言只有增删改查吗?
不不不,还有很多,比如…
操作表结构
对数据库、数据表、字段进行增删改查,都能够实现,事实上也是唯一的方法。不论什么客户端,最终都是通过SQL语句来创建这些结构的。
只不过,比较复杂,不建议新人强啃。
系统维护类
你想了解数据库当前的状态?配置的情况?还有各个系统变量的值? 这些都有。
其他
忽然之间想不起来,但几乎所有的数据库操作都可以通过SQL来实现。
SQL语言是通用的吗?
这个在上文也简单介绍过。据非官方统计,85%是通用的。(我就随口一说)
每个数据库都有自己的独特之处,比如limit、top 等。
注意
除了 SQL 之外,还有数据库函数,这就更加大不同。
忽然想起来,我还没写数据类型的区别,头大了,写数据库的文章,哪怕是初级的也是稍显头疼。
总结
下一篇真的是 PHP 操作 MYSQL 的流程了。
领取专属 10元无门槛券
私享最新 技术干货