MySQL——库操作

news2024/9/23 5:26:56

首先先来说一下MySQL中常见的操作:
1. 清屏 system clear;
2. 如果你使用的是腾讯云的Ubuntu,登陆的时候用户名可能是ubuntu,进入后可以使用 sudo -i 切换为高级用户

一、创建数据库

create database db_name;

示例: 

mysql> create database love_diary;
Query OK, 1 row affected (0.01 sec)

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| helloworld         |
| information_schema |
| love_diary         |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
6 rows in set (0.00 sec)


其中, show databases; 可以查看所有的数据库,以此来验证我们的操作是否成功。

二、删除数据库

drop database db_name;

在创建或删除数据库时,还可以指定数据库的字符集和校验规则,现在先不着急看如何在使用SQL句柄时指定,下面先来了解一下什么是字符集和校验规则

三、字符集和校验规则

创建数据库时,如果不指定编码集,系统会使用默认的编码集,这样的编码集有两个:

1.数据库字符集:数据库存储时使用的规则(将各种字符转换为二进制格式的规则)。

2.数据建库校验集:数据库如何对文本数据进行比较和排序的规则(如A和B哪个排在前面)。

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

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


以上是我的MySQL默认的编码集,每个人的可能大同小异,基本都是 utf8

3.2 查看数据库支持的字符集

show charset;

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

show collation;

3.4 指定编码集

create database db_name charset = utf8;

create database db_name character set utf8;

create database db_name collate utf8_general_ci;

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

3.4.1 不区分大小写

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

mysql> create database test1 collate utf8_general_ci;// 指定校验规则
Query OK, 1 row affected, 1 warning (0.00 sec)

mysql> use test1; // 使用数据库
Database changed
mysql> create table person(name varchar(20));// 新建 table
Query OK, 0 rows affected (0.03 sec)

mysql> insert into person values('a');
Query OK, 1 row affected (0.01 sec)

mysql> insert into person values('A');
Query OK, 1 row affected (0.01 sec)

mysql> insert into person values('b');
Query OK, 1 row affected (0.00 sec)

mysql> insert into person values('B');
Query OK, 1 row affected (0.00 sec)

mysql> select * from person where name='a';// 查询表中name='a'的数据成员
+------+
| name |
+------+
| a         |
| A         |
+------+

2 rows in set (0.00 sec)

可以看到如果使用不区分大小写的校验规则,那么在查询 'a' 时,不论是 'A' 还是 'a' ,系统都会列出。下面来看看使用区分大小写的校验规则。

3.4.2 区分大小写

mysql> create database test2 collate utf8_bin;
Query OK, 1 row affected, 1 warning (0.01 sec)

mysql> use test2;
Database changed
mysql> create table person(name varchar(20));
Query OK, 0 rows affected (0.03 sec)

mysql> insert into person values('a');
Query OK, 1 row affected (0.00 sec)

mysql> insert into person values('A');
Query OK, 1 row affected (0.00 sec)

mysql> insert into person values('b');
Query OK, 1 row affected (0.01 sec)

mysql> insert into person values('B');
Query OK, 1 row affected (0.01 sec)
mysql> select * from person where name='a';
+------+
| name |
+------+
| a        |
+------+
1 row in set (0.00 sec)

当使用区分大小写的校验规则时,查出来的数据就是严格遵循大小写的。

四、 操纵数据库

4.1 查看数据库

4.1.1 查看所有数据库

show databases;

4.1.2 查看当前使用的数据库

select database();

4.1.4 查看创建库时的语句

show create database db_name \G


\G 代替 ; 可以省略不必要的符号,如果不使用 \G ,则相对凌乱:

4.3 进入库

use db_name;

4.4 修改库

可以修改数据库的字符集:

mysql> alter database test1 charset=gbk;
Query OK, 1 row affected (0.01 sec)

也可以修改校验集:

mysql> alter database test1 collate utf8_bin;
Query OK, 1 row affected, 1 warning (0.01 sec)

五、备份和恢复

5.1 备份库

在Linux命令行可输入以下命令:

root@VM-12-10-ubuntu:/home/flash/MySQL# mysqldump -P3306 -uroot -p -B test1 > test1.sql
Enter password: 
root@VM-12-10-ubuntu:/home/flash/MySQL# ll
total 16
drwxr-xr-x 2 root  root  4096 Sep  8 19:36 ./
drwxr-x--- 8 flash flash 4096 Sep  7 21:32 ../
-rw-r--r-- 1 root  root  2040 Sep  8 19:36 test1.sql

备份后的文件可以指定路径,既可以使用绝对路径,也可以使用相对路径。

5.2 恢复

恢复就是在MySQL中了,现在先删除 test1 这个数据库:

mysql> drop database test1;
Query OK, 1 row affected (0.03 sec)

再使用以下命令恢复:

mysql> source /home/flash/MySQL/test1.sql

可以发现,MySQL中重新生成了 test1 这个 database:

5.3 备份表

备份表时可以不使用 -B 选项,该选项是为了指明数据库,备份表可以使用以下命令:

mysqldump -uroot -p db_name 表名1 表名2 > 路径/文件名;

六、查看连接情况

与 WiFi 类似,MySQL如果有多个用户使用时也会卡顿,可以使用以下命令查看当前使用 MySQL 的用户:

show processlist;

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

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

相关文章

汽车测试展︱AUTO TECH 2025 广州国际汽车测试测量技术展览会

汽车测试展︱AUTO TECH 2025 广州国际汽车测试测量技术展览会 The China Guangzhou Automotive Test Expo 2025 2025年11月20-22日,专注于华南地区专业的汽车质量控制展览会,将在广州保利世贸博览馆继续举办。是关于各种汽车测试解决方案的专业展如汽车电…

[C高手编程] static与extern: 作用域、可见性与存储类全面解析

💖💖⚡️⚡️专栏:C高手编程-面试宝典/技术手册/高手进阶⚡️⚡️💖💖 「C高手编程」专栏融合了作者十多年的C语言开发经验,汇集了从基础到进阶的关键知识点,是不可多得的知识宝典。如果你是即将…

高职人工智能训练师边缘计算实训室解决方案

一、引言 随着物联网(IoT)、大数据、人工智能(AI)等技术的飞速发展,计算需求日益复杂和多样化。传统的云计算模式虽在一定程度上满足了这些需求,但在处理海量数据、保障实时性与安全性、提升计算效率等方面…

jenkins 部署应用到多个环境

在日常开发的过程中,我们经常会遇到将应用程序部署到多个环境的需求场景,如会先发布到测试环境,由测试人员进行测试,成功之后,会继续将当前应用部署到集成环境,进行集成测试,全部通过后&#xf…

单位权中误差 详细介绍

单位权中误差(Unit Weight Error, UWE)是用于描述测量数据不确定性的一个统计量,特别是在地理信息系统(GIS)、导航和定位系统中。它主要用于评估和比较不同测量系统或算法的精度。以下是对单位权中误差的详细介绍&…

C++第一节入门

一、历史 C是在C上继承拓展的! java是一家公司(甲骨文)借鉴C生成的! C#是微软借鉴java生成的! 二、命名空间 当我们定义一个名叫rand的变量,但是由于stdlib头文件里面有个函数跟rand重名!因此…

如何在 Linux 系统中禁用用户登录 ?

管理 Linux 系统上的帐户是系统管理员的一项重要任务。一个常见的任务是禁用帐户,由于各种原因可能需要禁用帐户,例如当员工离开公司或出于安全目的需要临时禁用访问时。 本指南将以简单易懂的步骤引导您完成在 Linux 系统上禁用帐户的过程。 Step 1: …

Ruoyi Cloud 本地启动

参考 http://doc.ruoyi.vip/ https://gitee.com/y_project/RuoYi-Cloud https://blog.csdn.net/cs_dnzk/article/details/135289966 https://doc.ruoyi.vip/ruoyi-cloud/cloud/seata.html#%E5%9F%BA%E6%9C%AC%E4%BB%8B%E7%BB%8D 拉取代码本地跑通 用 git 从 ruoyi 微服务版仓…

HCIA--实验十一:单区域OSPF路由实验

一、实验内容 1.需求/要求: 使用三个路由器互联,各自配置一个loopback接口,在三个路由器上配置ospf动态路由协议; 二、实验过程 1.拓扑图: 2.步骤: 1.router配置基本信息 各接口的ip地址、loopback接…

华为OD机试真题 - 特殊的加密算法 - 深度优先搜索DFS(Python/JS/C/C++ 2024 D卷 200分)

华为OD机试 2024E卷题库疯狂收录中,刷题点这里 专栏导读 本专栏收录于《华为OD机试真题(Python/JS/C/C)》。 刷的越多,抽中的概率越大,私信哪吒,备注华为OD,加入华为OD刷题交流群,…

C++:priority_queue(优先级队列)的模拟实现

目录 一、什么是优先级队列 二、优先级队列的定义 三、优先级队列的常用接口 四、模拟实现一个优先级队列 1、posh接口 2、empty接口、size接口和top接口 3、pop接口 4、构造函数 五、整体代码 一、什么是优先级队列 首先优先级队列不是队列,C 中的优先队…

IP包头的总长度字段和UDP包头的长度字段之间的关系

IP包头的总长度字段和UDP包头的长度字段之间的关系,并通过实例加以说明。 IP包头的总长度字段 **总长度(Total Length)**字段是一个16位的字段,表示整个IP数据包的总长度,包括IP包头和数据部分。单位是字节。由于该字…

AI一键生成 PPT

AI一键生成 PPT 操作步骤 作为一名打工人,是不是经常需要制作各种PPT来分享我的生活和想法。但是,你们知道,有时候灵感来了,时间却不够用了!😩直到我发现了Kimi AI——一个能够自动生成PPT的神奇助手&#…

PID控制算法(二)

&#xff08;BIlibili借鉴&#xff09;PID参数整定连接&#xff1a;Webpack App (rossning92.github.io) C的基本程序代码&#xff1a; 借鉴链接&#xff1a;PID超详细教程——PID原理串级PIDC代码在线仿真调参-CSDN博客 #include <iostream>using namespace std;stru…

【信创】统信UOS桌面UT-2024-0027漏洞修复

原文链接&#xff1a;【信创】统信UOS系统UT-2024-0027漏洞修复 Hello&#xff0c;大家好啊&#xff01;今天给大家带来一篇关于统信UOS桌面操作系统UT-2024-0027漏洞修复的文章。漏洞修复是确保系统安全性的重要步骤&#xff0c;及时更新和修复系统中的安全漏洞&#xff0c;可…

大数据之Flink(三)

9.3、转换算子 9.3.1、基本转换算子 9.3.1.1、映射map 一一映射 package transform;import bean.WaterSensor; import org.apache.flink.streaming.api.datastream.DataStreamSource; import org.apache.flink.streaming.api.datastream.SingleOutputStreamOperator; impor…

Go开源日志库Logrus的使用

一、Logrus简介 Logrus 是一个流行的 Go 语言日志库&#xff0c;以其功能强大、性能高效和高度灵活性而闻名。有关更多介绍可查看 Logrus。 主要特点 丰富的日志级别&#xff1a;Logrus 支持多种日志级别&#xff0c;包括 Debug、Info、Warn、Error、Fatal 和 Panic&#xf…

深入理解数据库的 4NF:多值依赖与消除数据异常

在数据库设计中&#xff0c; "范式" 是一个常常被提到的重要概念。许多初学者在学习数据库设计时&#xff0c;经常听到第一范式&#xff08;1NF&#xff09;、第二范式&#xff08;2NF&#xff09;、第三范式&#xff08;3NF&#xff09;以及 BCNF&#xff08;Boyce-…

RESTful 还是 JSON-RPC

前言 RESTful 比较简单地说就是&#xff0c;大家请求一样的url&#xff08;GET方法有一个例外&#xff0c;url中带了一个id&#xff09;&#xff0c;通过不同的请求方法&#xff0c;分别进行不同的操作&#xff08;CRUD&#xff09;。 JSON-RPC JSON-RPC是一个无状态且轻量级…