暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

MySQL DATABASE定义

艾迪迩 2021-04-19
437

01

---------------

前言


MySQL在初始化之后就会有一些系统数据库[在稍后的代码块会有描述],他们在MySQL生命周期中发挥着很重要的用途。另外,数据库的创建将会在数据文件夹下以数据库的名字再创建一个子文件夹,默认情况下,属于该数据库的所有对象都存储在这里。在创建对象的语句中,使用"[A]"括起来的表示A是可选的,使用"{A|B}"表示从A或B中选择一个;在MySQL中,DATABASE和SCHEMA代表一样的意思,但主要使用的是DATABASE。


02

---------------

对象创建

在数据库部署好之后,接下来就是创建数据库了,创建语法如下:
    CREATE {DATABASE|SCHEMA} [IF NOT EXISTS] db_name
    [create_specification]...
        create_sprcification: # 确定数据库具有的特性  [DEFAULTCHARACTER SET [=] charset_name # 字符编码规则
      [DEFAULTCOLLATE SET [=] collation_name # 字符校对规则
    # 创建数据库的实例
    mysql> CREATE DATABASE IF NOT EXISTS my_db
    -> DEFAULT CHARACTER SET = UTF8
    -> ;
    Query OK, 1 row affected (0.00 sec)
    mysql> SHOW DATABASES;
    +--------------------+
    | Database |
    +--------------------+
    | information_schema | # 系统数据库
    | my_db | # 刚刚创建的数据库
    | mysql | # 系统数据库
    | performance_schema |    # 系统数据库
    | sys                |    # 系统数据库
    +--------------------+
    5 rows in set (0.00 sec)
    成功运行上面的语句后,将会在数据文件夹下新建一个子文件夹,并且命名为"my_db",然后在my_db 子文件夹下新增一个db.opt文件,如下面的代码块所示:

      # 查看刚才创建的数据库子文件夹
      root@ubunt:/# ls var/lib/mysql/ | grep my_db
      my_db # 与数据库名字同名的子文件夹
      root@ubunt:/# ls var/lib/mysql/my_db
      db.opt # 子文件夹内的文件
      root@ubunt:/# vim var/lib/mysql/my_db/db.opt
      default-character-set=utf8 # db.opt 文件内包含的内容
      default-collation=utf8_general_ci # db.opt 文件内包含的内容



      03

      ---------------

      对象更新

      如果需要对已经创建好的数据库进行更新,可以使用下面的语法:
        # 语法1,可以不指定db_name
        ALTER {DATABASE|SCHEMA} [db_name]
        alter_specification...
        alter_specification:
        [DEFAULT] CHARACTER SET [=] charset_name # 字符编码规则
        [DEFAULT] COLLATE SET [=] collation_name # 字符校对规则
        # 语法2,指定db_name
        ALTER {DATABASE|SCHEMA} db_name
        UPGRADE DATA DIRECTORY NAME
        mysql> ALTER DATABASE my_db
        -> CHARACTER SET = latin2; # 将字符集由utf8更新成latin2
        Query OK, 1 row affected (0.13 sec)
        # 更新之后的db.opt文件内容
        root@ubunt:/# vim var/lib/mysql/my_db/db.opt
        default-character-set=latin2
        default-collation=latin2_general_ci
        上面的更新语句可以将数据库定义时存储在db.opt中的特性进行更新
          # 更新前的db.opt文件内容
          root@ubunt:/# vim /var/lib/mysql/my_db/db.opt
          default-character-set=utf8 # db.opt 文件内包含的内容
          default-collation=utf8_general_ci # db.opt 文件内包含的内容
          # 更新后的db.opt文件内容
          root@ubunt:/# vim /var/lib/mysql/my_db/db.opt
          default-character-set=latin2
          default-collation=latin2_general_ci


          04

          ---------------

          对象删除

          当数据库被确认不在使用时,可以将其删除,执行删除操作的语法如下:
            DROP {DATABASE | SCHEMA} [IF EXISTS] db_name;
              mysql> DROP DATABASE IF EXISTS my_db;
              Query OK, 0 rows affected (0.19 sec)


              mysql> SHOW DATABASES;
              +--------------------+
              | Database |
              +--------------------+
              | information_schema |
              | mysql |
              | performance_schema |
              | sys |
              +--------------------+
              4 rows in set (0.01 sec)



              最后修改时间:2021-04-19 12:13:01
              文章转载自艾迪迩,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

              评论