MySQL 库操作

2023-11-19

目录

创建数据库

语法

案例

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

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

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 ,如果查出某个用户不是你正常登陆的,很有可能你的数据库被人入侵了。以后大家发现自己数据库比较慢时,可以用这个指令来查看数据库连接情况。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MySQL 库操作 的相关文章

随机推荐

  • Jenkins构建接口自动化

    基于httprunner 2 x的分层设计 通过python pytest allure搭建接口自动化框架实战 在集成到jenkins时 发现接口断言失败的时候 jenkins构建结果仍然是成功 这是因为jenkins构建时 只管执行的文件
  • tomcat下载、乱码、端口号那些事

    注 友友们 仅供参考 下面都是本人实操过的心得 主要是为了做下笔记 也给大家参考一下 有问题欢迎交流和指正 一起升级打怪 一 tomcat下载 tomcat官网下载路径 https tomcat apache org 也可一步到位 1 官网
  • Vuforia Virtual Button(虚拟按钮)使用技巧

    最近一直在摸索Vuforia的使用 Virtual Button算是一个比较容易吸引人眼球的功能 在经过一些测试后 我来总结下自己在探索过程中得到的一些经验 1 如何新建一个Virtual Button工程 导入Vuforia sdk 后把
  • gcd补充说明

    1 下面来看下如何使用gcd编程的异步 dispatch async dispatch get global queue 0 0 处理耗时操作的代码块 通知主线程刷新 dispatch async dispatch get main que
  • 字节跳动Android面试凉凉,挥泪整理面筋,你不看看吗?

    想在金九银十找工作的现在可以开始准备了 这边给大家分享一下面试会遇到的问题 找工作还是需要大家不要担心 由于我们干这一行的接触人本来就不多 难免看到面试官会紧张 主要是因为怕面试官问的答不上来 答不上了千万不要胡扯一些 有了这篇文章 就不一
  • pickle模块

    pickle 提供四个功能分别是dumps loads dump load pickle是将数据以二进制的形式序列化后保存到文件中的 pickle可以储存的数据类型 必须是python中有的 布尔值 整数 浮点数 复数 字符串 字节 Non
  • java.lang.NoClassDefFoundError类错误解决方法

    在开发maven项目时 在完成代码编写后进行本地测试过程中经常会出现如下错误 java lang NoClassDefFoundError Could not initialize class xxx 当看到java lang NoClas
  • 一文彻底弄懂Linux软链接与硬链接,及其实际应用技巧

    本文参考 01 https blog csdn net weixin 33743703 article details 93158780 utm medium distribute pc relevant none task blog Bl
  • 解决idea maven reimport失效问题

    解决idea maven 项目中出现 Unable to import maven project 问题 最近自己搭建了一个项目 maven setting 仓库配置也使用了阿里云配置 maven版本使用的是目前最新版3 6 2 后来发现
  • win11怎么取消pin码实现自动登陆 windows11取消pin码自动登陆的方法步骤

    相信有不少用户最近都安装升级了最新的Win11操作系统 但是安装了之后发现自己的电脑每次开机都必须输入PIN码才可以登陆使用 而每次开机都出现这种情况就非常的麻烦 今天小编就带着的大家一起看看取消PIN码实现自动登陆电脑的方法吧 更多win
  • 力扣笔记(每日随机一题)——最佳买卖股票时机含冷冻期

    问题 中等 给定一个整数数组prices 其中第 prices i 表示第 i 天的股票价格 设计一个算法计算出最大利润 在满足以下约束条件下 你可以尽可能地完成更多的交易 多次买卖一支股票 卖出股票后 你无法在第二天买入股票 即冷冻期为
  • Vulkan再探(11):立方体贴图数组

    08 20 2020 文章目录 立方体贴图数组 创建纹理贴图 图像 拷贝区域 图像视图 着色器 片元着色器 立方体贴图数组 创建纹理贴图 提取信息 cubeMapArray width ktxTexture gt baseWidth cub
  • Linux服务器上top后发现僵尸进程的解决办法

    今天在熟悉Linux命令的时候 使用top查看服务器负载的时候 发现了zombie 简单理解成僵尸吧 这个参数 这个参数就代表僵尸进程的含义 什么是僵尸进程呢 这里盗用一下官方的解释 一个进程在调用exit命令结束自己的生命的时候 其实它并
  • 解决com.xpand依赖引入问题

    引言 starter canal实现了springboot与canal的集成 比原生的canal更加优雅 下载地址 https github com chenqian56131 spring boot starter canal 使用前需要
  • 一:计算机基础入门及介绍

    计算机基础入门篇 1 计算机系统 计算机 Conputer 俗称电脑 一种能接收和存储信息 并按照存储在其内部的程序对海量数据进行自动 高速的处理 然后把处理结果输出的现代化智能电子设备 计算机有很多的形式类型 例如 生活中常见的家用电脑
  • chrome误删收藏夹书签如何恢复?

    打开书签管理器 按下Ctrl Z 然后就恢复了
  • python与excel做数据可视化-Python的Excel操作及数据可视化

    Excel表操作 python操作excel主要用到xlrd和xlwt这两个库 即xlrd是读excel xlwt是写excel的库 安装xlrd pip install xlrd 简单的表格读取 import xlrd 读取表格 data
  • emmc分区创建脚本

    bin sh add a new primary partition Param PartNum 1 3 First cylinder Last cylinder add partition echo creat primary parti
  • 深入理解Go——反射reflect

    文章目录 反射使用常见场景 反射原理 反射的基本函数 反射使用常见场景 需要反射的 2 个常见场景 有时你需要编写一个函数 但是并不知道传给你的参数类型是什么 可能是没约定好 也可能是传入的类型很多 这些类型并不能统一表示 这时反射就会用的
  • MySQL 库操作

    目录 创建数据库 语法 案例 字符集和校验规则 建数据库 建表用 查看系统默认字符集以及校验规则 db opt 更改 查看数据库支持的字符集 查看数据库支持的字符集校验规则 校验规则对数据库的影响 排升序 操纵数据库 查看数据库 显示创建语