数据库的DDL操作

目录

一、创建数据库

(1)字符集和校验集

二、操作数据库

(1)查看数据库

(2)显示创建语句

(3)修改数据库

(4)删除数据库

三、数据库的备份与恢复

四、查看数据库连接用户


一、创建数据库

cpp 复制代码
CREATE DATABASE [IF NOT EXISTS] db_name [create_specification [,
create_specification] ...]

下面简单创建一个数据库

(1)字符集和校验集

这里除了创建数据库之外,还对该数据库的字符集和校验规则进行了设置。我们先来看看什么叫做字符集和校验集。

说明:当我们创建数据库没有指定字符集和校验规则时,系统使用默认字符集:utf8,校验规则是:utf8_ general_ ci。这个是可以在配置文件中进行修改的。

字符集决定了数据是按照什么样的格式存储进去的,而校验集是决定读出来/比较/查询是按照什么规则读取。

比如我们创建两个个数据库都是使用utf8进行存储,但是一个的校验集是utf8_general_ci另一个是utf8_bin,虽然存储的信息都是一样的,但是一旦出现有大小写的数据,查询的结果就不一样了。所以我们一定要注意让字符集和校验集互相匹配。

下面是查看mysql支持的字符集的语句:

cpp 复制代码
show charset;
show collation;

他们一个是查看字符集,一个是查看校验集,由于一个一个字符集通常匹配了多个校验集,所以这里的校验集会明显多于字符集。如果想使用普遍的对应关系,只需要使用第一个语句即可,想要区分大小写等,再使用第二条语句查看。

总结

字符集决定了数据怎么写入数据库,而校验规则决定了如何从数据库中读取数据。正确的设置互相匹配的字符集和校验规则可以使我们保证数据一致性,大多数的乱码问题都是因为字符集与校验规则的不匹配问题导致的。

二、操作数据库

(1)查看数据库

cpp 复制代码
show databases;

(2)显示创建语句

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

我们可以使用显示创建语句,来查看创建时候的详情,比如在创建的时候使用到了comment来注释也是能够查询到的。

(3)修改数据库

直接使用alter修改数据库的字符集/校验集/搜索引擎

cpp 复制代码
ALTER DATABASE db_name;

后面我们还会使用到alter对表的列/表的属性或名字进行修改。

(4)删除数据库

cpp 复制代码
DROP DATABASE [IF EXISTS] db_ name;

三、数据库的备份与恢复

备份

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

如果想同时备份多个数据库,只需要在上述数据库名后跟空格再写上数据库的名字即可。

注意备份一个数据库要在命令行中完成,而不是在mysql客户端中输入。

备份会得到一个文件

恢复

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

在使用source之前一定要用use指明现在在使用哪一个数据库

这个-B是干什么的呢?

它是将创建数据库的语句给备份记录下来,后面恢复的时候不需要自己创建数据库即create database 语句。如果没有-B选项,则需要自己先创建一个数据库,再使用该数据库,最后使用source恢复数据库(可以利用这个操作对恢复出来的数据库改名)。

所谓的还原(恢复)数据库其实就是把.sql文件(备份生成的文件)中的sql语句全部执行一遍。

四、查看数据库连接用户

如果你在使用某个数据库的时候发现突然变卡了,可能是使用的人太多了。由于我们数据库是一个服务器客户端的应用程序,我们一定能查看到当前有谁在使用他。

cpp 复制代码
show processlist;
相关推荐
Full Stack Developme2 小时前
SQL 版本历史
数据库·sql
杰克逊的日记4 小时前
mysql数据实时全量+增量迁移
数据库·mysql·数据迁移
linuxxx1105 小时前
centos7 升级MariaDB 到 10.5 或更高版本
数据库·mariadb
换个网名有点难5 小时前
django怎么配置404和500
数据库·django
Adellle6 小时前
MySQL
数据库·后端·mysql
就是有点傻6 小时前
C# 中实现一个线程持续读取,另一个线程负责写入,且写入时读取线程暂停
数据库·c#
云观秋毫6 小时前
试试智能体工作流,自动化搞定运维故障排查
运维·数据库·自动化
是沫沫子耶7 小时前
mysql实例
数据库
比钻石还闪亮的nan人7 小时前
CentOS 7下安装PostgreSQL 15
数据库·postgresql
Full Stack Developme7 小时前
SQL 集合运算
数据库·sql