『 MySQL数据库 』数据库基础之库的基本操作

news2024/11/24 11:43:21

文章目录

  • 库的操作
    • 创建数据库
      • 字符集与校验集
        • 那么该如何查看当前数据库默认的字符集与校验规则?
        • 查看数据库所支持的字符集与校验集
        • 不同字符集(校验集)之间的区别
    • 基本操作
      • 查看数据库
      • 显式数据库创建语句
      • 数据库的修改
      • 数据库的删除
      • 数据库的备份
      • 检查连接

库的操作

创建数据库

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

create_specification:
[DEFAULT] CHARACTER SET charset_name #编码集
[DEFAULT] COLLATE collation_name	#校验集

以上即为创建数据库的基本语法

其中:

  • 大写字母表示关键字 当然在MySQL中关键字不区分大小写;

  • []表示 可选项(若是不需要可选项即可默认建库);

    CREATE DATABASE db_name;

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

  • COLLATE:表示指定数据库字符集的校验集;

例:

CREATE DATABASE IF NOT EXISTS test1 CHARACTER SET utf8; #建立一个字符集为utf8的test1数据库;
CREATE DATABASE IF NOT EXISTS test2 CHARSET=utf8 COLLATE utf8_general_ci;#建立一个字符集为utf8且校验集为utf8_general_ci的test2数据库;

字符集与校验集

数据库主要用两个编码集,分别为字符集校验集;

  • 数据库编码集

    所谓字符集即为数据存入数据库时的编码形式(写);

  • 数据库校验集

    所谓数据库校验集即为支持数据库字段比较所使用的编码,本质上也是读取数据时所采用的格式(读);

但实际上在操作中,无论是什么操作,都需要尽量要使编码一致;

假设编码集采用utf-8而校验集采用gbk则可能出现未知的错误;

那么该如何查看当前数据库默认的字符集与校验规则?
show variables like 'character_set_database'; #查看默认字符集
show variables like 'collation_database'; #查看默认校验规则

而实际上在对/etc/my.cnf的mysql的配置文件中就已经配置了默认的编码格式为utf-8;


查看数据库所支持的字符集与校验集

除了查看默认的字符集与校验集以外还可以查看数据库所支持的字符集与校验集;

show charset; #查看数据库所支持的字符集
show collation; #查看数据库所支持的校验集


不同字符集(校验集)之间的区别

假设存在test1test2两个数据库;

其中两个数据库的字符集都为utf8;

test1数据库的校验集为utf8_general_ci[不区分大小写],test2数据库的校验集为utf8_bin[区分大小写];

同时都建立一个名为Person的表;

其表内数据如下:;

可使用SELECT * FROM Person来读取表内数据(前提是先得use该数据库);

同时也可使用SELECT * FROM Person WHERE name='a';来指定显式对应的数据;

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

这两张图表示了校验集的不同对库中数据中的影响;

  • 同时也可以使用SELECT * FROM Person ORDER BY name;

    显式该表以name属性升序排序之后的结果;

由于校验集的不同导致读取数据时状态的不同;

虽然都是以升序排序,但是utf8_general_ci校验集不区分大小写,默认根据大小写的升降顺序进行排序;

utf8_bin区分大小写,即根据ASCII码进行排序;



基本操作

查看数据库

查看数据库时可使用SHOW DATABASES;进行查看;

若是不知道当前所使用数据库是哪个则可以调用SELECT DATABASE()进行查看;


显式数据库创建语句

若是想知道数据库的创建语句则可以调用SHOW CREATE DATABASE db_name;进行查看;

其中db_name代表数据库名;

在这里必须注意两个点:

  • 该显示中的'test1'中的''是防止该数据库名正好为数据库语句中的关键字;

  • /*!40100 DEFAULT CHARACTER SET utf8*/并不是注释的意思;

    而是:若是你的MySQL版本大于40100则执行该语句;


数据库的修改

这里的数据库的修改主要是对数据库的字符集以及校验集进行修改;

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

例:ALTER DATABASE test2 CHARSET=gbk COLLATION gbk_chinese_ci;


数据库的删除

数据库的删除的语法为DROP DATABASE [IF EXISTS] db_name;

  • 其中[]内为可选项;
  • 当数据库被删除时,数据库内的表以及数据都将被删除(建议尽量不要删除数据库);

数据库的备份

备份

数据库的备份语法为

# mysqldump -P3306 -uroot -p密码 -B数据库名 > 备份路径

例:# mysqldump -P3306 -uroot -p -B test2 > ./test2.sql(当前目录为/home/_User/MySQL,由于备份至当前目录,所以目录只需要到.);


当然也可以进入该备份文件查看:

实际上所备份的为历史中对该数据库操作的各种有效操作;


恢复

恢复(导入)数据库的语法为

mysql> SOURCE 路径

例如: mysql> SOURCE /home/_User/MySQL/test2.sql;

当数据库导入回的时候,会在数据库内进行备份的数据库中进行的所有操作;


备份表

若是备份的是表的话,指令即为:

\# mysqldump -u root -p 数据库名 表名1 表名2 > 保存路径;

与备份库与之不同的是,备份表时并不需要-B指令;

-B指令表示建库的操作,若是不指明-B选项则不会保留建库操作;


备份多个库

当备份多个库时指令即为

# mysqldump -P3306 -uroot -p -B db1_name db2_name > 保存路径

需要注意:若是在备份数据库时没有指明-B,则在恢复的时候需要先建库,再进行恢复!!!


检查连接

检查连接的指令为

SHOW PROCESSLIST;

该指令用于查看MySQL的连接状态;

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

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

相关文章

记一次 Android 周期性句柄泄漏的排查

滴滴国际化外卖 Android 商户端正常迭代版本过程中,新版本发布并且线上稳定一段时间后,突然触发线上 Crash 报警。 第一次排查发现是在依赖的底层平台 so 库中崩溃,经过沟通了解到其之前也存在过崩溃问题,所以升级相关底层 so 版本…

家居品牌怎么做小红书投放,寻找家居达人的方式有哪些?

在当今社交媒体的时代,找到优秀的家居博主并不困难。但是,在找家居行业博主的时候,了解家居行业特性就很重要,今天来为大家分享一下家居品牌怎么做小红书投放,寻找家居达人的方式有哪些? 一、家居行业特性 …

共享盘的文件删除后能找回吗

在当今高度信息化的时代,数据和文件的重要性日益凸显。然而,由于各种原因,我们有时会不小心删除了一些重要的文件,这时候就会面临数据恢复的问题。那么,对于共享盘的文件,删除后是否还能找回呢?…

conda环境下version libcublasLt.so.11 not defined问题解决

1 问题描述 运行模型训练&#xff0c;错误信息如下&#xff1a; Traceback (most recent call last):File "/opt/Bert-VITS2/./text/chinese_bert.py", line 3, in <module>import torchFile "/root/anaconda3/envs/vits/lib/python3.9/site-packages/t…

如何从存档服务器上完全删除PDM用户

当创建新用户时使用“PDM 登录”类型&#xff08;如下图&#xff09;&#xff0c;PDM用户名和密码会存储于存档服务器的注册表中。 存档服务器的注册表位置如下&#xff1a; HKEY_LOCAL_MACHINE\SOFTWARE\SolidWorks\Applications\PDMWorks Enterprise\ArchiveServer\ConisioU…

【Vue】组件封装小技巧 — 利用$attrs和v-bind接收传递未定义的属性

使用介绍 在Vue.js中&#xff0c;$attrs 和v-bind可以用于组件的二次封装&#xff0c;以在封装的组件中传递父组件的属性和事件。这对于创建高度可定制的通用组件非常有用。 下面是一些示例代码&#xff1a; 假设你有一个名为MyButton的自定义按钮组件&#xff0c;它接受一些…

Apipost发起请求,能正确返回,日志却打印java.io.EOFException: null 的原因

http响应头首部Content-Length - 程序员大本营 http响应头首部Content-Length HTTP Content-Length深入实践-CSDN博客 用了这么久HTTP, 你是否了解Content-Length?-CSDN博客 具体分析可看上面参考文章。 解决办法&#xff1a;可在请求头加上Content-Length&#xff0c;准确…

linux服务器添置一块新硬盘操作

之前有一台ubuntu服务器&#xff0c;考虑未来存储容量可能不够&#xff0c;添加了一块新的硬盘&#xff0c;这是本次添置硬盘过程。 首次接上硬盘&#xff0c;提示&#xff1a; 没有找到新接入设备&#xff0c;查看接线&#xff0c;主板有个硬盘接线端子坏了&#xff0c;更换一…

机器视觉opencv答题卡识别系统 计算机竞赛

0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; 答题卡识别系统 - opencv python 图像识别 该项目较为新颖&#xff0c;适合作为竞赛课题方向&#xff0c;学长非常推荐&#xff01; &#x1f947;学长这里给一个题目综合评分(每项满分5分…

新翔绩效考核系统

介绍&#xff1a; 新翔绩效考核系统&#xff0c;是新翔软件有限公司整合众多企事业单位绩效考核需求&#xff0c;而开发的网络版绩效管理软件。软件分前台手机端评分页面和后台电脑端管理页面&#xff0c;可实现360度绩效考核、KPI考核等模式考核&#xff0c;评分方式多样、设…

计算机毕设 基于情感分析的网络舆情热点分析系统

文章目录 0 前言1 课题背景2 数据处理3 文本情感分析3.1 情感分析-词库搭建3.2 文本情感分析实现3.3 建立情感倾向性分析模型 4 数据可视化工具4.1 django框架介绍4.2 ECharts 5 Django使用echarts进行可视化展示5.1 修改setting.py连接mysql数据库5.2 导入数据5.3 使用echarts…

【网络面试必问(6)】IP协议对网络包的转发

接上一篇&#xff1a;【网络面试必问&#xff08;5&#xff09;】网络收发数据及断开服务器&#xff08;四次挥手&#xff09; 在之前的博客中&#xff0c;我们提到过&#xff0c;网络传输的报文是有真实的数据包和一些头部组成的&#xff0c;目前我们了解的头部就有TCP头、IP头…

VueUse、View Transitions API实现暗黑模式主题动画切换效果

VueUse、View Transitions API实现暗黑模式主题动画切换效果 前言View Transitions API兼容版本 VueUse 正题效果安装代码 作者GitHub&#xff1a;https://github.com/gitboyzcf 有兴趣可关注&#xff01;&#xff01; 前言 View Transitions API View Transitions API 是原生…

华东理工大学漏洞报送证书

获取来源&#xff1a;edusrc&#xff08;教育漏洞报告平台&#xff09; url&#xff1a;主页 | 教育漏洞报告平台 兑换价格&#xff1a;20金币 获取条件&#xff1a;提交华东理工大学任意中危或以上级别漏洞 证书规格&#xff1a;附送图二实物及封皮

[ Linux Busybox ] nandwrite 命令解析

文章目录 相关结构体nandwrite 函数实现nandwrite 实现流程图 文件路径&#xff1a;busybox-1.20.2/miscutils/nandwrite.c 相关结构体 MTD 相关信息结构体 struct mtd_info_user {__u8 type; // MTD 设备类型__u32 flags; // MTD设备属性标志__u32…

【Proteus仿真】【STM32单片机】水质监测报警系统设计

文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介 本项目使用Proteus8仿真STM32单片机控制器&#xff0c;使用按键、LED、蜂鸣器、LCD1602、PCF8591 ADC、PH传感器、浑浊度传感器、DS18B20温度传感器、继电器模块等。 主要功能&#xff1a; 系统运行后&a…

汽车标定技术(七)--基于模型开发如何生成完整的A2L文件(2)

目录 1. 自定义ASAP2文件 2. asap2userlib.tlc需要修改的部分 3. 标定量观测量地址替换 3.1 由elf文件替换 3.2 由map文件替换 3.3 正则表达式&#xff08;含asap2post.m修改方法&#xff09; 4.小结 书接上文汽车标定技术(五)--基于模型开发如何生成完整的A2L文件(1)-C…

考研408-计算机网络 第二章-物理层学习笔记及习题

第二章 物理层 一 通信基础 1.1 物理层基本概念 1.1.1 认识物理层 物理层目的&#xff1a;解决如何在连接各种计算机的传输媒体上传输数据比特流&#xff0c;而不是具体的传输媒体。 物理层主要任务&#xff1a;确认与传输媒体接口有关的一些特性&#xff0c;需要进行定义标…

Kafka(消息队列)--简介

1、kafka&#xff1a; 是一个高吞吐的分布式消息系统&#xff0c;与Hdfs比较相似&#xff0c;但是与hdfs的区别是在于hdfs是存储的是历史的、海量的数据&#xff0c;然而kafka存储的是实时的、最新的数据。 2、消息队列&#xff1a; 指的是在Kafka中的数据队列。可以存放数据在…

华为数通方向HCIP-DataCom H12-831题库(多选题:141-160)

第141题 项目实施方案主要包含哪些项? A、风险控制措施 B、人员安排 C、时间规划 D、割接流程 答案:ABCD 解析: 项目实施方案主要包括:时间规划、人员安排、割接流程、风险控制措施。 第142题 以下哪些广域网链路属于报文交换网? A、PSIN B、ISDN C、X.25 D、ATM E、MSTP…