MySQL学习笔记(更新ing)

2019/2/18更新

学习顺序:

入门:慕课网——与MySQL的零距离接触

工具:入门时期用cmd,其次进阶时期使用MySQL—front

工具书:MySQL必知必会

进阶:动力节点 mysql 郭鑫 34道经典的面试题

           百度云盘:MySQL

           网易云课堂:MySQL从入门到精通

            MySQL实战45讲

进度安排:2019/2/24 进阶视频学习完

                  2019/3/3 动力节点面试题重做完

                  2019/3/10 猴子专栏案例学习

1.学习基本的MySQL使用和语句:安装、登录、创建数据库、创建表、添加数据、删除数据、更新数据、更改数据等

2.着重学习select语句,学习方式为:书籍+视频+实际操练。主要使用动力节点的面试题。

3.回头继续学习MySQL的其他基础知识,包括事务、存储引擎等。

4.找案例学习实战。网易MySQL数据分析实战、知乎猴子聊数据分析

5.其他猎奇知识:慕课网MySQL开发技巧等,了解MySQL还有更广阔的知识等待发掘。

基础知识

1.除了SQL外,最重要的是学些一些细节,比如在SQL编辑环境下,“;”是每句话的结尾。在单条SQL上,不需要加;但要养成习惯。多个字段用的是“,”做分隔。

2.linux系统下命令含义

cd  change directory  切换目录

ls  list列表  即列出目录下的每一个文件

su  switch user  切换用户

3.为什么要配置环境变量?

在使用命令行时,如果我们配置了环境变量,那么就可以直接使用相应的配置。例如在mysql中,在命令行中可以直接使用mysql -u等等,不需要考虑到底是在哪个盘中,如果不设置,输入就无法执行。

4.windows清屏命令行是cls

5.mysql忽略空格,所以不需要纠结空格会不会影响运行,如果便于阅读就应该加空格。

6.当年的误区:创建表之前要先把数据库打开。不是说创建了数据库,就顺带打开了。

create database mysql_shiyan

use mysql_shiyan

7.MySQL数据库的启动和数据库的登录不是同一件

net start mysql启动数据库

mysql -uroot -p是数据库的登录

8.数据库编码

set names gbk 只更改现在屏幕上cmd中显示的,写入到数据库中的还是系统设定的编码。

MySQL登录

1.mysql -u[名称] -p[密码]

疑问:为什么在教学时使用的是root,没有自己的mysql用户名称吗?如何设置呢?

2.提示符

最大的意义:终于明白了每条语句前一串名称是什么了。

最常见的是组合是;用户名·主机名称·当前数据库名称。例如:root@localhometest

提示符可以跟什么参数:\D(数据库)    \d(时间)   \h(主机)   \u(用户名)

3.查看数据库内容 可以通过help来查看show的用法

查看所有数据库:show databases

查看所有数据表:首先要进入指定的数据库,查看该数据库内的所有数据表 show tables。也可以查看其他数据库的表 SHOW TABLES FROM mysql。

查看某个表格的字段:SHOW COLUMNS FROM 表名

查看警告信息:show warnings

查看数据库建立信息:show create database 库名

查看当前数据库:SELECT DATABASE() 是个函数?

查看编码:show variable “%char%”

MySQL操作

数据库

1.create database 数据库名

在创建数据库的时候,需要指定编码,使用:create database 数据库名 character set 编码。查看数据库编码语句:show create database 数据库名,显示创建数据的信息,编码。如果要修改数据库编码,使用:alter database 数据库名 character set = 编码。

2.drop database 数据库名  经常误认为是delete,这两个词有什么区别?

早期困惑:我原本以为删除什么就要先进入到什么的环境中,就想开始的时候要进入到对应的目录中去。但是删除表格或者数据库好像是用关键字来区分的,比如table 和database。因为创建数据表的时候是需要进去到对应的数据库中。

数据表

1.创建数据表

可以创建的内容非常多(表名 数据类型(大小) 是否允许空 默认值 是否自增长  主键)

CREATE TABLE 表名(字段名  数据类型(大小)  是否空  默认值  是否自增 主键) ENGINE=引擎

误区:创建表格和创建数据库不太一样的地方就是:不能只说  我创建一个表格。因为表格必须要包含内容(指字段)。当时学习的时候,看创建数据库是CREATE DATABASE 数据库名,就觉得创建数据表为CREATE TABLE,然后再写表结构。

2.删除数据表

DROP TABLE 表名。

删除数据库对象(结构上的东西)是用DROP,比如删除表,删除列。而删除数据库数据(其内容)应该是用DELETE。

3.更改数据表结构

alter table  add column 字段名 数据类型

alter table  drop column 字段名

4.插入数据

单个数据插入:insert into 表名(字段1,字段2)value(数据1,数据2)

插入select搜索的数据:insert into 表名(字段1,字段2)select(字段1,字段2)from 表名 where条件。

插入的字段数量要和被插入的表格保持一致。

5.更改符合条件的数据

updata 数据表 set 要更新的=新内容 where条件

6.删除数据 DELETE FROM 表名 where条件

确定表名,确定条件。delete的语句更其他都不太一样。

存储过程

储存过程是我新接触的知识,和函数,流程体三者构成一个复杂的SQL知识。

应用的场景:一个提数的业务场景,需要很多步才能完成这个提数,同时经常需要重复做,但每次都差不多,只是提数的条件不太一样,比如他需要女性的数据,他需要男性的数据。这个时候,可以使用存储过程(可以输入参数的:男性,女性),一方面解决多个SQL的书写问题,另一方面解决重复做的问题。

学习资料:百度云MySQL

我在学习陌生概念的时候,不知道为啥总会有一个预想,类比。然后依次为标准学习,如果我的预想是正确的,还好。如果不正确,后续的学习很多就不明白。

在学数学概念的时候,这种思维模式特别明显。一方面,数学概念比较抽象,另一方面,很多陌生概念。

错误的预想会导致对概念的本质理解错误,导致后续概念全都错误。

存储过程呢?

我以为是一个单独的代码,可以存在电脑里,需要的时候,找到路径调用就行了。

但实际上,代码需要存在MySQL中,创建的时候也需要再指定的数据库中创建。

另一个理解错误。修改分隔符,我以为是在后续运行中,可以让存储过程完整,不会因为;跳出过程。但是错了,修改分隔符是为了防止在创建的时候,用;结尾的时候跳出创建过程,导致后续的select语句,end等无法写出来。所以需要在创建存储过程前修改,然后完成后改回来。但在调用的时候不需要delimiter。

超过两个以上的语句,应该是用begin end

可以带有小括号,或者不带有

储存过程能使用大部分的select语句,但不能用于创建表,创建数据库。

1.创建存储过程

创建的时候要进去指定的数据库中

DELIMITER //

CREATE PROCEDURE 名字(参数)

BEGIN

SELECT语句

END//

DELIMIT ;

其中,SELECT语句要完整,既有“;”结束号。

2.调用存储过程

CALL 名字()  重要的是要有括号,不论有没有参数。

3.删除存储过程

错误:我刚开始用的是delete。还是我写的是DROP PROCEDURE 名字。但事实上,不需要指定PROCEDURE。不知道为什么。惯性思维。

查询

对于复杂查询一般都分步完成,有两种方法:

利用子查询:将上一步的查询结果做为条件,放在where中

利用关联查询:将上一步的查询结果做为一个临时表,join

当返回的结果为多列时,就不适合用子查询了。有时候需要结合逻辑符号,语句。

(待补充)

案例学习总结

1.《用SQL分析北京二手车市场现状》

数据分析前的准备工作:数据清洗。数据清洗几个常见步骤:

*选择子集

*删除重复值

*缺失值处理

*一致化处理


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 157,012评论 4 359
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 66,589评论 1 290
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 106,819评论 0 237
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,652评论 0 202
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 51,954评论 3 285
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,381评论 1 210
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,687评论 2 310
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,404评论 0 194
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,082评论 1 238
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,355评论 2 241
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 31,880评论 1 255
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,249评论 2 250
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,864评论 3 232
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,007评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,760评论 0 192
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,394评论 2 269
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,281评论 2 259

推荐阅读更多精彩内容