03 库的操作

news2024/9/22 17:37:46

目录

  1. 创建
  2. 查看
  3. 修改
  4. 删除
  5. 备份和恢复
  6. 查看连接情况

1. 创建

语法

CRATE DATABASE [IF NOT EXISTS] db_name [create_specification [, create_specification] …]

create_specification:
 CHARACTER SET charset_name
 CPLLATE collation_name

说明:
大写的标识关键字
[]是可选项
CHARACTER SET:指定数据库采用的字符集
COLLATE:指定数据库字符集的校验规则
create_specification:采用的编码规则

创建数据库时有两个编码集,分为数据库编码集和校验集,编码集市数据库存储数据时使用的,椒盐基支持数据库比较使用的编码,本质是一种读取数据库中采用的编码格式
数据库无论任何操作,都必须保证操作和存储是编码一致的

案例

  • 先进入数据库存放文件夹

cd var/lib.mysql

在这里插入图片描述

  • 创建名为db1的数据库

create database db1;

在这里插入图片描述

说明:创建数据库没有指定字符集和校验规则时,系统默认字符集:utf8,校验规则是:utf8_general_ci

创建数据库就是在上面的文件夹里创建文件夹
在这里插入图片描述

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

create database db2 charset=utf8;
create database db2 character set utf-8; //另一种写法

在这里插入图片描述

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

create database db3 chareset=utf8 collate utf8_general_ci;

在这里插入图片描述

  • IF NOT EXISTS 选项,表示不存在的话创建
  • 创建一个db3,带这个选项

create database if not exists db3;

如果数据库已经存在,这个操作不会执行,可以避免因对象已存在导致的错误。
在这里插入图片描述

字符集和校验规则

查看系统默认字符集和校验规则

show variables like ‘character_set_database’;
show variables like ‘collation_database’;

在这里插入图片描述

查看默认所有椒盐基

show variables like ‘collation_%’;

在这里插入图片描述

查看数据库支持的字符集

show charset;

在这里插入图片描述

字符集主要控制用什么语言,比如utf8就可以使用中文

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

show collation;

在这里插入图片描述

校验规则对数据库影响

数据库的字符集和校验影响着创建的表的规则,字符集和校验集,存储和读取必须一致
在数据库中有配置文件db.opt查看

cat db.opt;

在这里插入图片描述

  • 不区分大小写

创建一个数据库,校验规则用utf8_general_ci[不区分大小写],下面的操作是创建数据库,创建person表,插入四条数据

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’);

  • 区分大小写

创建一个数据库,校验规则使用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 test1;
select * from person where name=‘a’;

在这里插入图片描述

区分大小写的查询及结果

use test2;
select * from person where name=‘a’;

在这里插入图片描述
对于不区分大小写的,A也看做是a,所以查询到两个

  • 结果排序

不区分大小写排序结果

use test1;
select * from person order by name;

在这里插入图片描述

区分大小写排序结果

use test2;
select * from person order by name;

在这里插入图片描述
区分大小写,就会以ascii码排序,大写比小写的值小

2. 查看

查看所有数据库

show databases;

显示创建语句

show create database 数据库名;

在这里插入图片描述
说明:
MySQL建议我们关键字使用大写,但不是必须的
数据库名字的反引号``,是为了防止使用的数据库名刚好是关键字
/!40100 default…/这个不是注释,表示当前mysql版本大于4.01版本,就执行这句话

3. 修改

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

ALTER DATABASE db_name
[alter_spacification [,alter_spacification]…]

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

实例

将test2数据库集改为gbk

alter database test2 charset=gbk;

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

当修改了字符集后,校验集会自动和它匹配

4. 删除

DROP DATABASE [IF EXISTS] db_name;

执行完删除之后的结果:

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

注意,不要随意删除数据库,会造成很多上层的工程需要修改

5. 备份和恢复

备份

备份有最直接的方法,将数据库文件拷贝,但是这样遇到版本不同的sql可能会出现错误,mysql提供了备份的方法

语法,需要退出数据库在命名行输入:

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

示例,将test2库备份(退出连接)

mysqldump -P3306 -u root -p -B mytest > mytest.sql

打开备份文件,里面都是数据库操作的语句,建库,建表,导入数据的语句都在里面
在这里插入图片描述

还原

mysql> source 数据库路径;

注意

如果备份的不是整个数据库,而是其中的表,怎么做

mysqldump -u root -p 数据库名 表名1 表名2 > test2.sql

同时备份多个数据库

mysqldump -P3306 -u root -p -B 数据库名1 数据库名2 > 数据库存放路径

如果备份一个数据库时,没有带上-B选项,在恢复数据库时,需要先创建空数据库,然后使用数据库,再使用source来还原,如:

mysqldump -P3306 -u root -p mytest > mytest.sql

这时恢复需要先创建数据库

6. 查看连接情况

语法:

show processlist;

在这里插入图片描述
可以告诉我们哪些用户连接了,可以查出非正常连接,如果数据库比较慢时,可以用这个指令看看连接情况

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

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

相关文章

C语言函数传参

文章目录 🍊自我介绍🍊函数传参之值传递🍊函数传参之地址传递🍊函数传参之数组 你的点赞评论就是对博主最大的鼓励 当然喜欢的小伙伴可以:点赞关注评论收藏(一键四连)哦~ 🍊自我介绍…

SQL中的窗口函数

1.窗口函数简介 窗口函数是SQL中的一项高级特性,用于在不改变查询结果集行数的情况下,对每一行执行聚合计算或者其他复杂的计算,也就是说窗口函数可以跨行计算,可以扫描所有的行,并把结果填到每一行中。这些函数通常与…

注入类漏洞挖掘指南

1. 注入攻击类 1.1 SQL注入 漏洞描述: 所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。具体来说,它是利用现有应用程序,将(恶意…

elasticsearch的学习(一):使用postman实现增删改查

简介: elasticsearch的基本的概念和通过postman来实现增删改查 elasticsearch 一个分布式的,restful风格的搜索和数据分析引擎,可以近乎实时的存储,检索数据,具有高扩展性,可以扩展到上百台服务器&#…

使用.NET NativeAOT模式开发hyper-v平台uefi上windbg调试引擎心得

引用 这篇文章的目的是介绍一款实验性的Uefi项目基于.NET NativeAOT模式实现的运行在Windows Hyper-V虚拟机上的windbg调试引擎开发心得 文章目录 引用简介NativeAOT模式动态接口的多态继承绑定实现方式分析NativeAOT模式运行时栈回溯实现方式分析模拟vcruntime实现的c异常捕获…

江科大/江协科技 STM32学习笔记P17

文章目录 一、TIM输入捕获输入捕获与输出比较的关系频率测量测频法测周法 输入捕获的电路异或门的执行逻辑 输入捕获通道主从触发模式输入捕获基本结构PWMI基本结构输入捕获模式测频率main.c 输入捕获模式测占空比main.c 一、TIM输入捕获 输入捕获与输出比较的关系 在输出比较中…

C语言第13篇

1.下面程序是计算n个数的平均值,请填空.______ #include<stdio.h> void main( ) { int i,n; float x,avg0.0; scanf("%d",&n); for(i0;i<n;i) { scanf("%f",&x); avgavg______; } avg________; printf("avg%f\n",avg); } A) …

[Git][分支管理][上]详细讲解

目录 1.理解分支2.创建分支3.切换分支4.合并分支5.删除分支 1.理解分支 感性理解&#xff1a;分支可以理解为平行宇宙&#xff0c;但是在用户需要的时候&#xff0c;可以将两个平行宇宙合并&#xff0c;此时两个平行宇宙的效果将会"叠加"理性理解&#xff1a;每次提…

树、二叉树、森林的转换

一、树和二叉树的转换 1、 2、 二、森林二叉树的转换 1、 2、

springboot医嘱管理系统-计算机毕业设计源码16053

摘 要 随着医疗信息化水平的不断提升&#xff0c;医嘱管理作为医院日常运营中不可或缺的一环&#xff0c;其重要性日益凸显。传统的医嘱管理方式往往存在效率低下、易出错等问题&#xff0c;已无法满足现代医疗服务的快速发展需求。因此&#xff0c;基于Spring Boot框架开发的…

MySQL-InnoDB引擎

目录 逻辑存储结构 架构 概述 内存结构 Buffer Pool&#xff08;缓冲池&#xff09; Change Buffer&#xff08;更改缓冲区&#xff09; Adaptive Hash Index&#xff08;自适应hash索引&#xff09; Log Buffer&#xff08;日志缓冲区&#xff09; 磁盘结构 System T…

基于CUDA12.1+CUDNN8.9+PYTORCH2.3.1,实现自定义数据集训练

目录 0 结果预览 1 核心点 2 参考链接 0 结果预览 1 核心点 yolo命令行CL需要将虚拟环境的yolo程序加入系统路径。 遇到conda install 失效问题&#xff0c;重建新的虚拟环境&#xff0c;再进行安装。 whl可以下载好后再安装。 pip install F:\tool\ai\torch-2.3.1cu…

使用VM安装K8S

VM 部署K8S 前言 本次使用VM搭建k8s&#xff0c;由于搭建流程复杂&#xff0c;在此记录。 需提前安装好VM&#xff08;可参考&#xff1a;VM安装&#xff09;&#xff0c;起两台虚拟机(模拟master和worker)&#xff0c;且VM里已安装好Docker&#xff08;可参考&#xff1a;D…

GO语言 4 收集器

劳苦功高的数组 声明数组并访问其元素 以下数组不多不少正好包含 8 个元素 var planets [8]string同一个数组中的每个元素都具有相同的类型&#xff0c;比如以上代码就是由 8 个字符串组成&#xff0c;简称字符串数组。 数组的长度可以通过内置的 len 函数确定。在声明数组…

03。仓颉程序结构

1&#xff0c;什么是 仓颉的“源代码”、“源文件”&#xff1f; ~通常以 “ .cj ” 为后缀的文本文件里面包含的仓颉代码&#xff0c;我们称为仓颉源代码、源文件。 / / test.txt --------------- test.cj 2&#xff0c;什么是 “ 作用域” &#xff1f;“嵌套作…

C/C++关键字大全

目录 一、const 二、static 三、#define 和 typedef 四、#define 和 inline 五、#define 和 const 六、new 和 malloc 七、const 和 constexpr 八、volatile 九、extern 十、前置 和后置 十一、atomic 十二、struct 和 class 一、const 1、const 关键字可用于定义…

在vscode中远程连接linux进行开发

目录 引言 配置过程 1.本机安装OpenSSH 2.本机生成RSA公钥和私钥 3.将rsa公钥添加到远程linux的authorized_keys文件中 4.vscode安装Remote - SSH插件 5.在vscode中ssh连接服务器 6.在本地vscode操作远程linux文件进行开发 7.在vscode上给远程linux机器需安装插件 常…

路径规划——贪婪最佳优先搜索

路径规划——贪婪最佳优先搜索 学习A算法前先学习一下贪婪最佳优先搜索算法&#xff0c;在学习过程中在网上找了一些博客、文章还有视频来看以深入理解此算法&#xff0c;但是实际情况却是非常令人恼怒。有些文章标题是贪婪最佳优先搜索&#xff0c;内容却是其他的算法&#x…

【密码学】椭圆曲线密码体制(ECC)

椭圆曲线密码体制&#xff08;Elliptic Curve Cryptography, ECC&#xff09;是一种基于椭圆曲线数学特性的公钥密码系统。在介绍椭圆曲线之前&#xff0c;我们先来了解一下椭圆曲线的基本概念。 一、椭圆曲线是什么&#xff1f; &#xff08;1&#xff09;椭圆曲线的数学定义…

PolSARPro软件安装处理TerraSAR数据(CSDN_20240804)

1. 打开polSARPro软件&#xff0c;点击Enter 2. 点击OK 3. 点击左侧第一个图像&#xff0c;进入PolSARPro Bio。 4. 点击Enter. 5. 点击Environment&#xff0c;选择Single Data Set 6. 选择工作路径 7. 点击No 8. Import -> Spaceborne Sensors ->TerraSAR-X->Quad-P…