MySQL 库操作

目录

创建数据库

语法

案例

字符集和校验规则(建数据库/建表用)

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

db.opt 

更改

查看数据库支持的字符集

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

校验规则对数据库的影响

排升序

操纵数据库

查看数据库

显示创建语句

示例

修改数据库

语法

说明

实例

数据库删除

备份和恢复数据库/表

备份

前提

语法

还原

注意事项

同时备份多个数据库

查看连接情况

语法

示例


创建数据库

语法

CREATE DATABASE [IF NOT EXISTS] db_name [create_specification [,
create_specification] ...]
create_specification:
[DEFAULT] CHARACTER SET charset_name
[DEFAULT] COLLATE collation_name
说明:
大写的表示关键字
[] 是可选项
CHARACTER SET: 指定数据库采用的字符集
COLLATE: 指定数据库字符集的校验规则

案例

创建名为 db1 的数据库

create database db1;

当我们创建数据库没有指定字符集和校验规则时,系统使用默认字符集: utf8 ,校验规则
是: utf8_ general_ ci
创建一个使用 utf8 字符集的 db2 数据库
create database db2 charset=utf8;
创建一个使用 utf 字符集,并带校对规则的 db3 数据库。
create database db3 charset=utf8 collate utf8_general_ci;

字符集和校验规则(建数据库/建表用)

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

show variables like 'character_set_database' ;
show variables like 'collation_database' ;
variables:mysql启动之后,里面会存在很多的variables,在数据库表里面存着,mysql启动时有些常用的variables可能被load到mysql进程的上下文当中,就有点像前面的环境变量。

存数据属性:字符集
取数据属性(读取比较):校验规则
他们是互相匹配的

db.opt 

创建数据库会自动创建,里面存的就是当前数据库的字符集和校验规则。

更改

后面也可以 charset=...

设置字符集,校验码也会自动设置(当然也可以都自己指定)

要么改编码,要么编码和校验规则一起改,但是只改校验规则不可以。

查看数据库支持的字符集

show charset;
字符集主要是控制用什么语言。比如 utf8 就可以使用中文。

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

show collation;

校验规则对数据库的影响

创建一个数据库,校验规则使用 utf8_ general_ ci[ 区分大小写 ]
(我们平时用的基本上就是上面这个)
创建一个数据库,校验规则使用 utf8_ bin[ 区分大小写 ]

排升序

select * from person order by name;

操纵数据库

查看数据库

show databases;

显示创建语句

show create database 数据库名;

示例

mysql> show create database mytest;
+----------+----------------------------------------------------------------+
| Database | Create Database |
+----------+----------------------------------------------------------------+
| mysql | CREATE DATABASE `mytest` /*!40100 DEFAULT CHARACTER SET utf8 */ |
+----------+----------------------------------------------------------------+
MySQL 建议我们关键字使用大写,但是不是必须的。(不区分关键字大小写)
数据库名字的反引号 ``, 是为了防止使用的数据库名刚好是关键字
/*!40100 default.... */ 这个不是注释,表示当前 mysql 版本大于 4.01 版本,就执行这句话

修改数据库

语法

ALTER DATABASE db_name
[alter_spacification [,alter_spacification]...]
alter_spacification:
[DEFAULT] CHARACTER SET charset_name
[DEFAULT] COLLATE collation_name

说明

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

实例

mytest 数据库字符集改成 gbk
mysql> alter database mytest charset=gbk;
Query OK, 1 row affected ( 0.00 sec)
mysql> show create database mytest;
+----------+----------------------------------------------------------------+
| Database | Create Database |
+----------+----------------------------------------------------------------+
| mytest | CREATE DATABASE `mytest` /*!40100 DEFAULT CHARACTER SET gbk */ |
+----------+----------------------------------------------------------------+

数据库删除

DROP DATABASE [IF EXISTS] db_ name;
执行删除之后的结果( 不要随意删除数据库 ):
数据库内部看不到对应的数据库
对应的数据库文件夹被删除,级联删除,里面的数据表全部被删

备份和恢复数据库/表

备份

前提

1 mysqld 要运行
2 要保证有对应权限(数据库是自己的)

mysqldump是mysql考虑到你可能会去备份数据自带的,也是一个客户端,是专门用来去备份数据的。

备份一般有两种方案(mysqldump是第二种(好处更多))

1 对数据做备份

2 对操作语句做备份(里面是硬编码了数据的) 

语法

# mysqldump -P3306 -u root -p 密码 -B 数据库名 > 数据库备份存储的文件路径
示例:将 mytest 库备份到文件(退出连接)
# mysqldump -P3306 -u root -p123456 -B mytest > D:/mytest .sql
这时,可以打开看看 mytest.sql 文件里的内容,其实把我们整个创建数据库,建表,导入数据的语句都装载这个文件中。

还原

mysql> source D:/mysql- 5.7 . 22 /mytest .sql ;

注意事项

如果备份的不是整个数据库,而是其中的一张表,怎么做?
# mysqldump -u root -p 数据库名 表名 1 表名 2 > D:/mytest .sql

同时备份多个数据库

# mysqldump -u root -p -B 数据库名 1 数据库名 2 ... > 数据库存放路径
如果备份一个数据库时,没有带上 -B 参数, 在恢复数据库时,需要先创建空数据库,然后使用数据库,再使用source 来还原。

查看连接情况

语法

show processlist

示例

mysql> show processlist;
+----+------+-----------+------+---------+------+-------+------------------+
| Id | User | Host | db | Command | Time | State | Info |
+----+------+-----------+------+---------+------+-------+------------------+
| 2 | root | localhost | test | Sleep | 1386 | | NULL |
| 3 | root | localhost | NULL | Query | 0 | NULL | show processlist |
+----+------+-----------+------+---------+------+-------+------------------+
可以告诉我们当前有哪些用户连接到我们的 MySQL ,如果查出某个用户不是你正常登陆的,很有可能你的数据库被人入侵了。以后大家发现自己数据库比较慢时,可以用这个指令来查看数据库连接情况。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

洛谷P2822:组合数问题 ←(帕斯卡法则+取模+前缀和)

【题目来源】https://www.luogu.com.cn/problem/P2822https://www.acwing.com/problem/content/525/【题目描述】 组合数​表示的是从n个物品中选出m个物品的方案数。举个例子:从(1,2,3)三个物品中选择两个物品可以有(1,2),(1,3),(2,3) 这三种…

MySQl_1

一.相关概念 数据库:存放数据的仓库 数据库管理系统:操作和管理数据库的大型软件,如mysql SQL:一种操作 关系型数据库管理系统的语言,定义了一套操作关系型数据库管理系统的统一标准。 关系型数据库:有多…

客户案例 | 迎接智能化浪潮,传统水厂数字化势在必行

关键发现 客户痛点:传统水厂业务离散,无法实现数据实时同步,为收集和分析处理数据并辅助决策带来障碍。需要智能化管理系统帮助水厂提升管理效率,优化管理流程,实现数字化、智能化的目标。 解决方案:天津腾…

PyTorch深度学习实战 | 基于ResNet的人脸关键点检测

人脸关键点检测指的是用于标定人脸五官和轮廓位置的一系列特征点的检测,是对于人脸形状的稀疏表示。关键点的精确定位可以为后续应用提供十分丰富的信息。因此,人脸关键点检测是人脸分析领域的基础技术之一。许多应用场景(如人脸识别、人脸三维重塑、表情…

Mariadb10.5基于同服务器多实例主从配置

本次部署环境:Centos8stream 本次部署mariadb版本: mariadb:10.5 本次部署方式:rpm包直接安装,并通过systemd直接托管 可以参考 /usr/lib/systemd/system/mariadb.service 该文件 # Multi instance version of mariadb. For i…

python wannier90 基于wannier90的*_hr.dat文件选取截断hopping绘制能带图

我们知道wannier90可以根据选取TMDs的轨道信息生成详细的hopping energy *_hr.dat文件,选取所有的hopping绘制起来的时候比较简单,但是我们发现取几圈的近似hopping也可以将band表示出来,类似的思想有Pybinding的三带近似(DOI: 10…

初中级Android工程师如何快速成长寻求突破

前言 写这篇文章的初衷是看到很多同学在一家公司工作了三五年,因为技术没有得到提升而随着年龄的增长导致不敢提出涨薪和跳槽找工作。希望这篇文章能够给这些还是初中级Android工程师的朋友一些启发。 快速成长 我们在向领导提出加薪申请或者是准备跳槽到更大的平…

【论文阅读】On clustering using random walks

《On clustering using random walks》阅读笔记 1. 问题建模 1.1 问题描述 let G(V,E,ω)G(V,E,\omega)G(V,E,ω) be a weighted graph, VVV is the set of nodes, EEE is the edge between nodes in VVV, ω\omegaω is the function ω:E→Rn\omega&#xff1a…

初识掌控板2.0、官方拓展板和配套编程软件mpython

不是广告!!不是广告!! 一、掌控板2.0概览 掌控板又名掌上联网计算机,是一款为青少年学习Python编程和创意制造,特别是物联网应用而设计的开源硬件。内置microPython开源嵌入式Python运行环境,可…

快排非递归 归并排序

递归深度太深会栈溢出 程序是对的&#xff0c;但是递归个10000层就是栈溢出 int fun(int n) {if (n < 1){return n;}return fun(n - 1) n; }所以需要非递归来搞快排和归并&#xff0c;在效率方面没什么影响&#xff0c;只是解决递归深度太深的栈溢出问题 有的能直接改&am…

快速尝鲜Oracle 23c免费开发者版,惊喜多多

&#x1f4e2;&#x1f4e2;&#x1f4e2;&#x1f4e3;&#x1f4e3;&#x1f4e3; 哈喽&#xff01;大家好&#xff0c;我是【IT邦德】&#xff0c;江湖人称jeames007&#xff0c;10余年DBA及大数据工作经验 一位上进心十足的【大数据领域博主】&#xff01;&#x1f61c;&am…

Matplotlib数据可视化

Matplotlib是⼀个Python 2D&#xff0c;3D绘图库&#xff0c;它以多种硬拷⻉格式和跨平台的交互式环境⽣成出版物质量的图形。 MatplotlibMatplotlib中文网、Matplotlib官方中文文档。https://www.matplotlib.org.cn/ 1.模块导⼊ import matplotlib.pyplot as plt #使⽤py…

代码随想录算法训练营第六天|242 有效的字母异位词 349 两个数组的交集 202 快乐数 1 两数之和

文章目录哈希表242 有效的字母异位词思路代码总结349 两个数组的交集思路代码总结202 快乐数思路代码总结1 两数之和思路代码总结哈希表 哈希碰撞&#xff1a;拉链法&#xff08;链表&#xff09;线性探测法&#xff08;顺序向后&#xff09; std::unordered_map, std::unorde…

nacos集群搭建

1.本实验使用四台centos7主机&#xff0c;均关闭防火墙和selinux服务 2.数据库选择 不推荐使用nacos自带的嵌入式数据库derby&#xff0c;因为需要保证数据的一致性&#xff0c;本集群使用mysql数据库&#xff0c;因为nacos自带的嵌入式数据库derby是每个nacos服务一个数据库…

Vue - 超详细 Element 组件库主题颜色进行 “统一全局“ 替换,将默认的蓝色主题色更换为其他自定义颜色(保姆级教程,简易且标准全局替换主题色)

前言 网上的文章可以用乱七八糟来形容了,各种奇葩的引入、安装各种东西,本文提供简洁且符合官方标准的解决方案。 Element UI 默认主题色是蓝色,很可能与我们设计稿不一致(比如设计稿是绿色主题), 这时候问题就出现了,难不成每个组件都要来一遍颜色样式覆盖? 绝对不可…

Python 进阶指南(编程轻松进阶):四、起个好名字

原文&#xff1a;http://inventwithpython.com/beyond/chapter4.html 计算机科学中最困难的两个问题是命名事物、缓存失效引起错误."这个经典的笑话&#xff0c;出自利昂班布里克之手&#xff0c;并基于菲尔卡尔顿的一句话&#xff0c;包含了一个真理的核心&#xff1a;很…

第2章 微服务架构的构建

2.1搭建父工程 第一步:新建maven工程,java8 第二步:设置字符编码 第三步:注解激活生效 2.2父工程的pom文件 <?xml version="1.0" encoding="UTF-8

十分钟教你部署一个属于自己的chatgpt网站

&#x1f4cb; 个人简介 &#x1f496; 作者简介&#xff1a;大家好&#xff0c;我是阿牛&#xff0c;全栈领域优质创作者。&#x1f61c;&#x1f4dd; 个人主页&#xff1a;馆主阿牛&#x1f525;&#x1f389; 支持我&#xff1a;点赞&#x1f44d;收藏⭐️留言&#x1f4d…

Http和Https

http和https的区别 开销&#xff1a;HTTPS 协议需要到 CA 申请证书&#xff0c;一般免费证书很少&#xff0c;需要交费&#xff1b;资源消耗&#xff1a;HTTP 是超文本传输协议&#xff0c;信息是明文传输&#xff0c;HTTPS 则是具有安全性的 ssl 加密传输协议&#xff0c;需要…

【二分汇总】

下面是三个模板&#xff0c;第一个是最容易理解的&#xff0c;第二三个需要背一下&#xff0c;基本满足所有二分题目 // 二分&#xff0c;查target的位置&#xff0c;最容易理解的 int bsearch_0(int[] nums, int l, int r) {while (l < r){int mid (l r) / 2;if (nums[m…