美文网首页
MySQL基础(2)——数据库操作

MySQL基础(2)——数据库操作

作者: 小奚有话说 | 来源:发表于2017-08-14 16:38 被阅读83次

    在SQL中数据库定义语言也叫DDL(Data Definition Language),主要用来创建或删除数据库,添加索引等操作。

    创建数据库

    下面给出创建数据库的定义语句:

    CREATE {DATABASE|SCHEMA} [IF NOT EXISTS] db_name [[DEFAULT] CHARACTER SET [=] charset_name];
    

    来解释一下:


    1. 在{}里的内容是必需的,而[]里的内容是可选的。所以创建数据库最简单的语句如下:
    CREATE DATABASE db_name;
    

    在MySQL中DATABASE和SCHEMA可以看做是一样的,并且在写SQL语句的时候,最好是将SQL命令大写,其他内容像db_name等小写比较好。

    1. 如果创建数据库时,数据库已经存在,这个时候MySQL就会出现错误提示,这个时候[IF NOT EXISTS]就很有必要了,当数据库不存在的时候,就创建数据库,当数据库存在的时候,只会出现警告而非错误。
    2. 创建数据库可以设置数据库的编码方式,如果不设置就使用默认设置。如果没有改默认的编码方式,那么window上默认的应该是gbk,mac上默认的是latin1

    示例:

    mysql> CREATE DATABASE IF NOT EXISTS test CHARACTER SET 'UTF8';
    Query OK, 1 row affected (0.00 sec)
    
    查看数据库

    查看MySQL中有哪些数据库,可以通过以下命令:

    SHOW {DATABASES|SCHEMAS};
    

    示例:

    mysql> SHOW SCHEMAS;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | mysql              |
    | performance_schema |
    | sys                |
    | test               |
    +--------------------+
    5 rows in set (0.00 sec)
    
    查看数据库库定义

    有时候时间长了,忘记了某个数据的编码方式,可以查看数据库的定义

    SHOW CREATE {DATABASE|SCHEMA} db_name;
    

    示例:

    mysql> SHOW CREATE DATABASE test;
    +----------+---------------------------------------------------------------+
    | Database | Create Database                                               |
    +----------+---------------------------------------------------------------+
    | test     | CREATE DATABASE `test` /*!40100 DEFAULT CHARACTER SET utf8 */ |
    +----------+---------------------------------------------------------------+
    1 row in set (0.00 sec)
    

    通过这条语句就可以轻松的查看数据库的定义了。

    修改数据库编码

    有时候创建数据库之后才想起来没有修改数据库的编码,这个时候修改数据库编码就需要用到ALTER命令了

    ALTER {DATABASE|SCHEMA} db_name [DEFAULT] CHARACTER SET [=] charset_name
    

    简单的示例:

    mysql> ALTER DATABASE test CHARACTER SET 'UTF8';
    Query OK, 1 row affected (0.00 sec)
    
    删除数据库
    DROP {DATABASE|SCHEMA} [IF EXISTS] db_name;
    

    删除数据库需要用到DROP字段,同样的使用[IF EXISTS]为了防止当数据库不存在时,MySQL删除出现错误提示。

    mysql> DROP DATABASE IF EXISTS test;
    Query OK, 0 rows affected (0.00 sec)
    

    数据库操作基本上就结束了。
    在MySQL中是不区分大小写的,例如将上述SQL语句中的db_name该为大写,也是可以的。
    例如你创建了一个名叫test的数据库,然后删除的时候使用TEst,这样是否可行呢?

    mysql> CREATE DATABASE test;
    Query OK, 1 row affected (0.00 sec)
    
    mysql> SHOW DATABASES;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | mysql              |
    | performance_schema |
    | sys                |
    | test               |
    +--------------------+
    5 rows in set (0.00 sec)
    
    mysql> DROP DATABASE TEst;
    Query OK, 0 rows affected (0.00 sec)
    
    mysql> SHOW DATABASES;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | mysql              |
    | performance_schema |
    | sys                |
    +--------------------+
    4 rows in set (0.00 sec)
    

    看这是可行的。但是还是尽量的按照MySQL命令大写,自定义名称小写的形式来编写SQL语句。

    相关文章

      网友评论

          本文标题:MySQL基础(2)——数据库操作

          本文链接:https://www.haomeiwen.com/subject/yapurxtx.html