《MySQL:MySQL数据库的基本操作》

1.创建数据库

CREATE DATABASE [IF NOT EXISTS] db_name [create_specification [,

create_specification] ...]

create_specification:

[DEFAULT] CHARACTER SET charset_name

[DEFAULT] COLLATE collation_name

  • 大写表示关键字
  • []:表示可选项
  • CHARACTER SET charset_name:指定数据库采用的字符集
  • COLLATE collation_name:指定数据库字符集的校验规则

创建数据库,本质就是在/var/lib/mysql下创建一个目录。

创建表,本质就是在/var/lib/mysql对应的目录下创建相应文件。

创建数据库的时候,有两个编码集:

  1. 数据库编码集:数据库未来存储数据,采用的编码格式。
  2. 数据库校验集:支持数据库进行字段比较使用的编码,本质也是一种读取数据库中数据采用的编码格式。

数据库无论对数据做任何操作,都必须保证操作和编码是编码一致的。

  • 创建名为db1的数据库

create database db1;

注意:当创建数据库没有指定字符集和校验规则时,系统使用默认的字符集utf8,和校验规则utf8_ general_ ci(/etc/my.cnf/的配置文件中已经配置了utf8为默认字符集)

  • 创建字符集为utf8,和校验规则为utf8_general_ci的数据库db2

create database db2 charset=utf8 collate utf8_general_ci;

  •  创建字符集为gbk,和校验规则为gbk_chinese_ci的数据库db3;

2.字符集和校验规则

字符集主要是控制用什么语言。比如utf8就可以使用中文。

2.1查看系统默认字符集和校验规则

  • show variables like 'character_set_database';
  • show variables like 'collation_database';

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

  • show charset;
  • show collation;

2.3校验规则对数据库的影响

  • 不区分大小写

创建一个数据库,校验规则使用utf8_general_ci(不区分大小写)

test1数据库字符集为utf8,校验规则为utf8_general_ci。

查找和排序结果。不区分大小写。

  • 区分大小写

创建一个数据库,校验规则使用utf8_bin(区分大小写)

test2数据库字符集为utf8,校验规则为utf8_bin。

查找和排序结果。区分大小写。

3.查看数据库

查看创建数据库的完整SQL语句。

4.删除数据库

DROP DATABASE [IF EXISTS] db_ name;

删除一个数据库之后,数据库内部就看不到对应的数据库了;数据库里的表也全部被删除。本质就是删除/var/lib/mysql下的一个目录。

注意:不要随意删除一个数据库。

     

5.修改数据库

ALTER DATABASE db_name

[alter_spacification [,alter_spacification]...]

alter_spacification:

[DEFAULT] CHARACTER SET charset_name

[DEFAULT] COLLATE collation_name

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

更改test1数据库的字符集。

6.数据库的备份和恢复

6.1备份

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

可以打开看看test1.sql 文件里的内容,备份其实把我们当时整个创建数据库,建表,导入数据的语句都装载这个文件中。

6.2恢复

# mysql> source D:/mysql-5.7.22/mytest.sql;

恢复,其实就是按照当时创建数据库的所有操作又执行了一遍。

6.3注意

  • 如果备份的不是数据库,而是其中的一张表
# mysqldump -u root -p 数据库名 表名1 表名2 > D:/mytest.sql

需要先创建数据库,再执行source。

  • 同时备份多个数据库

# mysqldump -u root -p -B 数据库名1 数据库名2 ... > 数据库存放路径

  • 如果备份一个数据库时,没有带上-B参数

在恢复数据库时,需要先创建空数据库,然后使用数据库,再使用source来还原。

7.查看连接情况

show processlist;

以上,就是关于数据库的相关基本操作。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/77252.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深入简出:KL散度、交叉熵、熵、信息量简介、交叉熵损失

学习这些的最终目的 1、量化两个概率分布的差异 2、推导交叉熵损失 一、KL散度 KL散度就是用来量化两个概论分布的差异,如何量化? 计算真实概论分布P信息量 和 估计概论分布为Q,但实际概率分布为P时信息量的差值 那么设,概率分…

MySQL:Join连接的原理

连接查询的执行过程: 确定第一个需要查询的表【驱动表】 选取代价最小的访问方法去执行单表查询语句 从驱动表每获取到一条记录,都需要到t2表中查找匹配的记录 两表连接查询需要查询一次t1表,两次t2表,在两表的连接查询中&…

【Drools+springboot3规则匹配】

文章目录 一、 业务场景概述二、整体技术架构三、Drools概述1. Drools 简介2. Drools Rete 算法与flink-cep的区别?2.1 Rete 算法概述2.2 Flink CEP 概述四、代码实现4.1 导入依赖4.2 从kafka消费数据4.3 核心类,触发匹配操作并将匹配数据写入mysql4.4 Drools 管理4.5 相关的…

深入理解 Android Handler

一、引言 Handler 在安卓中的地位是不言而喻的,几乎维系着整个安卓程序运行的生命周期,但是这么重要的一个东西,我们真的了解它吗?下面跟随着我的脚步,慢慢揭开Hanler的神秘面纱吧! 本文将介绍Handler 的运…

读书笔记 -- MySQL架构

1、MySQL逻辑架构 最上层的服务并不是 MySQL所独有的,大多数基于网络的客户端/服务器的工具或者服务都有类似的架构。比如连接处理、授权认证、安全等等。 第二层架构是 MySQL 比较有意思的部分。大多数 MySQL 的核心服务功能都在这一层包括查询解析、分析、…

linux 4.14内核jffs2文件系统不自动释放空间的bug

前段时间在做spi-nor flash项目的时候,使用jffs2文件系统,发现在4.14内核下存在无法释放空间的bug,后来进行了修复,修复后功能正常,现将修复patch公开,供后来者学习: diff --git a/fs/jffs2/ac…

vue3+vite 实现.env全局配置

首先创建.env文件 VUE_APP_BASE_APIhttp://127.0.0.1/dev-api 然后引入依赖: pnpm install dotenv --save-dev 引入完成后,在vite.config.js配置文件内加入以下内容: const env dotenv.config({ path: ./.env }).parsed define: { // 将…

Oracle 19c部署之手工建库(四)

#Oracle #19c #手工建库 手工创建Oracle数据库(也称为手工建库)是指在已经安装了Oracle数据库软件的基础上,通过手动执行一系列命令和步骤来创建一个新的数据库实例。这种方法与使用Database Configuration Assistant (DBCA)等工具自动创建数…

【Reading Notes】(8.3)Favorite Articles from 2025 March

【March】 雷军一度登顶中国首富,太厉害了(2025年03月02日) 早盘,小米港股一路高歌猛进,暴涨4%,股价直接飙到52港元的历史新高。这一波猛如虎的操作,直接把雷军的身家拉到了2980亿元&#xff0c…

【Python爬虫基础篇】--1.基础概念

目录 1.爬虫--定义 2.爬虫--组成 3.爬虫--URL 1.爬虫--定义 网络爬虫,是一种按照一定规则,自动抓取互联网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。随着网络的迅速发展,万维网成为大量信息的载体…

C语言超详细结构体知识

1.自定义类型:结构体的介绍 在之前的博客中,我们简单介绍过了关于结构体的基本知识,这里我们稍微复习一下。 结构体(struct)是C语言中一种重要的复合数据类型,它允许将不同类型的数据组合成一个整体。 1.1结构体的定义 结构体使…

C++学习:六个月从基础到就业——内存管理:new/delete操作符

C学习:六个月从基础到就业——内存管理:new/delete操作符 本文是我C学习之旅系列的第十七篇技术文章,也是第二阶段"C进阶特性"的第二篇,主要介绍C中动态内存管理的核心操作符——new和delete。查看完整系列目录了解更多…

15~30K,3年以上golang开发经验

继续分享最新的面经,前面发的两篇大家也可以看看: 「坐标上海,20K的面试强度」「北京七猫,薪资25~35K,瞧瞧面试强度」 今天分享的是golang开发岗面经,要求是3年以上golang开发经验,薪资为15~3…

Python爬虫实战:获取优志愿专业数据

一、引言 在信息爆炸的当下,数据成为推动各领域发展的关键因素。优志愿网站汇聚了丰富的专业数据,对于教育研究、职业规划等领域具有重要价值。然而,为保护自身数据和资源,许多网站设置了各类反爬机制。因此,如何高效、稳定地从优志愿网站获取计算机专业数据成为一个具有…

ArcPy工具箱制作(下)

在上一篇博客中,我们已经初步了解了如何制作ArcPy工具箱,包括工具箱的基本概念、准备工作、脚本编写以及将脚本转换为工具箱的步骤。今天,我们将继续深入探讨ArcPy工具箱的制作,重点介绍一些进阶技巧和优化方法. 一、优化工具箱的…

不一样的flag 1(迷宫题)

题目 做法 下载压缩包,解压,把解压后的文件拖进Exeinfo PE进行分析 32位,无壳 扔进IDA(32位),找到main,F5反编译 没啥关键词,ShiftF12也找不到什么有用的点 从上往下分析吧 puts(…

工程化实践:Flutter项目结构与规范

工程化实践:Flutter项目结构与规范 在Flutter项目开发中,良好的工程化实践对于提高开发效率、保证代码质量和团队协作至关重要。本文将从项目结构、代码规范、CI/CD流程搭建以及包管理等方面,详细介绍Flutter项目的工程化最佳实践。 项目结…

[Java · 初窥门径] Java 语言初识

🌟 想系统化学习 Java 编程?看看这个:[编程基础] Java 学习手册 0x01:Java 编程语言简介 Java 是一种高级计算机编程语言,它是由 Sun Microsystems 公司(已被 Oracle 公司收购)于 1995 年 5 …

1187. 【动态规划】竞赛总分

题目描述 学生在我们USACO的竞赛中的得分越多我们越高兴。我们试着设计我们的竞赛以便人们能尽可能的多得分。 现在要进行一次竞赛,总时间T固定,有若干类型可选择的题目,每种类型题目可选入的数量不限,每种类型题目有一个si(解答…