当前位置: 首页 > news >正文

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

目录

创建数据库

字符集和校验规则

查看数据库支持的字符集

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

指定字符集和校验规则

在配置文件中配置

查看数据库

显示创建语句

修改数据库

删除数据库

数据库的备份和恢复

备份整个数据库

备份特定表

备份多个数据库

备份所有数据库

MySQL服务的链接情况


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

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

创建数据库

create database 数据库的名称;

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

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

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

字符集和校验规则

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

查看数据库支持的字符集

show charset;

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

show collation;

指定字符集和校验规则

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

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

在配置文件中配置

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

vim /etc/my.cnf

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

character-set-server=字符集


collation-server=校验规则

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

查看数据库

show databases;

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

显示创建语句

show create database 数据库名;

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

修改数据库

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

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

删除数据库

drop database 数据库名;

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

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

drop database if exists 数据库名;

数据库的备份和恢复

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"只导出满足指定条件的记录。
--ignore-table=db_name.tbl_name在备份时忽略指定的表。
-u [用户名]指定连接数据库的用户名。
-p[密码]指定连接数据库的密码(-p 和密码之间不应有空格,如果省略密码,系统会提示输入)。

还原

source 文件路径;

MySQL服务的链接情况

show processlist

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

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • HarmonyOS Menu 组件使用详解
  • DNS故障怎么排查?
  • Sentence-BERT实现文本匹配【回归目标函数】
  • Linux学习~树莓派gpio控制(1)
  • Leetcode JAVA刷刷站(108)将有序数组转换为二叉搜索树
  • 基于SpringBoot+Vue+MySQL的的宠物商城网站
  • [C#] 基于 Token 的鉴权与签名机制详解 接口对接鉴权 token、sign(a=1b=2c=3d=4)、Base64、参数加密、MD5
  • 解释 JVM 的堆内存结构,并简述如何通过调整 JVM 参数来提高应用程序的性能 ?
  • 【C#生态园】构建完美的C#网络请求:深度剖析六大HTTP客户端库
  • 怎样查看电脑文件夹大小?文件夹数据丢失怎么找回
  • 【鼠鼠学AI代码合集#5】线性代数
  • 口语笔记——状语
  • mysql笔记3(数据库、表和数据的基础操作)
  • node.js、php、Java、python校园点餐与数据分析系统 校园食堂订餐系统(源码、调试、LW、开题、PPT)
  • 护肤产品如何推广吗
  • (十五)java多线程之并发集合ArrayBlockingQueue
  • 【5+】跨webview多页面 触发事件(二)
  • C++11: atomic 头文件
  • Date型的使用
  • If…else
  • IIS 10 PHP CGI 设置 PHP_INI_SCAN_DIR
  • JavaScript设计模式之工厂模式
  • miaov-React 最佳入门
  • PHP 程序员也能做的 Java 开发 30分钟使用 netty 轻松打造一个高性能 websocket 服务...
  • Terraform入门 - 3. 变更基础设施
  • 程序员该如何有效的找工作?
  • 工作踩坑系列——https访问遇到“已阻止载入混合活动内容”
  • 构造函数(constructor)与原型链(prototype)关系
  • 湖南卫视:中国白领因网络偷菜成当代最寂寞的人?
  • 如何选择开源的机器学习框架?
  • 详解移动APP与web APP的区别
  • 学习笔记TF060:图像语音结合,看图说话
  • 掌握面试——弹出框的实现(一道题中包含布局/js设计模式)
  • SAP CRM里Lead通过工作流自动创建Opportunity的原理讲解 ...
  • ​DB-Engines 11月数据库排名:PostgreSQL坐稳同期涨幅榜冠军宝座
  • ​如何在iOS手机上查看应用日志
  • $nextTick的使用场景介绍
  • ()、[]、{}、(())、[[]]等各种括号的使用
  • (C语言)fgets与fputs函数详解
  • (day18) leetcode 204.计数质数
  • (PyTorch)TCN和RNN/LSTM/GRU结合实现时间序列预测
  • (Redis使用系列) SpringBoot中Redis的RedisConfig 二
  • (二十六)Java 数据结构
  • (附源码)计算机毕业设计大学生兼职系统
  • (函数)颠倒字符串顺序(C语言)
  • (免费领源码)Java#ssm#MySQL 创意商城03663-计算机毕业设计项目选题推荐
  • (深入.Net平台的软件系统分层开发).第一章.上机练习.20170424
  • (十)Flink Table API 和 SQL 基本概念
  • (一)appium-desktop定位元素原理
  • (转) 深度模型优化性能 调参
  • (转)Scala的“=”符号简介
  • .bat批处理(五):遍历指定目录下资源文件并更新
  • .Net Core 笔试1
  • .net Signalr 使用笔记
  • .NET 同步与异步 之 原子操作和自旋锁(Interlocked、SpinLock)(九)