MySql 增、删、改、查数据库

前言

之前几天写了MySql 的GROUP BY 语句和 JOIN 语句,今天补一下创建数据库、表的语句。首先假设已经暗转好MySQL 数据库,然后创建数据库、表。

创建数据库

create database [if not exists] 数据库名;
    [CHARACTER SET charset_name]
    [COLLATE collation_name];
  • if not exists 表示如果数据库不存在则创建,如果存在则不创建
  • charset_name 表示字符集,比如 utf8,gbk,latin1
  • collation_name 表示排序规则,比如 utf8_general_ci,gbk_chinese_ci

简单创建数据库

create database study_dbs;
mysql> show databases;

+--------------------+
| Database            |
+--------------------+
| information_schema |
| mysql                |
| performance_schema |
| study_dbs             |
| sys                  |
+--------------------+
  • 再次通过 create database study_dbs 创建数据库 会抛出错误

    ERROR 1007 (HY000): Can't create database 'study_dbs'; database exists
    
  • 原因:数据库已存在

解决办法有两种

  • 直接删除数据库,再重新新建,这种方法个人理解只适合新建数据库时使用,一旦数据库已经存在并保存了数据,这种方法不适用,想要删除需要确认数据已经备份或者不在需要
  • 使用 if not exists 判断数据库是否存在,如果存在则不创建,如果不存在则创建,这种方法适合数据库已经存在的情况
CREATE DATABASE IF NOT EXISTS study_dbs;
  • if not exists 表示数据不存在创建,存在则不创建
Query OK, 1 row affected (0.00 sec)

含有设置字符集的创建数据库语法

create database if not exists study_dbs
    character set utf8mb4
    collate utf8mb4_general_ci;

查看数据库字符集和排序规则

mysql> show create database study_dbs;

删除数据库

  • drop database [if exists] 数据库名;
drop database study_dbs;
  • 删除数据库后,再次查询数据库,发现数据库已经不存在
mysql> show databases;
+--------------------+
| Database            |
+--------------------+
| information_schema |
| mysql                |
| performance_schema |
| sys                  |
+--------------------+

为了避免再删除数据库时抛出错误 可以加上 if exists 判断数据库是否存在

drop database if exists study_dbs;

修改数据库字符集和排序规则

alter database study_dbs
    character set GBK
    collate gbk_chinese_ci;
  • 再次查看数据库字符集和排序规则
mysql> show create database study_dbs;

可以看到数据库的字符集和排序规则已经修改

使用数据库

use study_dbs;
posted @ 2024-06-12 10:29  影的记忆  阅读(10)  评论(0编辑  收藏  举报