作者简介

作者名:1_bit

简介:InfoQ签约作者,蓝桥签约作者。15-16年曾在网上直播,带领一批程序小白走上程序员之路。欢迎各位小白加我咨询我相关信息,迷茫的你会找到答案。

不懂写啥那就给大家表演个 MySql 吧

????小媛:bit哥你好久好久没写文了呢。????

????1_bit:对呀,是挺久了,bit哥最近穷死了在赚钱呢。

????小媛:现在呢?????

????1_bit:还是好穷。????

????小媛:既然还是好穷那就写写文怎么样?诈尸一下。????

????1_bit:说得好有道理。

????小媛:那就开始吧。

????1_bit:那我应该写什么呢?

????小媛:随便都可以,反正我觉得我都没学。

????1_bit:那就写MySql吧,一篇文解决Mysql。

????小媛:也行,那就上吧。

一、什么是 MySql

????小媛:所以,什么是MySQL?????

????1_bit:其实就是一个数据库,数据库的作用用来存储内容。

????小媛:啥意思?

????1_bit:就是你在做一个网站或者其他应用的时候,若需要使用到数据存储的服务,这个时候就需要用到数据库,将数据存储到这个数据库中。

????小媛:所以你的意思就是在数据库中存储数据,然后再在应用中使用这些数据?

????1_bit:是的,你看,是不是存储了你的账号信息,然后你可以登录,也可以发布文章,这些文章你在第二次登录的时候还存在。这就是因为这些数据存储在了数据库中,我们每次需要使用到这些数据的时候就通过数据库命令进行数据获取就可以了。

????小媛:我明白了,所以学习MySQL就是学习如何通过命令的方式调用数据库里面的内容吗?

????1_bit:是这个意思,MySQL是数据库的一种,其实现实中还存在很多数据库,但是有一部分流行的数据库是使用 SQL 命令作为数据获取、删除、改动、新增的,所以我们只需要学习一种基本上其他的数据库我们也可以很快的上手使用。

????小媛:原来如此,那就赶紧开始吧。????

二、懒办法安装MySQL

????1_bit:接下来我们就使用一些“懒鬼”的方式安装MySQL吧,我就是这样去做的。

????小媛:为什么要使用懒鬼的方式呢?

????1_bit:因为部分初学者可能会觉得MySQL的安装方式太多选项,怕安装错误总会感觉有点难。

????小媛:所以你说的方式是没有这些选项?

????1_bit:对的呢,我们现在直接去下载一个PhpStudy吧,这个是一个服务器的集成环境,但是超级简单我们直接傻瓜式安装就可以了。

????小媛:我搜索到了,网址是这个​​https://www.xp.cn/download.html​​。

????1_bit:对的,直接进去后直接下载 Windows 下的环境版本就可以了,毕竟你应该是 Windows吧?

懒办法1篇文10分钟快速入门MySQL增删查改_mysql

????小媛:当然,毕竟我也是大家经常说的 lowb winer,之前买了一台 Mac Air 用了半年 5000卖掉了。????

????1_bit:哈哈哈,主要是用不惯,还要打游戏的。

????小媛:是的,毕竟咱们比较low。????

????1_bit:开心就好。

????小媛:下载好了,我傻瓜式安装了,然后呢?

????1_bit:之后直接点击启动就可以了。

懒办法1篇文10分钟快速入门MySQL增删查改_数据库_02

????小媛:我应该还要做什么吧?

????1_bit:是的,你现在需要下载一个 sqlyog 之类的数据库管理软件,这样操作比较方便;我直接发给你吧,因为这个不是很好找。(找不到下载的同学私聊bit哥就好了)

????小媛:打开了然后呢?

????1_bit:点击新建后会出现点击确定。

懒办法1篇文10分钟快速入门MySQL增删查改_mysql_03

????1_bit:然后在密码那一栏输入 root ,默认密码是 root,最后点击链接就可以了。

懒办法1篇文10分钟快速入门MySQL增删查改_原力计划_04

三、懒办法与命令创建数据库

????小媛:接下来正式开始了吧?

????1_bit:对的,接下来就正式开始了。不过我们需要知道,常规数据库中比较重要的几个操作是增删查改。

????小媛:也就是增添数据、删除数据、查找数据和改动数据吧?

????1_bit:是的,我们这一篇文并不过多的涉及其他内容,就教会大家快速的使用数据库就ok了,别的就不讲了。

????小媛:你可真懒。????

????1_bit:我是项目实用主义,对于新手来说学会增删查改就已经可以做项目,没必要学习过多的内容,先入门数据库然后再扩展就行,不然就是增加了学习成本了。

????小媛:第一次见有人把水说成那么大义凛然。

????1_bit:你可以称呼我为懒狗。

????小媛:无脸无皮天下无敌。????

????1_bit:开始吧,现在我们使用命令创建数据库。

CREATE DATABASE testDB;

????小媛:??!!怎么是大写,看不懂。

????1_bit:那就变成小写吧,SQL 语言的关键字不区分大小写呢。

create database testDB;

????小媛:我输入到那个上面自动变成大写了。

懒办法1篇文10分钟快速入门MySQL增删查改_数据库_05

????1_bit:哈哈哈,慢慢习惯吧。

????小媛:我执行后显示了一行受到影响,可是我没看出来有什么变化呢。

????1_bit:你右键根部,然后刷新浏览器就可以了呢。

懒办法1篇文10分钟快速入门MySQL增删查改_mysql_06

????小媛:出现了。 ????

懒办法1篇文10分钟快速入门MySQL增删查改_sql_07

????1_bit:这就是你创建的第一个数据库了,接下来我们就可以使用这个数据库了。

????小媛:棒棒的,所以这个命令啥意思呢?

????1_bit:其实很简单的,整个创建数据库的命令是 ​​CREATE DATABASE testDB;​​​,其中 CREATE 是创建的意思,DATABASE 指什么东西,在这里 DATABASE 表示数据库,那么 ​​CREATE DATABASE​​ 就表示创建一个数据库;在这个命令后添加一个名称,那么就是创建一个数据库叫什么名字,然后使用分号作为结束就ok了。

????小媛:唔,真简单。

????1_bit:我们再介绍一下懒办法。

????小媛:你的意思是通过这个软件进行创建吧?

????1_bit:真聪明,其实在可视化界面中直接手动创建是比较方便的,右键根部,然后选择创建数据库就可以了。

懒办法1篇文10分钟快速入门MySQL增删查改_数据_08

????小媛:然后出现一个创建数据库的选择,字符集是用来干什么呢?????

懒办法1篇文10分钟快速入门MySQL增删查改_mysql_09

????1_bit:这个呀,你可以理解为一个编码方式,如果你选择 utf8就可以让这个数据库“存储中文”,因为这个涉及到编码之类的内容就不在这里讲解了呢,排序规则在此也不作介绍,因为这样选择后基本上不会让你存在什么使用问题了。

????小媛:明白了。

四、懒办法与命令创建数据库表到数据库

????1_bit:接下来我们需要创建一个数据库表作为数据存储的表格。

????小媛:不是已经有数据库了,为什么还需要创建数据表呢?

????1_bit:我们可以理解数据库为一个大的数据厂房,然后里面每一个表就是这个厂房不同的房间,我们再这些房间中放不同类型的数据。

????小媛:唔,你意思说数据库表其实才是数据真正存储的地方是吧?

????1_bit:可以这么说,所以接下来我们使用命令开始创建数据库表吧。

????小媛:赶紧说命令。 ????

????1_bit:然后在命令框中输入如下的命令。

CREATE TABLE student
(
id INT(11) PRIMARY KEY AUTO_INCREMENT,
nickname VARCHAR(25),
sex VARCHAR(25),
height VARCHAR(25),
weight VARCHAR(25)
);

????小媛:这是啥意思?

????1_bit:这就是创建一个表了,其中 CREATE就表示创建,TABLE表示表格,那么连起来就是创建表格,student 是表示创建表格的名词。

????小媛:明白了,那下面是什么呢?

????1_bit:下面的内容其实就是这个表的字段,字段你可以理解成这个表要存储什么内容,这些内容是什么。

????小媛:你是说那个圆括号内的那些是吧?

????1_bit:对的,在这里我要存储一个学生类型的数据,那么所需要的存储的信息有很多,在这里我用 nickename 表示昵称、sex 表示性别、height 表示身高、weight 表示体重。

????小媛:那 id 呢?

????1_bit:id 你可以理解成这个表的对于某个学生的标识,在这里每个 id 都是唯一的,因为这些 id 会进行自增,也就是说在这个表中每添加一条数据,若之前 id 值最大为 10,那么新增的这一条数据就会变成 11,并且我们在传入值进行存储的时候并不需要指定这个字段。

????小媛:那我之前数据库里面有 11 条数据,我全部删除完毕后再新增数据这个 id 会怎样呢?

????1_bit:那么新数据的 id 就会从 12 开始,这个和删除了的数据无关。

????小媛:知道了。

????1_bit:并不是每一条数据都会进行自增的,这个主键需要自己设置,例如在这一条中,id 是主键,他的命令是 ​​id INT(11) PRIMARY KEY,​​​;其中 id 是这个主键的名称,随后的 INT表示这个字段的类型是整数类型,(11) 括号中的 11 表示这个字段最大长度为 11,随后的 ​​PRIMARY KEY​​ 表示主键的意思;那么连起来就是创建了一个名称为 id 的整数类型的字段,这个字段是主键,而 AUTO_INCREMENT 表示这个字段值会自增,最后使用逗号分隔每个字段的设置。

????小媛:那之后的命令呢?????

????1_bit:后面的命令都类似,开头为这个字段的名称,我们以 ​​nickname VARCHAR(25),​​​为例。nickname 是一个字段名,之后的 ​​VARCHAR(25)​​ 中 VARCHAR 是字段类型是字符串,最大长度为 25。

????小媛:挺简单的,明白了。

????1_bit:其实我们还可以为这些字段设置一些约束。

????小媛:约束是啥意思?

????1_bit:约束其实你可以当成这个字段的一些默认设置,例如这个字段是否必填。

????小媛:那怎么做呢?

????1_bit:例如下面的这个命令。

CREATE TABLE student
(
id INT(11) PRIMARY KEY AUTO_INCREMENT,
nickname VARCHAR(25) NOT NULL,
sex VARCHAR(25),
height VARCHAR(25),
weight VARCHAR(25)
);

????小媛:你是说 NOT NULL 就是不能为空的意思了吗?

????1_bit:对的,简单吧。

????小媛:简单的方法怎么做呢?

????1_bit:右键当前数据库中的表点击创建表。

懒办法1篇文10分钟快速入门MySQL增删查改_sql_10

????小媛:确实挺简单的,直接输入要做的就可以了,最后点击保存就ok了。

懒办法1篇文10分钟快速入门MySQL增删查改_数据库_11

????小媛:所以那个引擎怎么搞?????

????1_bit:这个呀,因为在数据库中不同引擎有不同的特性呢,在这里我们选择InnoDB或者不选使用默认的就ok了,这个我们暂时不需要了解。

????小媛:ok,明白了。

五、懒办法与命令插入数据到表

????1_bit:接下来我们学习一下怎么增加数据。

????小媛:怎么增?当然是使用命令增,赶紧的别水。

????1_bit:这个时候我们要对某一个数据库进行数据插入操作,第一步需要点击一个数据库表,在这里我们点击以及创建好的 student。

懒办法1篇文10分钟快速入门MySQL增删查改_原力计划_12

????小媛:然后呢?

????1_bit:然后输入如下命令。

INSERT INTO student (nickname,sex,height,weight) VALUES ('Gates', 'nan', '150', '150')

????小媛:唔,insert 是插入的意思吧?

????1_bit:对的,insert into 就表示往哪个数据库表插入数据。

????小媛:所以 student 就是表名?

????1_bit:是的,在student后的圆括号中,nickname,sex,height,weight 这些都是需要插入值得字段,然后 VALUES 之后的圆括号中的 ‘Gates’, ‘nan’, ‘150’, ‘150’ 就是需要插入到这些字段的值。

????小媛:这些值是一一对应的?????

????1_bit:是的,Gates 对应插入到 nickname 中、nan对应到 sex 之中,这些都是字符数据,所以需要使用引号引起来。

????小媛:明白了。

????1_bit:如果你觉得懒,你可以删除 (nickname,sex,height,weight) 这一列,然后按照数据库字段的默认顺序往里面插入值。

????小媛:你说的是这个顺序?

懒办法1篇文10分钟快速入门MySQL增删查改_数据_13

????1_bit:然后 id 就是第一个、nickname就是第二个以此类推。

????小媛:所以我要写成这样?

INSERT INTO student VALUES (3,'Gates', 'nan', '150', '150')

????1_bit:是的,所有值你都需要列出来。

????小媛:明白了。我输入完毕后点哪里呢?

????1_bit:点击工具栏就可以了。

懒办法1篇文10分钟快速入门MySQL增删查改_mysql_14

????小媛:ok了,成功的插入数据了。

????1_bit:这个时候你直接选择表,然后点击表数据就可以查看表中的内容。

懒办法1篇文10分钟快速入门MySQL增删查改_数据_15

????小媛:了解。现在开始懒方法了吧?

????1_bit:你直接在表数据的列中输入数据就可以了。

懒办法1篇文10分钟快速入门MySQL增删查改_原力计划_16

????小媛:唔…意想不到的答案。????

????1_bit:哈哈哈。

六、懒办法与命令在表中删除数据

????1_bit:知道了创建数据库、创建表、新增数据那么接下来的删除数据也非常简单了。

????小媛:那该怎么做呢?

????1_bit:那就是下面这个命令了。

DELETE FROM student WHERE id = 3

????小媛:所以 delete 就是删除的意思,然后 from 就表示从哪个表进行删除吧?

????1_bit:是的,在这里表示从 student 这个表进行数据删除,后面的 where 表示一个条件,这个条件就是 id=3,意思是 id 为 3 的这一条数据。

????小媛:明白了,然后运行程序后,刷新数据后确实删除这一行的数据不在了呢。

懒办法1篇文10分钟快速入门MySQL增删查改_数据_17

????1_bit:若你想删除nickname 为 Gates 的这一条数据只需要直接改一下条件就ok了。

DELETE FROM student WHERE nickname='Gates'

????小媛:执行了,在这里显示了 2 行受到了影响,那意思就是我删除了 2 行数据。

????1_bit:是的,这个时候你会发现数据就还剩一条了。

懒办法1篇文10分钟快速入门MySQL增删查改_sql_18

????1_bit:懒方法也超级简单,直接在想删除的那一行中选中,随后点击删除按钮就ok了。

懒办法1篇文10分钟快速入门MySQL增删查改_原力计划_19

????小媛:解决。

七、懒办法与命令在表中改数据

????1_bit:改数据也超级简单。

UPDATE student SET nickname = 'Lucy' WHERE id = 5

????小媛:所以这一条的命令中 update 就表示数据进行更新,student 就是说要更新的数据库表,而 set 后的 nickname =‘Lucy’ 就表示要重新设置的字段内容,where 就是表示哪一行数据,在这里选择的是 id 为 5 这一行对吧?

????1_bit:对的,超级简单吧。

????小媛:是这么回事,我好想理解了数据库中的命令其实就是知道了关键字进行固定语法操作就ok了。

????1_bit:是的,笨方法就是直接在数据库数据中进行修改就ok。

懒办法1篇文10分钟快速入门MySQL增删查改_mysql_20

七、懒办法与命令在表中查数据

????小媛:查数据我觉得应该也很简单。

????1_bit:你看下面命令吧。

SELECT * FROM student;

????小媛:select 是表示查数据,from 表示从哪一个表,在这里 student 表示需要查询的表,但是 * 号表示什么呢?

????1_bit:* 号表示你需要的数据,如果是 * 号就表示所有数据,你也可以列出你需要的字段名,这个时候查询后就会显示这些字段的数据,就不会显示其他的了。

????小媛:是不是这样就会显示 nickname 和 sex 字段数据了?

SELECT nickname,sex FROM student

????1_bit:是的,你也可以给查询加一个条件,例如你要查询nickname叫做 ffff 的数据就可以写成如下命令。

SELECT nickname,sex FROM student WHERE nickname='ffff'

????小媛:后面的 where 就是条件对吧?

????1_bit:是的,结果如下。

懒办法1篇文10分钟快速入门MySQL增删查改_数据库_21

????小媛:明白了。

????1_bit:你也可以添加多个条件,例如还有一个条件是需要 sex 为 nv 以及 height 为 111 的数据,这个时候你就可以使用 and 进行条件的设定。

SELECT nickname,sex FROM student WHERE nickname='ffff' AND sex='nv' AND height='111'

????小媛:明白了,挺简单的,哈哈哈。????

????1_bit:这样基础就学会了,增删查改走天下,其实自己做一下小应用基本上学会这个基本就ok了,剩下的你现在已经入门之后就遇见了就去查怎么用就好了。

????小媛:明白了,这篇文也写完了吧。

????1_bit:对的,又水了一篇文,下篇文再见吧。

????小媛:想学什么方向的快如入门都可以在评论区留言哟。

????1_bit:非常感谢大家支持了。