『MySQL快速上手』-③-库的操作

news2024/9/29 19:31:33

文章目录

  • 1.创建数据库
  • 2.创建数据库案例
  • 3.字符集和校验规则
    • 3.2 校验规则对数据库的影响
      • 3.2.1 进行查询
      • 3.2.2 进行排序
  • 4.字符集和检验规则的作用
  • 5.操纵数据库
    • 5.1 查看数据库
    • 5.2 显示创建语句
    • 5.3 修改数据库
    • 5.4 数据库删除
  • 6.备份与恢复
    • 6.1 备份
    • 6.2 还原
    • 6.3 注意事项
  • 7.查看数据库连接情况

在这里插入图片描述

1.创建数据库

语法格式如下:

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

create_specification:
[DEFAULT] CHARACTER SET charset_name
[DEFAULT] COLLATE collation_name

说明:

  • 大写的表示关键字(SQL指令是大小写忽略的,小写也没问题);

  • [] 是可选项;

  • CHARACTER SET: 指定数据库采用的字符集

  • COLLATE: 指定数据库字符集的校验规则

2.创建数据库案例

  • 创建数据库,命名为db1
create database db1

说明:

当我们创建数据库没有指定字符集和校验规则时,系统使用默认字符集utf8,校验规则是:utf8_ general_ ci。这由MySQL的配置文件决定。

  • 查看MySQL配置文件
cat /etc/my.cnf

在这里插入图片描述

  • 创建一个使用utf8字符集db2 数据库;
create database db2 charset=utf8;
  • 创建一个使用utf8字符集,并带校对规则的 db3 数据库;
create database db3 charset=utf8 collate utf8_general_ci;

3.字符集和校验规则

  • 查看系统默认字符集以及校验规则
show variables like 'character_set_database';
show variables like 'collation_database';

在这里插入图片描述

  • 查看数据库支持的字符集
show charset;
  • 查看数据库支持的字符集校验规则
show collation;

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

我们可以从下面这个示例中看出校验规则对数据库的影响。

  1. 创建一个数据库,校验规则使用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');
  1. 创建一个数据库,校验规则使用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');

3.2.1 进行查询

  • 不区分大小写的查询以及结果
use test1;
select * from person where name='a';

在这里插入图片描述

  • 区分大小写的查询以及结果;
use test2;
select * from person where name='a';

在这里插入图片描述

3.2.2 进行排序

  • 不区分大小写排序以及结果:
use test1;
select * from person order by name;

在这里插入图片描述

  • 区分大小写排序以及结果:

在这里插入图片描述

4.字符集和检验规则的作用

数据库中的字符集(Character Set)和字符集校验规则(Collation)是用于定义和管理数据库中文本数据存储和比较的重要设置。它们的作用如下:

  1. 字符集(Character Set):

    • 定义了数据库中可以存储的字符集合,包括字母、数字、符号等。
    • 确定了数据库如何存储和表示不同字符和符号。
    • 不同的字符集支持不同的字符编码方式,如UTF-8、UTF-16、ISO-8859-1等。
    • 可以影响文本数据的存储空间和性能。
  2. 字符集校验规则(Collation):

    • 确定了文本数据的比较和排序方式,即如何对文本数据进行比较、搜索和排序。
    • 根据字符集校验规则,相同的字符可能在排序时被视为不同。
    • 支持不同语言和文化的排序规则,以确保文本数据的正确比较和排序。
    • 不同的字符集校验规则可能会影响查询结果的顺序和比较操作的行为。

这些设置对数据库的正确性、性能和多语言支持非常重要。以下是一些具体作用:

  • 数据完整性:字符集和字符集校验规则有助于确保数据存储的一致性和正确性。它们防止了不同字符之间的混淆,确保数据正确存储和检索。

  • 多语言支持:不同语言使用不同的字符集和校验规则,因此数据库必须支持多种字符集和校验规则,以适应不同语言的数据。

  • 搜索和排序:字符集校验规则决定了文本数据的搜索和排序方式。它们确保文本数据按照正确的规则进行比较和排序,以获得正确的查询结果。

  • 存储空间效率:不同字符集和编码方式可以影响数据存储的空间效率。例如,某些字符集需要更多的存储空间来表示特定字符。

  • 数据交互:当与其他系统或应用程序进行数据交互时,字符集和字符集校验规则的一致性非常重要,以确保数据正确传输和解释。

总之,字符集和字符集校验规则是数据库中用于管理文本数据的关键设置,它们影响了数据的正确性、性能和多语言支持,因此在创建和维护数据库时需要特别注意。

5.操纵数据库

5.1 查看数据库

show databases;

在这里插入图片描述

5.2 显示创建语句

show create database 数据库名;

在这里插入图片描述
说明:

  • 数据库名字的反引号``,是为了防止使用的数据库名刚好是关键字
  • /*!40100 default… */ 这个不是注释,表示当前mysql版本大于4.01版本,就执行这句话;

5.3 修改数据库

语法格式如下:

ALTER DATABASE db_name
[alter_spacification [,alter_spacification]...]

alter_spacification:
[DEFAULT] CHARACTER SET charset_name
[DEFAULT] COLLATE collation_name
  • 对数据库的修改主要指的是修改数据库的字符集,校验规则

案例——将test1数据库字符集改成gbk

alter database test1 charset=gbk;

在这里插入图片描述

5.4 数据库删除

语法格式如下:

DROP DATABASE [IF EXISTS] db_ name;

执行删除之后的结果:

  • 数据库内部看不到对应的数据库;
  • 对应的数据库文件夹被删除,级联删除里面的数据表全部被删

6.备份与恢复

6.1 备份

语法格式如下:

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

案例——将test1库备份到文件

  • 首先退出mysql;

  • test1备份到 ./test1.sql

$ mysqldump -P3306 -u root -p -B test1 > ./test1.sql
  • 查看备份文件test1.sql;
  • test1.sql 文件里的内容,其实把我们整个创建数据库,建表,导入数据的语句都装载这个文件中;
$ cat ./test1.sql

在这里插入图片描述

6.2 还原

  • 登入MySQL,删除test1
drop database test1;
show databases;

在这里插入图片描述

  • 还原;
source ./test1.sql;
show databases;

在这里插入图片描述

6.3 注意事项

  • 如果备份的不是整个数据库,而是其中的一张表,怎么做?
$ mysqldump -u root -p 数据库名 表名1 表名2 > 备份文件路径
  • 同时备份多个数据库
$ mysqldump -u root -p -B 数据库名1 数据库名2 ... > 备份文件路径
  • 如果备份一个数据库时,没有带上-B参数, 在恢复数据库时,需要先创建空数据库,然后使用数据库,再使用source来还原;

7.查看数据库连接情况

语法:

show processlist

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

在这里插入图片描述

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

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

相关文章

2023年最热门的五大编程技术趋势

2023年最热门的五大编程技术趋势 摘要:本文将介绍2023年最热门的五大编程技术趋势,包括人工智能、区块链、WebAssembly、5G和边缘计算以及自动化。我们将详细讨论这些趋势的当前状态、未来展望以及如何利用这些技术来提高您的编程技能。 一、前言 随着…

【NI-DAQmx入门】数据流盘

1.NI-DAQmx高速数据流盘 1.1什么是TDMS格式 TDMS文件格式是NI推荐易于交换、固有结构化、具有高速流传输能力的文件格式,用于将基于时间的测量数据保存到磁盘,以实现高性能、可用性和复用性。借助NI-DAQmx驱动,可以实现将数据快速传输到磁盘…

【vue3】引入高德地图并初始化

npm安装amap/amap-jsapi-loader包 <script setup> import AMapLoader from amap/amap-jsapi-loader; /*在Vue3中使用时,需要引入Vue3中的shallowRef方法 (使用shallowRef进行非深度监听, 因为在Vue3中所使用的Proxy拦截操作会改变JSAPI原生对象 否则会出现问题,建议JSAP…

学习笔记:利用CANOE Panel和CAPL脚本模拟主节点发送LIN通信指令

前一篇文章已经对CANOE如何模拟主节点和从节点进行LIN通信做了简单的记录&#xff0c;修改主节点发送的指令需要修改LIN ISC模块里的Frames帧对应的signal。这样改起来比较麻烦且不直观&#xff0c;幸好CANOE提供了Panel designer这样的工具&#xff0c;我们可以利用它设计自己…

谷歌浏览器配置允许跨域

1、在谷歌浏览器导航栏搜索chrome://flags 2、搜索Block insecure private network requests 3、修改状态

代码随想录打卡第六十三天|84.柱状图中最大的矩形

84.柱状图中最大的矩形 题目&#xff1a;给定 n 个非负整数&#xff0c;用来表示柱状图中各个柱子的高度。每个柱子彼此相邻&#xff0c;且宽度为 1 。求在该柱状图中&#xff0c;能够勾勒出来的矩形的最大面积。 提示&#xff1a; 1 < heights.length <105 0 < h…

C语言:对于宏的一些概念及技巧

一、前言 宏在C语言中是一段有名称的代码段&#xff0c;在程序编译过程中&#xff0c;会将宏的内容被这段代码进行替换&#xff0c;常常用于定义一些常量、函数、代码块等&#xff0c;由于近年来发现许多公司进行面试时对于宏的面试题尤为多&#xff0c;故本文将对C语言中的宏的…

基于springboot实现招生平台管理系统项目【项目源码+论文说明】

基于springboot实现招生管理系统演示 摘要 在Internet高速发展的今天&#xff0c;我们生活的各个领域都涉及到计算机的应用&#xff0c;其中包括招生管理系统的网络应用&#xff0c;在外国招生管理系统已经是很普遍的方式&#xff0c;不过国内的管理网站可能还处于起步阶段。招…

使用Keepalived实现双机热备,实现服务高可用

安装&#xff08;所有节点&#xff09; yum -y install keepalived修改配置 vi /etc/keepalived/keepalived.conf :set nu //显示行号 :35 dG // 删除35行以后的所有行ip a将master1虚拟机挂起&#xff0c;再次执行ip a 看vip是否漂移到另一台虚拟机worker1 漂移了&…

一图搞懂傅里叶变换(FT)、DTFT、DFS和DFT之间的关系

自然界中的信号都是模拟信号&#xff0c;计算机无法处理&#xff0c;因此我们会基于奈奎斯特定理对模拟信号采样得到数字信号。 但是我们发现&#xff0c;即便是经过采样&#xff0c;在时域上得到了数字信号&#xff0c;而在频域上还是连续信号。 因此我们可以在时域中选取N点…

Softing TDX——设计模板

| 高质量的设计模板——减少开发诊断仪所需的工作量 现今&#xff0c;用户对诊断仪的界面和操作理念提出了更高的要求。一个直观的用户界面既能减少用户熟悉诊断仪的时间&#xff0c;又能减少在日常工作中进行诊断任务的时间。然而&#xff0c;创建一个精巧又独立于平台的诊断…

apollo docker搭建

1 mysql搭建 先需要一个mysql&#xff0c;mysql我使用的是5.7&#xff0c;搭建过程忽略 2 数据导入 我们需要从github上下载apolloportaldb.sql, apolloconfigdb.sql 2个sql 随后cp apolloconfigdb.sql apolloconfigdbUat.sql cp apolloconfigdb.sql apolloconfigdbDev.sq…

翻转二叉树(C++解法)

题目 给你一棵二叉树的根节点 root &#xff0c;翻转这棵二叉树&#xff0c;并返回其根节点。 示例 1&#xff1a; 输入&#xff1a;root [4,2,7,1,3,6,9] 输出&#xff1a;[4,7,2,9,6,3,1]示例 2&#xff1a; 给你一棵二叉树的根节点 root &#xff0c;翻转这棵二叉树&…

STM32G0+EMW3080+阿里云飞燕平台实现单片机WiFi智能联网功能(三)STM32G0控制EMW3080实现IoT功能

项目描述&#xff1a;该系列记录了STM32G0EMW3080实现单片机智能联网功能项目的从零开始一步步的实现过程&#xff1b;硬件环境&#xff1a;单片机为STM32G030C8T6&#xff1b;物联网模块为EMW3080V2-P&#xff1b;网联网模块的开发板为MXKit开发套件&#xff0c;具体型号为XCH…

chrome安装Vue Devtools插件以及无法添加来自此网站的应用问题

chrome安装Vue Devtools插件以及无法添加来自此网站的应用问题 问题背景 Chrome Vue插件是一款可以帮助前端开发人员在浏览器中实时查看和编辑Vue组件和数据的工具。给前端开发人员提供了极大的便利。本文将介绍Chrome浏览器中如何安装Devtools插件。 问题分析 &#xff08…

SpringBoot上传与下载文件

使用SpringBoot的虚拟路径映射。 Config中的类 import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; import o…

iconfont 图标使用

&#xff08;1&#xff09;在阿里巴巴矢量图标库注册账号&#xff0c;然后让同伴拉你进项目iconfont-阿里巴巴矢量图标库 &#xff08;2) 点击资源管理 - 我的项目 - 可以看见该项目的图标了 &#xff08;3&#xff09;点击上传图标至项目 - 可以上传图标 使用图标 &#x…

使用高德地图获取定位报错:INVALID_USER_SCODE(无效用户代码)

1. 确定自己已经申请了相关应用的key&#xff0c;这里有两个key 一个是应用的Key&#xff0c;一个是安全密钥 2. 应用key一般是发送请求的是后通过key"xxx"发送 3. 安全密钥要在head里加入进去 <script type"text/javascript">window._AMapSecuri…

CocosCreator使用物理引擎和回调

在2d中开启碰撞需要在项目设置–功能裁剪–2D物理系统【选择 基于Box2D的2D物理系统】 如果想要两个物体碰撞&#xff0c;则需要添加刚体和碰撞【&#xff01;&#xff01;重点】 设置刚体类型 可以设为四种&#xff0c; Static 静态刚体&#xff0c;零质量&#xff0c;零速度…

《微服务架构设计模式》之三:微服务架构中的进程通信

概述 交互方式 客户端和服务端交互方式可以从两个维度来分&#xff1a; 维度1&#xff1a;一对一和多对多 一对一&#xff1a;每个客户端请求由一个实例来处理。 一对多&#xff1a;每个客户端请求由多个实例来处理。维度2&#xff1a;同步和异步 同步模式&#xff1a;客户端…