关于MySQL的基础知识

MySQL开始是sun公司推出的一款中小型的关系型数据库,免费。后来sun被Oracle收购,MySQL也落入了Oracle的魔爪之中,好像从5.7以后就不再免费了。当然这个不是重点,因为即使如此,还是有很多的朋友喜欢MySQL,除此之外,MySQL经过优化之后是可以胜任“重要任务”的。如果没有记错的的话,你们的马云爸爸好像就在使用MySQL集群。那么今天,我就简单的说一下自己了解的MySQL。由于是重新写博客,所以立个flag(因为之前写过,不过觉得不怎么好,就全部删除了)。这是什么flag呢?就是我没有疑惑的地方就简单的提一下,着重讲一下我在学习过程中疑惑的地方,不管是数据库也好,以后学习其他的也好,都会遵循这个原则。(对了,那个Linux下的mariadb其实是MySQL的变种)。

1 数据库的安装(自行百度)链接:https://pan.baidu.com/s/1ScEfQLWc3_QVsrcEsvExdg 密码:8zzp(提供了5.5的版本,这个是我的网盘,本人有喜欢收集软件的习惯(这和《刺客五六七》里面的内裤男喜欢收集女士内裤是一样的心态)。顺便留一下我的QQ:578856181,有什么需要的可以联系我)。

2 数据库的结构:简单的来说数据库就是存放数据的地方(这他妈不是废话吗)。对于数据库而言,并不直接存放数据,例如你们喜欢的某某同学的信息什么的,它存的是数据表,数据表里面存的才是具体的信息,例如今天早上的白菜价格。有图有真相,来个图先。那我们刚刚也说了“关系型数据库”,为什么是关系型?什么是关系型?数据表就是关系:数据和数据之间的关系!

一会说表的时候会再次提到这个不是很沉重的话题。

3 数据库的启动:自行百度!

4 数据库的语言:SQL  (结构化查询语言)总的来说SQL分为四大类(也有人说三大类,这个不重要):ddl(数据定义语言)。dml(数据操作语言),dql(数据查询语言),dcl(数据控制语言)。具体什么含义,这个真的要百度了,不过我真心觉得没有必要弄这些人为的,没有意义的划分。

5 数据库的创建:create database dbName;这个是最简单的版本,也就是全部采用默认的方式创建一个数据库,数据库名是dbName;同时可以指定字符编码:create database dbName character set utf8;指定utf8为所用编码;编码有什么用?现在没什么用,但是遇见乱码了就有用了。以后遇见再说。

6 查看数据库:show databases;


这个是查看当前机器里都有哪些数据库,这个是我的。如果说我们要查看数据库创建时的信息或者说创建语句怎么办呢?show create database dbName;


7 数据库的删除:drop database dbName;


8 当我们刚刚进入数据库的时候,是不能创建表的!为什么呢?因为没有选择要使用的数据库,就好像你要减肥,但是你就是不愿意下床,想一下,你都没有在可以减肥的地方,怎么减肥?那么怎么选择数据库呢?easy!:use dbName;这就可以了!这个需要截图吗?不要了把,好不好?

9 表的操作 在说表的操作之前,有一些必修课,我先简单的说一下,因为我也是水平有限,你懂的(在校学渣一枚,能有什么见解?)。这个重要的知识点就是存储类型!!!我假设你已经学过一门语言了,(那个说"汉语算不算的?",你过来,我保证不打死你),语言里面有类型,有些语言是强类型(c,Java,c++),而有些语言是弱类型的(python,js),和计算机语言一样,数据库也有自己的类型,而且不同的数据库,类型还有差别!!!MySQL里面的语言如下(图是我找的,不是原创,希望不会侵权)



我相信,这些类型大家应该都可以理解。理解不了?自行百度!我要说的应该也是绝大多数人的疑惑,就是关于日期时间的类型。有以下几点需要注意1:表示范围不同  2:插入数据要用单引号包围,而且里面的分割符可以混用(我不知道是不是所有的混用都可以,但是我觉得应该不会有傻逼这样做)。第一点一会说,第二点我会简单的举例说明。


上图测试riqi表:date类型,前两组数据插入正常,但是同样的格式,第三组失败,为什么?因为日期根本不合理(不存在)。

其他的可以自行测试。

再说一下范围,这个我直接找一个粘过来:

DATETIME类型用在你需要同时包含日期和时间信息的值时。MySQL检索并且以'YYYY-MM-DD HH:MM:SS'格式显示DATETIME值,支持的范围是'1000-01-01 00:00:00'到'9999-12-31 23:59:59'。(“支持”意味着尽管更早的值可能工作,但不能保证他们可以。)

DATE类型用在你仅需要日期值时,没有时间部分。MySQL检索并且以'YYYY-MM-DD'格式显示DATE值,支持的范围是'1000-01-01'到'9999-12-31'。

TIMESTAMP列类型提供一种类型,你可以使用它自动地用当前的日期和时间标记INSERT或UPDATE的操作。

TIME数据类型表示一天中的时间。MySQL检索并且以"HH:MM:SS"格式显示TIME值。支持的范围是'00:00:00'到'23:59:59'。

10 表的创建:刚刚都已经说了插入,现在还说创建,这个顺序希望别太介意,因为你介意的话,我也不在乎!!表的创建和数据库的创建有很大的相似处,都是使用create关键字,具体:create table tableName(字段 类型  约束,字段 类型 约束,....,);最后一个逗号是不需要的。各部分具体含没必要扯了,太简单了,关于约束,大家需要明白:这个就是主外键什么的,能否为空,默认值乱七八糟的东西。

11 数据插入:insert into tableName(字段,字段。。。) values(v1,v2,....);这个属于“局部插入”,就是只插入部分或者全部数据。有一个简单的但是需要全部插入的:insert into tableName values(..........);按照顺序对应好即可。不难,但是需要多加练习!

12 数据表修改:



就演示这一个把,太他妈多了,不过都很简单!顺便说一下删除表:drop table tableName;

13 数据的修改



到此为止!!!!查询请看下回!!!文章没有权限,随便转载,随便爱干什么干什么!知识共享!!!

猜你喜欢

转载自blog.csdn.net/jokerlance/article/details/80956902