【MySQL】MySQL数据库基础

前言:本篇博客介绍MySQL数据库基础,学习MySQL之前要先安装好MySQL,如果还没有安装的小伙伴可以点这里看一下这篇博客,里面有详细的安装教程。

【MySQL】MySQL安装与配置

那我们废话不多说,直接进入主体!

一、数据库的操作

首先我们在安装好数据库之后, 可以直接点击MySQL的命令窗口,也可以从cmd窗口进入,这里我们在cmd中进入,然后输入命令mysql -u root ip+密码进入mysql(下图马赛克部分为密码)

注意:当我们通过"SQL"来操作数据库的时候,此处我们说的数据库是在一个MySQL服务器上,所管理的是一个独立的数据集合。

就好像下图的描述:

也就是这三个表分别管理的学生信息,教职工信息,宿舍信息,这三组数据,从逻辑上关联是非常小的,也就是相互独立的。

接下来就正式进入我们的语句了。

1.显示服务器数据库

首先我们在进入到MySQL中,先需要做到就是查询,看看服务器上都有哪些数据库,所以这里的第一个命令就是查询数据库:show databases;

在这里我们输入show databases;之后显示的是这些数据库,这些是系统自带的数据库,然后我们也可以自己创建数据库,后面会有相关命令,这里要注意的是:

  1. 对于系统自带的数据库,不要轻易删除,容易把数据库搞凉。
  2. 输入的SQL命令,一般都是以结尾。
  3. SQL不区分大小写,个人习惯大小写都行。

2.创建数据库

既然上面只有系统自带的数据库,那么我们就要自己创建自己的数据库,创建数据库的命令就是:create database 数据库名;

比如说我们创建一个名字叫world的数据库:

这样子就创建好啦,我们再次查询一下有什么数据库的时候,就可以看见我们新建的数据库了:

然后我们这里也有要注意的点:

数据库的名字,可以随便取,但是前提是不能是SQL中的关键字,如果真的需要用到,就要用反引号括起来。(反引号键在键盘Tab上面,Esc下面)

比如说我要创建一个叫数据库的数据库:

而对于每一次执行语句后后面有一段:Query OK, 1 row affected (0.01 sec),其实意思就是操作成功!用时0.01s。这里的0.01s大家是不是觉得很快,实际上在计算机里面并不算是很快的,这里补充一个知识点:

计算机常用操作的时间大约是:

访问操作时间
访问网络s - ms
访问磁盘ms - us
访问内存us - ns
操作cpups

Tip:国际单位制词头经常与秒结合以做更细微的划分,例如ms(毫秒,千分之一秒)、μs(微秒,百万分之一秒)和ns(纳秒,十亿分之一秒)。


3.选中数据库

选中数据库的命令是use 数据库名,比如说:use world;

选中哪一个数据库并没有明确的提示,我们也可以多执行几次,多执行几次use 也是没有副作用的。

关于选中数据库也没啥好说的,就很简单的一个操作。


4.删除数据库

删除数据库的命令是drop database 数据库名,比如:drop database world;。注意!删库是非常危险的操作,一旦执行成功之后,此时数据大概率就恢复不了的,也就是凉凉了。在公司中切记要小心这种操作,“从删库,到跑路,再入狱”。

注意:删库是把里面的所有数据也删了。

同时,我们在写命令的时候有可能太长,或者需要分段好看一点,这个时候我们只要还没有打分号,回车就是换行继续写命令,比如下面的操作:

5 .创建的数据库存储位置

创建的库,一般存储在数据库安装目录里面,我们也可以通过查找得到,还是打开我们的服务,找到MySQL,右击属性,找到这个可执行文件的路径

然后找到这个路径复制,复制路径打开就可以找到一个data的文件夹,里面放的就是我们创建好的数据库啦。


二、常用数据类型

类似于excel,数据库中也是很多的数据表。在一个数据库中,可以有很多的数据表,每个数据表有很多行,每一行称为一条"记录",每一行又有很多列,每一列称为是一个"字段",像MySQL这样的数据库,就要求每一行这里的每一列都是一样的。然后为了描述数据表中的列的信息,创建数据表的时候需要指定的"表头",也就是数据类型啦,所以这里要介绍的是数据库的数据类型。

1.数值类型

分为整型和浮点型:

数据类型大小说明对应java类型
BIT[ (M) ]M指定位数,默认为1二进制数,M范围从1到64,存储数值范围从0到2^M-1常用Boolean对应BIT,此时默认是1位,即只能存0和1
TINYINT1字节Byte
SMALLINT2字节Short
INT4字节Integer
BIGINT8字节Long
FLOAT(M, D)4字节单精度,M指定长度,D指定小数位数,会发生精度丢失Float
DOUBLE(M,D)8字节Double
DECIMAL(M,D)M/D最大值+2双精度,M指定长度,D表示小数点位数。精确数值BigDecimal
NUMERIC(M,D)M/D最大值+2和DECIMAL一样BigDecimal

这里我们也展开说说:

首先是前面这几个数据类型:也就是下面这几个

这几个就是整形的一些范围不同的几个类型,具体大家应该也了解过,如果还没有了解过这些类型的取值范围,以及一些细节的同学,可以先看一下这篇博客:⭐变量与数据类型详解

然后是下面的浮点型float和double,这里比Java中多了两个参数,就是这里面的M和D,M指定长度,D指定小数位数。与此同时,我们这里有一个更好的表示小数的类型:decimal,decimal能够精确的表示小数。

为什么说是更好的呢?因为平时提到的float和double都是基于IEEE 754标准的,基于这套规则最大的问题就是对有些数字,不能精确的表示一个小数,比如在钱的方面,17.0000000002万亿,存储可能是17.0,并且float/double不能直接用==来比较,而要做差判断是否小于预期的误差范围。

这里讲一下decimal的例子:decimal(3,1)就表示这个数据类型是小数的,而且有效位数是三位,小数点后面一位。


2.字符串类型

数据类型大小说明对应java类型
VARCHAR (SIZE)0-65,535字节可变长度字符串String
TEXT0-65,535字节长文本数据String
MEDIUMTEXT0-16 777 215字节中等长度文本数据String
BLOB0-65,535字节二进制形式的长文本数据byte[ ]

对于字符串类型,我们基本上都用varchar,后面有一个size变量,根据实际情况来指定要占用多少空间,可以为我们节省空间,或者是是增大空间利用率。

比如:varchar(50)就是申请50个字符。


3.日期类型

在数据库中,也就是我们平时的数据中,都会涉及到日期,那么用什么类型来表示日期呢,有人说有字符串类型,当然是可以了,但是我们如果一不小心写错了日期,或者格式不对,也不知道错了。所以就有了下面的这些日期类型。

数据类型大小说明对应java类型
DATETIME8字节范围从1000到9999年,不会进行时区的检索及转换。java.util.Date、java.sql.Timestamp
TIMESTAMP4字节范围从1970到2038年,自动检索当前时区并进行转换java.util.Date、java.sql.Timestamp

大家是否学过TIMESTAMP的概念,也就苏时间戳。时间戳的概念就是:以1970年1月1日0时0分0秒作为基准时刻,来计算当前时刻和基准时刻的秒数/毫秒之差,到2038年,4个字节的TIMESTAMP就不够用了,类似于这样的问题,计算机一直存在。如千年虫,以前计算机表示年份只有2位,90年还行,91,92…到了00年,完蛋,所以电脑都sb了。

那么对于日期,我们用的就是datetime,比如:date datetime,这里只是作为展示,后面就会把这些数据类型都集合起来一起使用了。


三、数据表的操作

1.创建表

对于数据库中创建表的操作,命令是create table 表名(列名 类型,列名 类型),比如create table books(id int,name varchar(50));,注意:在创建表之前,要先选择数据库,也就是use 数据库。

我们来看一下:

这里的创建表中,我们可以拥有多个列,只需要后面再加上列名+类型就可以了,在指定列的时候,列名在前,类型在后。对于大部分编程语言,都是先类型后变量名,也有的语言定义变量是变量名在前,类型在后(Python,Go),这里还需要注意的一个点是,创建的表只是限制了列,行数不限,多少都行。


2.查找/查看表

查找表的命令是:show tables;

当我们创建完之后,或者使用完其他表之后,忘记了有哪些表或者忘记表名怎么办,这时候就用到我们的查找表,show tables;会展示这个数据库里面所有的数据表。

上面是查找表,也就是可以看见这个里面有什么表,但看不见表具体是啥样的,如果我们想看一些表里面的结构,就可以使用另一条命令:desc 表名;

比如desc books;

这里面就可以查看到,books里面有的列名,数据类型,还有其他信息,大概意思就是:


3.删除表

删除表这个操作也是很危险的!命令为 drop table 数据表名。比如drop table books;,这个操作也要谨慎执行,删了也有可能恢复不了的!


四、其他基本操作

1.注释

注释就是在后面写一段话表明这个代码的意思,但并不会执行。这里我们注释可以用几种方法来进行表示:

首先我们在数据库中创建一个数据表,

第一种:#annotate,就是在井号后面跟的内容都不作为命令执行,只是一行注释文字,下面是正常运行结果:

第二种:-- annotate,这里也是在–后面的就是注释,注意,这里的–后面有一个空格,然后再到注释,下面是运行结果展示:

这就是注释。

2.中断当前输出

在cmd中,ctrl+c是中断当前输出,也就是当你敲错了很多命令,或者不想执行这条命令的时候,直接ctrl+c就会跳转到查新输入命令的下一行:

3.关于输入不了中文

对于输入不了中文,是因为MySQL中的编码方式默认是拉丁文,需要修改的小伙伴可以看一下这篇文章,详细的说明了如何修改配置来让MySQL可以输入中文。⭐修改MySQL中的编码方式



这就是本篇MySQL数据库基础的全部内容啦,接下来就会进入到MySQL的增删改查了。欢迎关注。一起学习,共同努力!

还有一件事:

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

恒等于C

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值