MySQL数据分析(7)-SQL的两大学习框架
大家好,我是jacky,很高兴继续跟大家分享《MySQL数据分析实战》课程,前面的课程基本上我把MySQL的原理都做了一定的介绍,有好多朋友说学习MySQL是没有逻辑的,其实jacky是非常不认同的,学习是没有捷径的,但一定有规律,学习就是一个总结规律举一反三的过程;对于MySQL来说,只有先了解我们要做什么,我们才能相应的操作,大家说是不是?
从本节课程开始,到这门课程结束,我们都是围绕SQL语句展开的,这个小节很特殊,我先给大家做一个SQL 语句的热身,让大家现在头脑里先有这样一个印象,就是SQL语句到底是跟什么,SQL是什么,SQL有什么用;
在文章的最后,jacky会给大家梳理两个SQL语句学习的框架逻辑,我们之后的学习,也会按照这连个框架逻辑展开;
也就是说,本小节课程,jacky主要介绍三部分内容:第一部分:SQL是什么?第二部分:SQL怎么用;第三部分:SQL的两个学习框架
好,现在开始我们SQL的热身之旅吧
(一)SQL是什么?
SQL是什么?一句话概括:SQL是为操作数据库而开发的语言;
既然是语言就得有规则,那么SQL 的规则是什么呢?
SQL的两大规则
书写规则
语法规则
本小节课程,jacky只给大家介绍SQL的书写规则,因为语法规则,我们说学习SQL语句,就是学习它的语法规则,所以我们之后要学的都是SQL的语法规则,这里就不能一一阐述了;
1.关于书写的四条规则
规则1:SQL语句要以英文分号结尾
- 这个就不做过多解释了,就像汉语的句子一样,汉语句子用句号结尾;同样,一条SQL语句可以描述一个数据库操作,所以SQL语句用分号结尾
规则2:SQL语句不区分大小写
SQL是不区分关键字大小写的,比如我们后面要讲的关键字selcect,不管我们写成SELECT还是select,解释都是一样的,表名和列名也是一样,但是大多是程序员还是依据下面的大小写规则来写的,这里也跟大家分享一下,就是:
关键字大写;
表名的首个字母大写;
除此之外,其余都小写;
规则3:字符串,日期,和数字的书写方式是固定的;
字符串:单引号 ,例如:’abc’
日期:通常用’年-月-日’的格式,例如:’2018-02-23’
数字:不用使用任何记号标识,直接写即可;
规则4:SQL语句的单词之间需使用半角空格或换行符来进行分隔
2.SQL的4个功能组成
根据指令种类不同,SQL语句可以分为以下三类:
2.1 DDL(Data Definition Language,数据定义语言)
DDL包含以下几种指令
create:创建数据库和表等对象
drop:删除数据库和表等对象
alter:修改数据库和表等对象的结构
2.2 DML(Data Manipulation Language,数据操作语言)
DML包含以下几种指令
select:查询表中的数据
insert:向表中插入新数据
update:变更表中的数据
delete:删除表中的数据
2.3 DCL(Data Control Language,数据控制语言)
DCL包含以下 几种命令
grant:赋予用户操作权限
revoke:取消用户的操作权限
在实操中,我们使用的SQL语句中有90%属于DML,本课程也会以DML为中心进行讲解
(二)SQL怎么用?
那么SQL到底要怎么用,我们来具体的实操下,在前面数据库设计之三大范式的课程中,我们是不是看到了SQL语句了,下面作为第一次学习SQL语句的初学者,jacky总结了XX条最基本的MySQL指令,大家打开电脑,跟着jacky一起敲击代码,感受以下SQL的魅力
2.1 XX条最基本的MySQL指令
1)登录
1))连接服务器
Windows版命令:
net start mysql
或者 C:\mysql-5.5.20-winx64\mysql-5.5.20-winx64\mysql
Mac版命令:
- sudo /usr/local/mysql/support-files/mysql.server start
2)) 连接客户端
Windows版命令:
- C:\mysql-5.5.20-winx64\mysql-5.5.20-winx64\mysql -u root -p
Mac版命令:
- mysql -u root -p
2)查看数据库
- 查看我们服务器下有多少数据库
show databases;
3)切换数据库
use test;
4)查看数据库中有哪些表
show tables;
- 前提是必须切换到数据库里面去,才能用show tables去看表
5)查看表结构或表字段
desc user;
6)查看表记录(表里面的记录)
select * from user;
7)退出mysql终端
exit;
(三)SQL的两大学习框架
大家有有没有跟着jacky一起敲击的上面的代码,大家是不是对SQL语句有了一定的感觉了是吗?那么,接下来,我们是不是该系统的学习它了,那么,面对纷杂无序的SQL语句,我们该怎么的逐步学习呢?或者说我们该捋着怎样的逻辑线学习呢?
- jacky说,SQL的学习有大学习框架;
3.1 框架一:SQL指令对象框架
SQL语句3大指令框架对象
数据库级别
表级别
- 数据行级别
数据库级别和表级别不重要,因为它们都是一次性的操作,我们创建也只能创建一次数据库,创建表也创建一次就好了,紧接着重复操作的就是表里面的数据;
3.2 框架二:SQL的功能框架
- 四个字:增、删、改、查
3.3 总结
如果我们把这两大框架结合起来,也就把所有的SQL语句都囊括进去了,即:
数据库:增、删、改、查;
表:增、删、改、查;
表中数据:增、删、改、查;
大家可能从不同的渠道都听到:MySQL是没有什么规律和层次的,通过这次课,jacky要告诉你,其实MySQL的逻辑性是很强的,接下来的学习,jacky也会按照上面的框架一一展开,好,这节课jacky就跟大家分享到这,感谢大家,再见!
MySQL数据分析(7)-SQL的两大学习框架的更多相关文章
- Java 学习笔记 两大集合框架Map和Collection
两大框架图解 Collection接口 由第一张图,我们可以知道,Collection接口的子接口有三种,分别是List接口,Set接口和Queue接口 List接口 允许有重复的元素,元素按照添加的 ...
- MySQL数据分析实战-朱元禄-专题视频课程
MySQL数据分析实战-496人已学习 课程介绍 本套课程由知名数据分析博主jacky老师录制,深入浅出讲解MySQL数据分析,从实战角度出发,帮助大家制胜职场!课程收益 1.学会 ...
- MySQL数据分析-(8)SQL基础操作之库操作
前面我们讲了学习SQL的两个逻辑框架,jacky说了这样一个逻辑:库是为了存储表的,所以一定是先有库才有表:同样的道理,有表才有表中的数据,是吧,肯定是这个逻辑:那么,今天jacky就捋着这个逻辑从库 ...
- MySQL数据分析-(10)SQL基础操作之表操作
大家好,我是jacky,很高兴跟大家继续分享MySQL数据分析实战课程,前面我们学习了库层面增删改查的SQL语句,这次课jacky将给大家介绍表层面的增删改查, (一)本课时的学习逻辑 表层面的增删改 ...
- MySQL命令执行sql文件的两种方法
MySQL命令执行sql文件的两种方法 摘要:和其他数据库一样,MySQL也提供了命令执行sql脚本文件,方便地进行数据库.表以及数据等各种操作.下面笔者讲解MySQL执行sql文件命令的两种方法,希 ...
- MySQL导入SQL文件过大或连接超时的解决办法/在navcat执行sql卡在0%
set global max_allowed_packet=100 000 000;set global net_buffer_length=100000;SET GLOBAL interactiv ...
- MySQL两大存储引擎:MyISAM和InnoDB
Mysql有两大常用的存储引擎MyISAM,InnoDB,默认的形式是前者. 两者基本的差别是对事务处理.外键和行级锁的主持上,InnoDB支持事务处理.外键等高级特性,而MyISAM不支持.MyIS ...
- 关于fmri数据分析的两大类,四种方法
关于fmri数据分析的两大类,四种方法: 数据驱动: tca:其实这种方法,主要是提取时间维的特征.如果用它来进行数据的分析,则必须要利用其他的数据方法,比如结合ICA. ica:作为pca的一般化实 ...
- mysql与sql server参照对比学习mysql
mysql与sql server参照对比学习mysql 关键词:mysql语法.mysql基础 转自桦仔系列:http://www.cnblogs.com/lyhabc/p/3691555.html ...
随机推荐
- 红帽linux系统开机自启动脚本。
其实很多东西在最后完成以后会觉得也就那样,有意思的是探究的过程. 前段时间老板要求把一个程序做成linux系统开机自启动脚本的模式. 首先你需要写一个脚本. 我这边建立了一个.sh的脚本,就是用脚本启 ...
- 怎样理解window.name
window.name表示当前窗口的名字, 而非网页的名字, 网页的名字需要使用: document.title; window.name一般是空的字符串, 他的作用其实是配合配合超链接和表单的tar ...
- [Vue]vue-router嵌套路由(子路由)
总共添加两个子路由,分别命名Collection.vue(我的收藏)和Trace.vue(我的足迹) 1.重构router/index.js的路由配置,需要使用children数组来定义子路由,具体如 ...
- TensorType
- 关于H5的一些相关基础知识
HTML只是简写全写是(Hyper Text Markup Language)表示的是:超文本标记语言; HTML5表示的是html的第5次重大修改的第5个版本,(而html5是W3C和WHATWG ...
- # JDK7+ MethodHandle
简单例子 import java.lang.invoke.MethodHandle; import java.lang.invoke.MethodHandles; import java.lang.i ...
- 二叉树BinaryTree构建测试(无序)
此测试仅用于二叉树基本的性质测试,不包含插入.删除测试(此类一般属于有序树基本操作). //二叉树树类 public class BinaryTree { public TreeNode root; ...
- Java基础加强-读取配置文件和内省
Java读取配置文件 1.采用ServletContext读取,读取配置文件的realpath,然后通过文件流读取出来. String path = "/WEB-INF/jdbc_conne ...
- flume 1.7在windows下的安装部署与测试运行
一.安装 安装java,配置环境变量. 安装flume,下载地址,下载后直接解压即可. 二.运行 创建配置文件:在解压后的文件 apache-flume-1.7.0-bin\conf下创建一个exam ...
- 【问题】使用XShell连接Debian,没有语法高亮
编辑家目录里面的.bashrc文件,取消红框中的注释. 我使用的是XShell连接Debian,有的人可能改完也没有语法高亮,试着改下XShell的配色方案 参考:https://www.cnblog ...