欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 产业 > MySQL | 库操作

MySQL | 库操作

2025/2/21 4:53:10 来源:https://blog.csdn.net/TTKunn/article/details/145719986  浏览:    关键词:MySQL | 库操作

文章目录

  • MySQL数据库基础操作详解
    • 一、创建数据库
      • 1.1 基本语法
      • 1.2 创建示例
    • 二、字符集与校对规则
      • 2.1 查看系统默认配置
      • 2.2 查看支持的字符集与校对规则
      • 2.3 校对规则的实际影响
        • 示例1:不区分大小写(`utf8mb4_general_ci`)
        • 示例2:区分大小写(`utf8mb4_bin`)
        • 排序对比
    • 三、数据库的日常操作
      • 3.1 查看所有数据库 / 查看当前数据库
      • 3.2 显示数据库的创建语句
      • 3.3 修改数据库
      • 3.4 删除数据库
    • 四、备份与恢复
      • 4.1 备份数据库
      • 4.2 恢复数据库
    • 五、查看数据库连接

MySQL数据库基础操作详解

数据库是存储和管理数据的核心组件,掌握数据库的基本操作是每个开发者的必备技能。本文以MySQL为例,详细介绍数据库的创建、字符集设置、校验规则、日常维护及备份恢复等操作,帮助读者轻松上手并深入理解MySQL数据库的管理技巧。


一、创建数据库

1.1 基本语法

使用 create database 命令创建数据库,语法如下:

create database [if not exists] 数据库名 [default character set 字符集名称] [default collate 校对规则名称];
  • 关键字说明
    • if not exists:可选,避免重复创建同名数据库时报错。
    • character set:指定数据库的字符集(如 utf8mb4gbk)。字符集决定数据库支持的语言和符号。
    • collate:指定校对规则(如 utf8mb4_general_ci)。校对规则影响字符串比较和排序的方式。

注意:MySQL关键字(如 createdatabase)不区分大小写,但建议统一风格。例如,关键字小写,数据库名按需使用大小写(Linux系统下数据库名区分大小写)。

1.2 创建示例

  1. 创建默认字符集的数据库

    create database db1;
    
    • 若不指定字符集和校对规则,MySQL默认使用 utf8mb4 字符集和 utf8mb4_0900_ai_ci 校对规则(具体版本可能有差异)。
  2. 指定字符集创建数据库

    create database db2 character set=utf8mb4;
    
    • 推荐使用 utf8mb4 而非 utf8,因为 utf8mb4 支持更多字符(如Emoji表情)。
  3. 同时指定字符集和校对规则

    create database db3 character set=utf8mb4 collate utf8mb4_general_ci;
    

二、字符集与校对规则

2.1 查看系统默认配置

  • 查看默认字符集
    show variables like 'character_set_database';
    
  • 查看默认校对规则
    show variables like 'collation_database';
    

2.2 查看支持的字符集与校对规则

  • 查看所有支持的字符集

    show charset;
    

    输出示例:

    +----------+---------------------------------+
    | Charset  | Description                     |
    +----------+---------------------------------+
    | utf8mb4  | UTF-8 Unicode                   |
    | latin1   | cp1252 West European            |
    +----------+---------------------------------+
    
  • 查看所有支持的校对规则

    show collation;
    

    输出示例:

    +----------------------+----------+-----+
    | Collation            | Charset  | Id  |
    +----------------------+----------+-----+
    | utf8mb4_general_ci   | utf8mb4  | 45  |
    | utf8mb4_bin          | utf8mb4  | 46  |
    +----------------------+----------+-----+
    

2.3 校对规则的实际影响

示例1:不区分大小写(utf8mb4_general_ci
create database test1 collate utf8mb4_general_ci;
use test1;
create table person(name varchar(20));
insert into person values ('a'), ('A'), ('b'), ('B');

查询结果

select * from person where name='a';
-- 返回 'a' 和 'A'

说明utf8mb4_general_ci 校对规则忽略大小写,aA 视为相同。

示例2:区分大小写(utf8mb4_bin
create database test2 collate utf8mb4_bin;
use test2;
create table person(name varchar(20));
insert into person values ('a'), ('A'), ('b'), ('B');

查询结果

select * from person where name='a';
-- 仅返回 'a'

说明utf8mb4_bin 校对规则按二进制比较,区分大小写。

排序对比
  • 不区分大小写排序
    select * from person order by name;
    -- 结果:a, A, b, B(按字母顺序,不区分大小写)
    
  • 区分大小写排序
    select * from person order by name;
    -- 结果:A, B, a, b(大写字母优先)
    

三、数据库的日常操作

3.1 查看所有数据库 / 查看当前数据库

show databases;

输出示例:

+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| test1              |
+--------------------+
select database();

输出示例:

+------------+
| database() |
+------------+
| helloworld |
+------------+
1 row in set (0.00 sec)

3.2 显示数据库的创建语句

show create database 数据库名;

示例:

show create database mytest;

输出:

+----------+--------------------------------------------------------+
| Database | Create Database                                        |
+----------+--------------------------------------------------------+
| mytest   | CREATE DATABASE `mytest` DEFAULT CHARSET=utf8mb4       |
+----------+--------------------------------------------------------+

注意:反引号 ` 用于包裹数据库名,避免与关键字冲突(如使用 database 作为库名)。

3.3 修改数据库

修改字符集或校对规则:

alter database 数据库名 character set=新字符集 collate=新校对规则;

示例:

alter database mytest character set=gbk collate gbk_chinese_ci;

注意:修改字符集不会自动转换已有数据,需手动调整表结构。

3.4 删除数据库

drop database  数据库名;

风险提示

  • 删除操作会永久删除数据库及其所有表和数据。
  • 生产环境中建议先备份再执行删除!

四、备份与恢复

4.1 备份数据库

使用 mysqldump 工具进行备份:

# 备份整个数据库(包含创建语句)
mysqldump -u root -p123456 -B mytest > D:/mytest.sql# 备份单张表
mysqldump -u root -p mytest person > D:/person.sql

参数说明

  • -B:备份整个数据库(包含 create database 语句)。
  • 未使用 -B 时,恢复需手动创建数据库。

4.2 恢复数据库

在MySQL命令行中执行:

source D:/mytest.sql;

分步恢复(无 -B 参数时)

create database mytest;  -- 1. 创建空数据库
use mytest;              -- 2. 切换到该数据库
source D:/mytest.sql;    -- 3. 执行备份文件

五、查看数据库连接

监控当前连接状态:

show processlist;

输出示例:

+----+------+-----------+------+---------+------+-------+------------------+
| Id | User | Host      | db   | Command | Time | State | Info             |
+----+------+-----------+------+---------+------+-------+------------------+
| 5  | root | localhost | test | Query   | 0    | NULL  | show processlist |
+----+------+-----------+------+---------+------+-------+------------------+

应用场景

  • 发现异常连接(如未知IP的登录)。
  • 分析性能问题(长时间运行的查询)。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词