【MySQL学习】MySQL库的操作

news2024/9/25 11:09:32

目录

  • 一、查看数据库的连接
  • 二、数据库的创建
  • 三、字符集和校验规则
    • 3.1 查看数据库默认的字符集以及校验规则
    • 3.2 查看数据库支持的字符集以及校验规则
    • 3.3 校验规则对数据库的影响
  • 四、操纵数据库
    • 4.1 查看数据库
    • 4.2 显示创建语句
    • 4.3 修改数据库
    • 4.4 数据库的删除
  • 五、数据库的备份与恢复
    • 5.1 备份
    • 5.2 恢复
    • 5.3 注意事项


一、查看数据库的连接

通过show processlist语句可以查看当前哪些用户连接了数据库:

如果查出某个用户不是自己正常登陆的,很有可能数据库被人入侵了。以后如果发现自己数据库比较慢时,可以用这个指令来查看数据库连接情况。

二、数据库的创建

创建语法:

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

//其中:
create_specification:
[DEFAULT] CHARACTER SET charset_name
[DEFAULT] COLLATE collation_name

创建案例:

  • 创建一个名为db1的数据库
create database db1;

说明一下,当我们创建数据库没有指定字符集和校验规则时,系统使用默认字符集 utf8,校验规则 utf8_ general_ ci

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

三、字符集和校验规则

3.1 查看数据库默认的字符集以及校验规则

  • 查看默认的字符集
show variables like 'character_set_database';

  • 查看默认的校验规则
show variables like 'collation_database';

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

  • 查看支持的字符集
show charset;

  • 查看支持的校验规则
show collation;

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

这里以utf8_ general_ ciutf8_ bin两种校验规则为例,前者校验时对数据内容不区分大小写,而后者区分大小写。

不区分大小写:

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

单条数据查询:

发现不区分大小写查询a,查询出两条结果。

升序查询所有数据:

区分大小写:

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

单条数据查询:

发现区分大小写查询a,只查询出一条结果。

升序查询所有数据:

通过以上对比实验可以发现,使用不同的校验规则创建数据库,其影响是不同的。

四、操纵数据库

4.1 查看数据库

show databases;

4.2 显示创建语句

show create database 数据库名;


说明:

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

4.3 修改数据库

语法:

ALTER DATABASE db_name [alter_spacification alter_spacification...]

//其中:
alter_spacification:
[DEFAULT] CHARACTER SET charset_name
[DEFAULT] COLLATE collation_name

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

例如:将前面创建的test1数据库的字符集改为gbk

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

mysql> show create database test1;
+----------+---------------------------------------------------------------+
| Database | Create Database                                               |
+----------+---------------------------------------------------------------+
| test1    | CREATE DATABASE `test1` /*!40100 DEFAULT CHARACTER SET gbk */ |
+----------+---------------------------------------------------------------+
1 row in set (0.00 sec)

mysql> 

4.4 数据库的删除

DROP DATABASE [IF EXISTS] db_ name;

执行删除之后的结果:

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

因此,不要随便删除数据库。

五、数据库的备份与恢复

5.1 备份

备份数据库的语法:

mysqldump -P3306 -u root -p -B 数据库名 > 存放备份文件路径

示例:将test1库备份到文件(需要退出MySQL连接)

mysqldump -P 3306 -u root -p -B test1 > ./mysql/test1.sql

这时,可以打开看看 test1.sql 文件里的内容,其实就是把整个创建数据库、表、导入数据的语句都保存到这个文件中。

5.2 恢复

首先删除数据库中的test1数据库:

然后恢复使用刚才的备份恢复test1


最后发现恢复成功:

5.3 注意事项

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

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

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

相关文章

Nginx中的location规则与rewrite

nginx正则表达式 ^$空行 \d数字 \D代表非数字 \s 匹配空白符 \S 非空白字符 \w匹配任意单词符包括下划线[A-Za-z0-9_] {n} 匹配起那面字符n次 .* 除换行符\n匹配任意字符多次 {n,m}匹配前面字符5到10次 [abc] 匹配一次a,b,c ( )表达式的开始和结束 | 或运算符 &#…

【uniapp】sigmob广告加载失败:-5005、500422没有imei的解决办法(原创可用)

问题 最近打算将开发的uniapp应用对接uni-ad广告中去,在对接sigmob的时候出现了以下问题:①错误码-5005,查询了以下官方文档,发现是说我频繁调用,可是并没有,我是在真机上测试的没成功就没在弄了&#xff…

【力扣-876】链表的中间结点

🖊作者 : Djx_hmbb 📘专栏 : 数据结构 😆今日分享 : ----------小Tips: 虽然都是口服液体制剂,且看起来单支容量都一样,但是“藿香正气水”与“藿香正气口服液”的区别你知道吗?藿香正气水里含有…

Vue电商项目实战之角色列表添加,编辑,删除功能

这是黑马vue电商项目后台,自己需要完成的功能,这里仅供参考当然还需要自己去理解. 一.添加功能 在roles.vue中 1.添加角色的对话框 代码如下: <!-- 添加角色的对话框 --><el-dialog :visible.sync"addRoleDialogVisible" title"添加角色" widt…

【C++技能树】原来比C方便这么多 --缺省参数、函数重载、引用讲解

Halo&#xff0c;这里是Ppeua。平时主要更新C语言&#xff0c;C&#xff0c;数据结构算法......感兴趣就关注我吧&#xff01;你定不会失望。 &#x1f308;个人主页&#xff1a;主页链接 &#x1f308;算法专栏&#xff1a;专栏链接 我会一直往里填充内容哒&#xff01; &…

DPCNN分类模型

论文 Deep Pyramid Convolutional Neural Networks for Text Categorization 提出深层金字塔卷积网&#xff08;DPCNN&#xff09;是 word-level 的广泛有效的深层文本分类卷积神经网络&#xff0c;比 TextCNN&#xff08;浅层CNN&#xff09;性能明显提高。 TextCNN 不能通过卷…

Unity InputSystem (一)

什么是InputSystem InputSystem 是 2019 年 Unity 新推出的插件&#xff0c;输入系统包实现了一个系统来使用任何类型的输入设备来控制你的 Unity 内容。它旨在成为 Unity 的经典输入管理器更强大、更灵活、更可配置的替代品。 新输入系统基于事件&#xff0c;输入设备和动作逻…

Redis 哨兵和集群

文章目录1. 单机模式2. 主从架构3. 哨兵4. 集群模式5. 哈希槽是什么&#xff1f;1. 单机模式 Redis 单副本&#xff0c;采用单个 Redis 节点部署架构&#xff0c;没有备用节点实时同步数据&#xff0c;不提供数据持久化和备份策略&#xff0c;适用于数据可靠性要求不高的纯缓存…

【硬件外设使用】——SPI

【硬件外设使用】——SPI SPI基本概念SPI通信协议SPI使用方法pyb.spimachine.spi SPI可用的传感器 SPI基本概念 SPI是一种串行端口通信接口&#xff0c;它是一种同步的全双工协议&#xff0c;用于在数字电路之间传输数据。SPI代表串行外设接口&#xff0c;是一种非常流行的数字…

UDS诊断测试

UDS&#xff08;Unified Diagnostic Services&#xff0c;统一的诊断服务&#xff09;诊断协议是在汽车电子ECU环境下的一种诊断通信协议。这种通信协议被用在几乎所有由OEM一级供应商所制造的新ECU上面。这些ECU控制车辆的各种功能&#xff0c;包括电控燃油喷射系统&#xff0…

TI在物联网和AI边缘计算中落伍了吗?

摘要&#xff1a;本文介绍一下TI在边缘计算工作中所做的努力。 发明“人工智能”这个term的老头儿也不会想到人工智能在中国有多火。 不管是懂还是不懂&#xff0c;啥东西披上“人工智能“的面纱都能瞬间成为大项目。 学习AI 的年轻人认识NVIDIA&#xff0c;可能不太知道DSP是…

金毅:10x HTAP,企业级关系型数据库内核技术创新与演进

导语4月8日下午&#xff0c;为期两天的第十二届数据技术嘉年华&#xff08;DTC 2023&#xff09;在北京新云南皇冠假日酒店圆满落下帷幕。大会以“开源融合数字化——引领数据技术发展&#xff0c;释放数据要素价值”为主题&#xff0c;汇聚产学研各界精英到场交流。作为大会的…

网络原理之UDP

hi,大家好,又见面了,今天为大家介绍一下UDP的网络原理&#x1f437;&#x1f437;&#x1f437; 文章目录认识UDP报文格式UDP特点TCP,UDP应用场景基于UDP的应用层协议认识UDP报文格式 UDP特点 TCP,UDP应用场景 基于UDP的应用层协议 1.认识UDP报文格式 其实在真正传输的…

批量记录收支明细:手把手教你如何查看上个月的收支明细并打印。

记录收支明细太久&#xff0c;想要快速查看并筛选出上个月的某一个明细要如何进行查询&#xff0c;还要进行打印要如何操作&#xff1f;今天就由小编来教教大家要如何操作。 首先第一步&#xff0c;我们要进入晨曦记账本主页面&#xff0c;点击主页面上方功能栏里的“添加收支…

聚焦云原生安全|安全狗云甲荣膺CSA 2022安全金盾奖

4月13日&#xff0c;第六届云安全联盟大中华区大会“年度颁奖典礼”表彰仪式顺利开展。作为国内云原生安全领导厂商&#xff0c;安全狗也收到邀请出席此次活动。​ 此次活动上&#xff0c;“年度颁奖典礼”作为重要环节之一&#xff0c;获得业界的关注。安全狗旗下云原生安全产…

zabbix介绍及部署(超详细讲解)

目录 1.zabbix的基本概述 2.zabbix的构成 1、Server 2、web页面 3、数据库 4、proxy 5、Agent 3.zabbix的监控对象 4.zabbix的常用术语 5.zabbix的工作流程 1、主动模式 2、被动模式 6.zabbix进程详解 7.zabbix的监控框架 1、server_client架构 2、zabbix_prox…

一文搞懂C#工程中程序数据库文件.pdb(符号文件)的作用,延伸搞懂Debug/Release、AnyCPU(首选32位)/x86/x64/ARM的区别

一、准备工作 MS引用&#xff1a;在 Visual Studio 调试器&#xff08;C#、C、Visual Basic、F#&#xff09;中指定符号 (.pdb) 和源文件 MS引用&#xff1a;为 C#、ASP.NET 或 Visual Basic 项目 &#xff08;.NET Framework&#xff09; 生成符号文件 MS引用&#xff1a;用…

ASP.NET动态Web开发技术第6章续

第6章续ASP.NET内置对象一.预习笔记 1.ASP.NET提供了七大内置对象&#xff0c;Page、Request、Response、Application、Session、Server和Cookies。这些对象使用户更容易收集通过浏览器请求发送的信息、响应浏览器以及存储用户信息&#xff0c;以实现其他特定的状态管理和页面…

【动力节点】杜老师Vue笔记——Vue程序初体验

目录 一、Vue程序初体验 1.1 下载并安装vue.js 1.2 第一个Vue程序 1.3 Vue的data配置项 1.4 Vue的template配置项 一、Vue程序初体验 可以先不去了解Vue框架的发展历史、Vue框架有什么特点、Vue是谁开发的&#xff0c;对我们编写Vue程序起不到太大的作用&#xff0c;…

云HIS源码 基层卫生健康云HIS源码

云HIS全称为基于云计算的医疗卫生信息系统&#xff08;Cloud-BasedHealthcareInformationSystem&#xff09;&#xff0c;是运用云计算、大数据、物联网等新兴信息技术&#xff0c;按照现代医疗卫生管理要求&#xff0c;在一定区域范围内以数字化形式提供医疗卫生行业数据收集、…