MySQL的数据库有关操作

大家好,这次给大家带来的是我的新的专栏:数据库,数据库相对来说难度不是那么高,大家只要勤加练习、熟记语法,我相信学好数据库不是什么问题,博主会从0剖析,逐步讲解数据库的知识点,并且会举很多实例。最重要的是,博主不会采用软件,使用最原始的方式 -> 命令行来讲解,这样讲解的好处是逐个语句进行书写,不会造成读者思路跟不上的问题!
👀QQ:162196770
👀微信:PRIDE_Xu_
👀Gitee:https://gitee.com/jialebihaitao
👀上一篇博客传送门:
👀下一篇博客传送门:
👀文章专栏:
👀B站:建设中,以后会考虑在B站上讲解一些知识点等等
内容

1、数据库的操作

1.1 显示当前的数据库

显示出当前服务器上都有哪些数据库(或者哪些数据集合)

语法:

show databases;

image-20220423120012212

注意:

  1. databases是复数
  2. showdatabases之间要有空格(几个无所谓,但是不能没有!)
  3. SQL语句基本都是以;结尾的
  4. SQL语句不区分大小写
  5. 默认自带的数据库,不要乱动!把数据库搞坏了就不好玩了~

1.2 创建数据库

语法:

create database [if not exists] 数据库名 [创建规则];

image-20220423121057049

注意:

  1. 以后所有的[]都是不用必须输入的,这个[]代表可选项(可写可不写);

  2. 数据库的名字只要不是关键字的名字即可(其实也可以创建以关键字为名字的数据库,用反引号即可,即这个符号包裹住就行(位置在Tab上方,1的左面,Esc的下面)),但是要注意:不能在一个服务器上 创建出多个同名的数据库

    image-20220717230055091

  3. if not exists的作用是只要不存在才去创建,其实不加也可以

    使用场景:你发给别人一段SQL,但是你不知道他的电脑上有没有对应的数据库,所以就选择如果没有才去创建这种方式.人家已经创建好的,咱们就不要瞎弄了

  4. 这里面的database是单数

  5. 创建规则:创建数据库可以指定字符集和校验规则

    1. 校验规则 : 描述了当前字符之间的比较方法

      比较字符串的相等 / 大小关系(比如我们有时候希望忽略大小写)

      使用场景不多 , 我们一般很少手动进行干预 , 一般使用默认的校验规则就可以了 .

    2. 字符集 :

      create database test character set utf8mb4;
      

      image-20220423122207855

      这里面的utf8mb4是怎么回事呢?

      首先,我们先来思考一下,计算机是如何保存字母的?

      ASCII码:通过数字,来表示字母。数字和字母的一一对应的关系,就成为ASCII码表

      但是ASCII是不包含中文的,所以现在常用的是两个版本

      1. GBK

        2个字节来表示一个汉字

        Windows简体中文版默认的字符编码

      2. UTF-8:被视为"世界通用的字符编码"

        UTF8变长编码:一个汉字,用几个字节表示,是不确定的.

        一般是3个字节表示一个汉字

      本质上,就是用数字表示各种语言文字的符号等,所对应的大表格,这个映射关系就叫做"字符集"

      那么上面的utf8mb4是怎么回事呢?

      utf8mb4其实就是比utf8多了一些特殊符号,比如emoji表情。设置成utf8也没啥事

      那么我们在之前学过这样一个东西

      char* s = "嗨";
      printf("%d\n",strlen(s));
      
      //那么请问,一个汉字占几个字节
      //通过刚才对GBK以及UTF8的讲解,我们可以得知:
      //需要先确认是哪种字符编码
      //	GBK  ->  2个字节
      //	UTF8 ->  3个字节1
      
  6. 执行这条SQL操作所耗费的时间:我们可以看到刚才的图片,运行时间是0.03sec,这相对于计算机,其实是一个非常慢的速度

    给大家介绍以下计算机常用操作的时间:

    访问网络:s~ms

    访问磁盘:ms~us

    访问内存:us~ns

    操作CPU:ps

    注意:这个换算是1000,不是1024。别混了

    数据库往往是比较慢的环节,大型项目容易在这里面出问题。

1.3 使用数据库

在针对数据库进行一系列操作之前,我们必须要先选中数据库

语法:

use 数据库名;

image-20220423122258965

使用数据库这条语句,不加;也能执行.但是不推荐这样,在SQL中,有些语句可以不加;,但是有些语句就必须加;,所以我们就统一都加;,让你看到哪条SQL语句没加;你也不要奇怪

image-20220717230914716

1.4 删除数据库

这个操作嗷嗷危险!!!千万不要在公司的服务器上进行删库操作 .

语法:

drop database 数据库名;

image-20220423122523736

其实可以找回,但是比较麻烦了。

可以开启MySQLbinlog功能,每次针对数据库进行的操作,都会被记录到binlog中。万⼀数据被毁,可以重新把binlog中的所有操作再导入⼀遍,但是这里面的内容不够全

分割线

那么是否有办法,避免生产环境中的数据被删除呢?

  1. 权限控制:提供管理员权限,只能管理员才能进行删除

    产生了一个职业 : DBA 数据库管理员

  2. 备份一份副本:一旦被删除,还有后路

    那么是否有可能权限控制也失效了,备份也都被删除了呢?那当然有可能,那就不是“误删”了,是故意的了,就会被送到一个包吃包住的好地方去了。

  3. 恢复硬盘数据 :

    image-20220718093327552

1.5 扩展:cmd当中的小操作

  1. 按住键盘上键下键就可以找历史命令(省点劲)
  2. 复制粘贴:选中内容,回车复制,右键粘贴

1.6 公司中会涉及到的环境(题外话)

  1. 办公环境:入职的时候,公司给你发的电脑(当然也有少数公司,会自己让你带电脑->基本快跑,离得远远的),会通过这个电脑进行日常办公。基本配置也就是8核CPU 16G内存 512G硬盘

  2. 开发环境:一般是以服务器的形式来提供的,办公电脑通过网络的连接到服务器。这个服务器端对应的设备一般都是大约在16核CPU 64G内存 4T硬盘

    有些项目跑起来是非常消耗资源的,一启动内存整不好就吃掉了几十个G,甚至上百G。用你自己的办公电脑当然是带不动的。

    如果开发的程序比较小,这个时候就可能没有开发环境了,就可以直接用办公电脑开发 .

    一般都是公司把过了保修期的设备拿来给程序猿作为"开发环境"

  3. 测试环境 : 测试的员工针对要测试的程序使用的环境 , 使用的机器基本也都是过了保修期的机器

  4. 线上环境/生产环境:也是服务器的形式来提供的,也需要通过办公电脑的网络远程去连接。配置要很好,大约56核CPU 256G/512G内存 若干T硬盘

    生产环境,实际上就是给外面的用户提供服务的环境,千万不能挂!

    挂了会造成重大资源损失的

那么MySQL服务器基本会出现在上面的 2 3 4 环境中 , 要是误删了 2 3 环境里面的数据库 , 其实相对来说情况还好 , 同事们加加班也就抢救回来了 , 基本要被很多人骂的 . 但是一旦你不小心删除了 4 也就是线上环境里面的数据库 , 那么就完蛋了 . 外面的用户会感受到直接的影响 , 大概率会导致用户流失 , 吃官司等等 . 严重的会引起重大的安全事故 !

评论 18
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

加勒比海涛

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

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

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

打赏作者

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

抵扣说明:

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

余额充值