【MySQL】库的操作【创建和操纵】

news2024/10/7 19:28:15

文章目录

  • 1.创建数据库
    • 1.1字符集和校验规则
      • 1.查看系统默认字符集以及校验规则
      • 2.查看数据库支持的字符集以及校验规则
    • 1.2校验规则对数据库的影响
      • 1.创建一个数据库,校验规则使用utf8_ general_ ci[不区分大小写]
      • 2.创建一个数据库,校验规则使用utf8_ bin[区分大小写]
      • 3.排序结果的不同
  • 2.操纵数据库
    • 2.1查看数据库
    • 2.2显示创建语句
    • 2.3数据库删除
    • 2.4修改数据库
  • 3.备份和恢复
    • 3.1备份
    • 3.2还原
  • 4.查看连接情况
  • 5.拓展

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: 指定数据库采用的字符集
COLLATE: 指定数据库字符集的校验规则

指令语言

show databases;
create database basename;
drop database basename;
理解:

  1. 创建数据库:create database db_name; 本质就是在 /var/lib/mysql 创建一个目录
  2. 删除数据库:drop database db name; 本质就是删除目录
  3. 在/var/lib/mysql下mkdir/rm -rf创建删除目录【强烈不推荐】,mysql下show databases;会有同样效果

if not exists 选项会判断是否已存在该数据库并警告

在这里插入图片描述

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

  1. 数据库编码集 —数据库未来存储数据
  2. 数据库校验集 —支持数据库,进行字段比较使用的编码,本质也是一种读取数据库中数据的采用的编码格式
  3. 数据库无论对数据做任何操作,都必须保证操作和编码必须是编码一致的!

当我们创建数据库没有指定字符集和校验规则时

系统使用默认字符集:utf8,校验规则是:utf8_general_ ci
在这里插入图片描述

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

create database db charset=utf8;

语句2:也可以

创建一个使用utf字符集,并带校对规则的 db 数据库。
在这里插入图片描述

create database db charset=utf8 collate utf8_general_ci;

1.1字符集和校验规则

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

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

在这里插入图片描述
在这里插入图片描述

2.查看数据库支持的字符集以及校验规则

字符集主要是控制用什么语言。比如utf8就可以使用中文。
在这里插入图片描述
在这里插入图片描述

数据库下清屏操作

system clear

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

1.创建一个数据库,校验规则使用utf8_ general_ ci[不区分大小写]

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.创建一个数据库,校验规则使用utf8_ bin[区分大小写]

在这里插入图片描述
在这里插入图片描述

3.排序结果的不同

test1

在这里插入图片描述

test2

在这里插入图片描述

2.操纵数据库

2.1查看数据库

show databases;

2.2显示创建语句

显示已存在的数据库

在这里插入图片描述

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

显示当前在哪个数据库里

在这里插入图片描述

2.3数据库删除

DROP DATABASE [IF EXISTS] db_ name;

删除之后的结果:

  1. 数据库内部看不到对应的数据库
  2. 对应的数据库文件夹被删除,级联删除,里面的数据表全部被删
  3. 不要随意删除数据库

2.4修改数据库

ALTER DATABASE db_name
[alter_spacification [,alter_spacification]...]
alter_spacification:
[DEFAULT] CHARACTER SET charset_name
[DEFAULT] COLLATE collation_name

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

将 mytest 数据库字符集改成 gbk

在这里插入图片描述
在这里插入图片描述

3.备份和恢复

3.1备份

语法:

mysqldump -P3306 -u root -p密码 -B 数据库名 > 数据库备份存储的文件路径
1.备份一个表
mysqldump -u root -p 数据库名 表名1 > D:/mytest.sql
2.备份多个表
mysqldump -u root -p 数据库名 表名1 表名2 > D:/mytest.sql
3.备份一个数据库
mysqldump -P3306 -u root -p123456 -B mytest c
mysqldump -P3306 -u root -p -B mytest > ./mytest.sql
4.备份多个数据库
mysqldump -u root -p -B 数据库名1 数据库名2 ... > 数据库存放路径

mytest.sql 文件里的内容,是整个创建数据库,建表,导入数据的语句都装载这个文件中。

-B参数

-B参数意味着在备份时 把create创建语句也存入了备份文件。
如果备份时不带-B参数,在恢复数据库时,需要先创建空数据库,然后use数据库,再使用source来还原。

3.2还原

source D:/mytest.sql;

4.查看连接情况

show processlist;

mysql> show processlist;
+----+------+-----------+------+---------+------+-------+------------------+
| Id | User | Host | db | Command | Time | State | Info |
+----+------+-----------+------+---------+------+-------+------------------+
| 2 | root | localhost | test | Sleep | 1386 | | NULL |
| 3 | root | localhost | NULL | Query | 0 | NULL | show processlist |
+----+------+-----------+------+---------+------+-------+------------------+

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

5.拓展

MySQL 不支持直接修改数据库的名字。
在MySQL中,直接“重命名”一个数据库(即更改其名称)并不是一个直接的操作。但是,你可以通过以下步骤来间接地实现这个目的:

创建一个新的数据库:使用你想要的新名称来创建它。

sql
CREATE DATABASE new_database_name;

导出旧数据库的数据:使用mysqldump工具或其他数据库导出工具来导出旧数据库的数据和结构。

bash
mysqldump -u [username] -p old_database_name > old_database_name.sql

在这里,[username]是你的MySQL用户名。当你运行这个命令时,系统会提示你输入密码。
3. 导入数据到新数据库:使用mysql命令行工具或其他数据库导入工具来将导出的数据导入到新的数据库中。

bash
mysql -u [username] -p new_database_name < old_database_name.sql

同样,系统会提示你输入密码。
4. (可选)删除旧数据库:如果你确定不再需要旧数据库,可以删除它。

sql
DROP DATABASE old_database_name;

(可选)更新任何引用旧数据库名的应用程序或脚本:确保你的应用程序、脚本或其他任何引用旧数据库名的地方都已更新为新的数据库名。
测试:确保新数据库正常工作,并且所有的数据和结构都已正确迁移。
注意:在执行这些操作之前,强烈建议备份你的数据库,以防万一发生任何错误或数据丢失。

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

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

相关文章

HTML内容爬取:使用Objective-C进行网页数据提取

网页爬取简介 网页爬取&#xff0c;通常被称为网络爬虫或爬虫&#xff0c;是一种自动浏览网页并提取所需数据的技术。这些数据可以是文本、图片、链接或任何网页上的元素。爬虫通常遵循一定的规则&#xff0c;访问网页&#xff0c;解析页面内容&#xff0c;并存储所需信息。 …

继电器测试的价格和性价比如何?

继电器是广泛应用于各种电气控制系统中的开关元件&#xff0c;其主要功能是在输入信号的控制下&#xff0c;实现电路的断开和闭合。继电器的性能和质量直接影响到整个电气系统的稳定性和可靠性&#xff0c;因此对继电器进行严格的测试是非常必要的。那么&#xff0c;继电器测试…

软考-系统架构设计师[九年]上岸感想

2016年就开始参系统架构设计师的考试了&#xff0c;经历七次考试终于成功上岸&#xff0c;分享下自己这么多次考试失败的经验&#xff0c;希望大家可以少踩坑&#xff0c;一次通过考试 重点 如果你不想继续读下去&#xff0c;看完这段就行。 1.一定要知道最新的考试范围&…

VTK- 面绘制体绘制

在VTK中&#xff0c;面绘制&#xff08;Surface Rendering&#xff09;和体绘制&#xff08;Volume Rendering&#xff09;是两种常见的三维数据可视化方法。面绘制和体绘制是计算机图形学中用于三维数据可视化的重要技术&#xff0c;尤其在医学成像、科学可视化和计算机辅助设…

03.C1W2.Sentiment Analysis with Naïve Bayes

目录 Probability and Bayes’ RuleIntroductionProbabilitiesProbability of the intersection Bayes’ RuleConditional ProbabilitiesBayes’ RuleQuiz: Bayes’ Rule Applied Nave Bayes IntroductionNave Bayes for Sentiment Analysis P ( w i ∣ c l a s s ) P(w_i|clas…

OWASP ZAP安全扫描工具,扫描网站

OWASP ZAP (Zed Attack Proxy) 是一个功能强大的开源 web 应用程序安全扫描工具&#xff0c;用于发现和利用 web 应用程序中的漏洞。以下是如何安装和使用 OWASP ZAP 的步骤。 安装 OWASP ZAP 使用 Snap 安装&#xff1a; 在 Ubuntu 22.04 上可以通过 Snap 安装 OWASP ZAP&…

打造商贸物流“产-供-销”、“仓-运-配”全流程供应链

在当今全球化的商业环境中&#xff0c;商贸物流平台的搭建成为企业提升效率、降低成本并增强市场竞争力的关键因素。在现代商业环境中&#xff0c;商贸与物流之间的紧密协作是业务成功的关键因素。然而&#xff0c;许多组织面临着信息不对称、资源配套不足、以及系统间隔离等痛…

设计模型 - 学习笔记

学习参考&#xff1a; https://blog.csdn.net/m0_65346405/article/details/136994128 《系统分析师教程》 《设计模式之禅》 一. 设计模式的5大原则 1. 单一职责原则 一个类应该只有一个变化因子。 就是说&#xff0c;一个类要变化&#xff0c;比如增加功能&#xff0c;那么引…

DllImport进阶:参数配置与高级主题探究

深入讨论DllImport属性的作用和配置方法 在基础篇中&#xff0c;我们已经简单介绍了DllImport的一些属性。现在我们将深入探讨这些属性的实际应用。 1. EntryPoint EntryPoint属性用于指定要调用的非托管函数的名称。如果托管代码中的函数名与非托管代码中的函数名不同&#…

如何使用小红书矩阵系统:提升内容管理与发布的指南

小红书作为一个集社区分享与电商功能于一体的平台&#xff0c;吸引了大量的用户和创作者。随着内容创作和账号管理的复杂性增加&#xff0c;小红书矩阵系统成为了一个强大的工具&#xff0c;帮助用户提高效率和扩大影响力。本文将详细介绍如何使用小红书矩阵系统&#xff0c;以…

餐饮界的新传奇:沃可趣员工社区,让品牌关怀在指尖流淌

咖啡师与顾客发生肢体冲突、员工用咖啡粉泼顾客……某精品咖啡一天爆出两个大瓜&#xff01; 很快有网友指出咖啡店员工长期遭受重压&#xff0c;与品牌之间存在根本矛盾。 同样做餐饮的老牌快餐&#xff0c;门店密度与之不相上下&#xff0c;却很少发生这样的暴雷。 不仅因…

单片机IO

一、简单GPIO口 保护二极管&#xff1a;IO引脚上下两边两个二极管用于防止引脚外部过高、过低的电压输入。 当引脚电压高于VDD时&#xff0c;上方的二极管导通&#xff0c;电压被钳位在VDD0.7V&#xff1b; 当引脚电压低于VSS时&#xff0c;下方的二极管导通&#xff0c;防止不…

文心一言 VS 讯飞星火 VS chatgpt (295)-- 算法导论21.4 4题

四、利用练习 21.4-2 &#xff0c;请给出一个简单的证明&#xff0c;证明在一个不相交集合森林上使用按秩合并策略而不使用路径压缩策略的运行时间为 O(m lgn) 。21.4-2 的内容是&#xff1a;“证明&#xff1a;每个结点的秩最多为 ⌊lgn⌋ 。”。如果要写代码&#xff0c;请用…

Linux Ubuntu 将指定ip添加到DNS

请严格按照如下步骤操作 以ip地址&#xff1a;202.96.134.133 为例 1.修改 /etc/resolv.conf 文件 sudo gedit /etc/resolv.conf 添加 nameserver 8.8.8.8 和 nameserver 202.96.134.133&#xff0c; 如下图方框指定内容&#xff1a; 2.修改 /etc/resolvconf/resolv.conf.d…

从零开始开发跑腿配送系统:技术选型与架构设计

开发一个跑腿配送系统涉及多个技术栈和模块&#xff0c;从前端到后端&#xff0c;再到数据库和实时通信&#xff0c;每一个环节都至关重要。本文将详细介绍从零开始开发跑腿配送系统的技术选型与架构设计&#xff0c;并提供部分代码示例以帮助理解。 一、技术选型 前端技术&am…

Gradle使用插件SonatypeUploader-v2.6上传到maven组件到远程中央仓库

本文基于sonatypeUploader 2.6版本 插件的使用实例&#xff1a;https://github.com/jeadyx/SonatypeUploaderSample 发布步骤 提前准备好sonatype账号和signing配置 注&#xff1a;如果没有&#xff0c;请参考1.0博文的生成步骤&#xff1a; https://jeady.blog.csdn.net/art…

超参数优化方法之网格优化

超参数优化方法之网格优化 超参数优化是机器学习中提升模型性能的关键步骤。在众多优化方法中&#xff0c;网格搜索&#xff08;Grid Search&#xff09;以其直观和系统性的特点脱颖而出。作为一种穷举搜索策略&#xff0c;网格搜索通过遍历给定参数网格中的所有可能组合&…

从0构建一款appium-inspector工具

上一篇博客从源码层面解释了appium-inspector工具实现原理&#xff0c;这篇博客将介绍如何从0构建一款简单的类似appium-inspector的工具。如果要实现一款类似appium-inspector的demo工具&#xff0c;大致需要完成如下六个模块内容 启动 Appium 服务器连接到移动设备或模拟器启…

构建机部署之Azure DevOps添加代理机(Linux)

目录 一、权限检查二、添加代理机三、更换代理四、删除并重新配置代理 一、权限检查 确认用户具有权限 默认代理池的所有者有添加代理的权限 1&#xff09;代理池所有者可以生成一个PAT&#xff0c;共享使用。代理不会在日常操作中使用此人凭据&#xff0c;但需要使用有权限的…

【机器学习】机器学习与图像识别的融合应用与性能优化新探索

文章目录 引言第一章&#xff1a;机器学习在图像识别中的应用1.1 数据预处理1.1.1 数据清洗1.1.2 数据归一化1.1.3 数据增强 1.2 模型选择1.2.1 卷积神经网络1.2.2 迁移学习1.2.3 混合模型 1.3 模型训练1.3.1 梯度下降1.3.2 随机梯度下降1.3.3 Adam优化器 1.4 模型评估与性能优…