MySQL 库的操作

devtools/2024/10/11 3:24:19/

温馨提示:非特殊情况不要删除和随意修改数据库


清除MySQL历史命令:system clear


增删数据库

增删数据库

  • 登录MySQL:mysql -u root -p
  • MySQL数据目录:/var/lib/mysql
  • 查看当前数据库列表:show databases;
  • 创建数据库:create database db_name;
  • 再次使用show databases;就可以看到新建的数据库
  • 当然,数据库的数据目录/var/lib/mysql中也可以看到新建的数据库
  • 删除数据库:drop database db_name;
  • 增删的本质就是在/var/lib/mysql新建和删除目录

认识系统编码

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

数据库无论对数据做任何操作,都必须保证所有的操作保持编码一致

查看系统默认的字符集,如下图所示

show variables like 'character_set_database';

查看系统默认的校验集,如下图所示

show variables like 'collation_database';

查看数据库支持的字符集,如下图所示

show charset;

查看数据库支持的字符集校验规则,如下图所示

show collation;


指定编码创建数据库

创建名为db1的数据库

create database db1;

说明:当我们创建数据库的时候没有指定字符集和校验规则的时候,系统使用默认的字符集和校验集····:utf8、utf8_general_ci

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

create database db2 charset=utf8;

创建一个使用utf字符集,并带有校对规则的db3数据库

create database db3 charset=utf8 collate utf8_general_ci;


验证不同校验集对数据库的影响

创建使用检验集 utf8_general_ci 的数据库(不区分大小写):

  • create database test1 collate utf8_general_ci;
  • use test1;
  • create table person(name varchar(20));
  • insert into person values('a');
  • insert into person values('A');
  • insert into person values('b');
  • insert into person values('B');

查询表的内容:

  • use test1;
  • select * from person where name='a';

将表中的内容排序: 

  • use test1;
  • select * from person order by name;


创建使用检验集 utf8_bin 的数据库(区分大小写):

  • create database test2 collate utf8_bin;
  • use test2;
  • create table person(name varchar(20));
  • insert into person values('a');
  • insert into person values('A');
  • insert into person values('b');
  • insert into person values('B');

查询表的内容:

  • use test2;
  • select * from person where name='a';

将表中的内容排序: 

  • use test2;
  • select * from person order by name;


操纵数据库

查看数据库

  • show databases;

显示创建数据库的细节:

  • show create database db_name;

修改数据库(主要是修改数据库的字符集和校验集)

实例:将数据库test1的字符集修改为gbk

  • alter database test1 charset=gbk;
  • alter database test1 charset=gbk collate=gbk_bin;

数据库的删除:

  • drop database db_name;

结果:

注意:不要随意删除数据库


数据库的备份和恢复

备份:

  • # mysqldump -P3306 -u root -p 密码 -B 数据库名 > 数据库备份存储的文件路径
  • # mysqldump -P3306 -u root -p -B test1 > /root/MySQL/test.sql

查看test1.sql的内容

还原:

  • mysql> source /root/MySQL/test1.sql;

只是备份数据库中的表:

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

同时备份多个数据库

查看数据库的连接情况:

  • show processlist;
  • 查询当前连接了我们的MySQL的用户


http://www.ppmy.cn/devtools/122040.html

相关文章

CNN-GRU时序预测 | MATLAB实现CNN-GRU卷积门控循环单元时间序列预测

时序预测 | MATLAB实CNN-GRU卷积门控循环单元时间序列预测 目录 时序预测 | MATLAB实CNN-GRU卷积门控循环单元时间序列预测预测效果基本介绍模型描述程序设计参考资料预测效果 基本介绍 本次运行测试环境MATLAB2020b 提出了一种基于卷积神经网络(Convolutional Neural Network…

Python机器学习模型的部署与维护:版本管理、监控与更新策略

🚀 Python机器学习模型的部署与维护:版本管理、监控与更新策略 目录 💼 模型版本管理 使用DVC进行数据和模型的版本控制,确保可复现性 🔍 监控与评估 部署后的模型性能监控,使用Prometheus和Grafana进行实…

Kotlin IntelliJ IDEA 环境搭建

Kotlin IntelliJ IDEA 环境搭建 引言 Kotlin,作为一门现代编程语言,因其简洁、表达性强以及与Java的完全互操作性而受到越来越多开发者的青睐。IntelliJ IDEA,作为JetBrains公司推出的集成开发环境(IDE),为Kotlin开发提供了强大的支持。本文将详细介绍如何在IntelliJ I…

用Arduino单片机读取PCF8591模数转换器的模拟量并转化为数字输出

PCF8591是一款单芯片,单电源和低功耗8位CMOS数据采集设备。博文[1]对该产品已有介绍,此处不再赘述。但该博文是使用NVIDIA Jetson nano运行python读取输入PCF8591的模拟量的,读取的结果显示在屏幕上,或输出模拟量点亮灯。NVIDIA J…

技术成神之路:设计模式(十八)适配器模式

介绍 适配器模式(Adapter Pattern)是一种结构型设计模式,它允许接口不兼容的类可以协同工作,通过将一个类的接口转换成客户端所期望的另一个接口,使得原本由于接口不兼容而不能一起工作的类可以一起工作。 1.定义 适配…

ThreadLocal底层原理及数据结构详解

ThreadLocal允许为每个线程创建独立的变量副本,使得同一个ThreadLocal对象在不同的线程中拥有不同的值。它的主要作用是在并发环境下提供线程隔离,避免多个线程共享同一个变量,从而减少线程间的相互干扰。 ThreadLocal的核心在于为每个线程维…

如何伪装服务器地址?

在现代网络环境中,出于隐私、安全或绕过限制的目的,伪装服务器地址成为一种重要的技术手段。伪装服务器地址的目的主要是隐藏服务器的真实IP,以防止恶意攻击、数据追踪或规避某些网络限制。在没有提到VPN的前提下,仍然有多种方法可…

flutter_鸿蒙next_Dart基础①字符串

目录 代码示例 代码逐段解析 1. 字符串的声明与打印 2. 数字的声明与打印 3. 多行字符串 4. 字符串拼接 5. 字符串分割 6. 字符串修剪 7. 检查字符串是否为空 8. 字符串替换 9. 正则表达式与电话号码验证 10. 字符串查找 11. 字符串定位 写在最后 在本篇博客中&a…