zoukankan      html  css  js  c++  java
  • (2.3)学习笔记之mysql基础操作(表/库操作)

     本系列学习笔记主要讲如下几个方面;

    本文笔记【六:表操作--线上可以直接删除表吗?】

      

    附加:库操作

    【1】创建制定字符集的数据库

    需求描述:

      在创建DB的时候指定字符集.

    操作过程:

    1.使用create database语句创建数据库

    mysql> create database if not exists test03 default character set = 'utf8';
    Query OK, 1 row affected (0.00 sec)

    备注:通过default character set = 语句来指定DB的字符集.

    2.查看创建的DB的字符集

    复制代码
    show create database test;



    【2】 select schema_name,default_character_set_name from information_schema.schemata where schema_name = 'test03'; +-------------+----------------------------+ | schema_name | default_character_set_name | +-------------+----------------------------+ | test03 | utf8 | +-------------+----------------------------+ 1 row in set (0.00 sec)

    #字符集更改步骤~
    
    
    复制代码

       

     六、表操作--线上可以直接删除表吗?

       当然不可以啦~

      

      很明显表删除要经过6个步骤;

      (6.1)查看表

        【1】use database_name;  【2】show tables;

      (6.2)检查表是否被访问

        【1】show processlist;(如下图就表示有操作在使用该表,此时就就不能操作,没有被访问才可以继续下一步)

         

      (6.3)重命名表

        【1】需要绝对的占用表控制权,没有其他操作访问(一般最好是停机情况下,否则线上业务哪有不用表的,除非是备份表)

        【2】开始重命名:rename table1 to table1_bak;   

        为什么要这样?

        (1)重命名,不占原本表名称以便可以建立新表。也是为了防止线上业务起来之后再去使用该表,重命名了业务访问就会报错。  

        (2)作为一个DBA从来都不是把数据给玩死了,而是有备无患,老板和客户没有想到的,我们一定要提前想好,万一后悔了或者需要用到这部分数据了,就可以直接线上构建和使用这部分数据。

      (6.4)备份表数据

          

          把表数据备份成sql。

      (6.5)删除表

        

        确定该表不需要用到了,就可以删掉它了,避免占资源。就算后续又想要了,上面做了备份,可以用来还原~

      (6.6)查看表是否删除成功

        

      (6.7查看表结构)

        desc table_name;

        

  • 相关阅读:
    海量数据处理
    mysql数据导出
    手机归属地
    如何正确合理的建立MYSQL数据库索引
    Java 复杂excel报表导出
    NullpointerException真的一定要被预防?
    代码传递信息方式的探究
    ThreadLoacl的反思
    Codis分布式锁
    spring mvc:事务引起的try/catch失效
  • 原文地址:https://www.cnblogs.com/gered/p/9694591.html
Copyright © 2011-2022 走看看