MYSQL库的操作

目录

创建数据库

字符集和校验规则

操作数据库


创建数据库

语法:

复制代码
CREATE DATABASE [IF NOT EXISTS] db_name [[DEFAULT] CHARSET=charset_name] [[DEFAULT] COLLATE=collation_name];
  • CHARSET:指定数据库所采用的编码格式。
  • COLLATE:指定数据库所采用的校验规则。

案例:

采用默认的编码格式和校验规则创建名为 db1 的数据库

复制代码
CREATE database db1;

注:默认的编码格式是utf8,默认的校验规则是utf8_general_ci。

创建一个使用utf8字符集的 db2 数据库

复制代码
create database db2 charset=utf8;

创建一个使用utf字符集,并带校对规则的 db3 数据库

复制代码
create database db3 charset=utf8 collate utf8_general_ci;

字符集和校验规则

查看系统默认字符集以及校验规则

复制代码
show charset

查看数据库支持的字符集校验规则

复制代码
show collation;

查看数据库默认的字符集校验规则

复制代码
show variables like 'character_set_database';
show variables like 'collation_database';

校验规则与字符集对数据库的影响

校验规则会数据比较和排序的结果。如**utf8_general_ci 不区分大小写** ,utf8_bin 区分大小写。在进行**ORDER BY** 语句排序、WHERE 条件筛选、**DISTINCTGROUP BYHAVING**语句查询时,校验规则都会起作用。

操作数据库

查看数据库

我们可以使用 show databases 查看所有数据库:

显示创建语句

复制代码
show create database 数据库名;

我们可以看到显示出的创建语句与我们创建时的不同,实际上在服务端MYSQL会对我们的SQL进行优化。

  • MySQL 建议我们关键字使用大写,但是不是必须的。
  • 数据库名字的反引号``,是为了防止使用的数据库名刚好是关键字
  • /*!40100 default.... */ 这个不是注释,表示当前mysql版本大于4.01版本,就执行这句话

修改数据库

复制代码
ALTER DATABASE db_name [[DEFAULT] CHARSET=character_name] [[DEFAULT] COLLATE=collation_name];

对数据库的修改主要是修改数据库的字符集或校验规则。

示例:将 db1 数据库字符集改成 gbk

删除数据库

复制代码
DROP DATABASE [IF EXISTS] db_name;

删除数据库后,该数据库下的所有表也都会被级联删除。

数据库的备份与恢复

备份:

复制代码
mysqldump -P3306 -u root -p 密码 -B 数据库名 > 数据库备份存储的文件路径

还原:

复制代码
source 数据库备份存储的文件路径;

这里的备份实际上是将关于该库的创建数据库,建表,导入数据的语句都装载文件中,恢复实际上就是再执行一次所有语句。

表的备份与恢复

备份:

复制代码
mysqldump -u root -p 数据库名 表名1 表名2 > 文件路径

恢复:

复制代码
source 表备份存储的文件路径
相关推荐
PaperData39 分钟前
1988-2025年《中国人口和就业统计年鉴》全年份excel+PDF
数据库·人工智能·数据分析·经管
星河耀银海1 小时前
C语言与数据库交互:SQLite实战与数据持久化
c语言·数据库·sqlite·交互
过期动态1 小时前
MySQL中的约束
android·java·数据库·spring boot·mysql
程序员陆通2 小时前
月烧 400 刀到不到 20 刀:我是怎么把 OpenClaw 的 Token 账单砍掉 95% 的
java·前端·数据库
Shan12052 小时前
站在计算机领域视角看:SQL注入攻击
网络·数据库·sql
轻刀快马2 小时前
别干背八股文了:从一场“双十一秒杀”惨案,看懂 InnoDB 事务、锁与索引的底层齿轮
数据库·sql
万事大吉CC2 小时前
【1】Django 基础:MTV 架构与核心组件
数据库·架构·django
曾凡宇先生2 小时前
mysql局域网授权
数据库·mysql
xcLeigh3 小时前
IoTDB Rust 原生接口开发指南:从零生成 + 完整 RPC 调用
数据库·rpc·rust·接口·api·时序数据库·iotdb
努力努力再努力wz3 小时前
【MySQL 进阶系列】拒绝滥用root:从 mysql.user 到权限校验,带你彻底理解用户管理与授权机制!
android·c语言·开发语言·数据结构·数据库·c++·mysql