【MySQL进阶之路】数据库的操作

东洛的克莱斯韦克 2024-08-28 14:31:02 阅读 68

目录

创建数据

字符集和校验规则

查看数据库支持的字符集

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

指定字符集和校验规则

在配置文件中配置

查看数据库

显示创建语句

修改数据库

删除数据库

数据库的备份和恢复

备份整个数据库

备份特定表

备份多个数据库

备份所有数据库

MySQL服务的链接情况


个人主页:东洛的克莱斯韦克-CSDN博客

MySQL基础:【MySQL进阶之路】MySQL基础——从零认识MySQL-CSDN博客

创建数据

<code>create database 数据库的名称;

create database 是关键字后面跟上数据库的名称,表示创建数据库

create database if not exists 数据库的名称;

在中间加上if not exists ,表示如果要创建的数据库已存在则不报错。

字符集和校验规则

字符集是字符的集合,它定义了用于表示文本数据的符号和这些符号的编码。校验规则定义了字符集中字符的比较和排序规则。

查看数据库支持的字符集

<code>show charset;

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

show collation;

指定字符集和校验规则

create database 数据库名称 charset=字符集 collate=校验规则;

charset= 后面表示要添加的字符集。collate= 后面表示要添加的校验规则。如果只指定了字符集,MySQL服务端会自动匹配对应的校验规则。相反,如果只指定了校验规则,MySQL服务端会自动匹配对应的字符集。

在配置文件中配置

可以在配置文件中配置默认的字符集和校验规则。

vim /etc/my.cnf

先打开该配置文件,然后在该配置文件中添加

character-set-server=字符集

collation-server=校验规则

如果创建数据库时指定了相关选项,就按指定的来,如果没有就按配置文件的来~

查看数据库

<code>show databases;

查看MySQL服务中已创建的数据库。

显示创建语句

<code>show create database 数据库名;

显示创建该数据库时用了哪些SQL语句。

修改数据

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

<code> alter database 数据库名 charset=字符集 collate=校验规则;

删除数据

<code>drop database 数据库名;

如果加上 if exists 选项的话表示,如果删除的数据库并不存在则不报错。

执行删除之后的结果: 数据库内部看不到对应的数据库 对应的数据库文件夹被删除,级联删除,里面的数据表全部被删

drop database if exists 数据库名;

数据库的备份和恢复

<code>mysqldump 是一个用于 MySQL 和 MariaDB 数据库管理系统的命令行工具,它允许用户生成数据库的备份文件(通常是 SQL 脚本),这些文件可以在需要时用来恢复数据库。mysqldump 提供了灵活的选项,使得用户可以根据需要备份整个数据库、数据库中的特定表或表的一部分。

备份整个数据库

mysqldump -u [用户名] -p[密码] [数据库名] > [备份文件名].sql

-p 和密码之间不应有空格,如果省略密码,系统将提示输入

备份特定表

mysqldump -u [用户名] -p[密码] [数据库名] [表名1] [表名2] > [备份文件名].sql

备份多个数据库

mysqldump -u [用户名] -p[密码] --databases [数据库名1] [数据库名2] > [备份文件名].sql

备份所有数据库

mysqldump -u [用户名] -p[密码] --all-databases > [备份文件名].sql

选项 描述
--add-drop-database 在每个 CREATE DATABASE 语句之前添加一个 DROP DATABASE 语句(如果数据库存在的话)。
--add-drop-table 在每个 CREATE TABLE 语句之前添加一个 DROP TABLE IF EXISTS 语句。
--no-data 只导出表结构,不导出数据。
--compact 生成更紧凑的输出,去除不必要的注释和换行符。
--databases 指定要备份的多个数据库(后跟数据库名列表)。
--all-databases 备份所有数据库。
--where="condition"code> 只导出满足指定条件的记录。
--ignore-table=db_name.tbl_name 在备份时忽略指定的表。
-u [用户名] 指定连接数据库的用户名。
-p[密码] 指定连接数据库的密码(-p 和密码之间不应有空格,如果省略密码,系统会提示输入)。

还原

source 文件路径;

MySQL服务的链接情况

show processlist

可以告诉我们当前有哪些用户连接到我们的MySQL,如果查出某个用户不是你正常登陆的,很有可能你 的数据库被人入侵了。以后大家发现自己数据库比较慢时,可以用这个指令来查看数据库连接情况。



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。