MYSQL库和表的操作(修改字符集和校验规则,备份和恢复数据库及库和表的增删改查)

本文主要是介绍MYSQL库和表的操作(修改字符集和校验规则,备份和恢复数据库及库和表的增删改查),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 一、MSYQL库的操作
    • 1.连接MYSQL
    • 2.查看当前数据库
    • 3.创建数据库
    • 4.字符集和校验规则
    • 5.修改数据库
    • 6.删除数据库
    • 7.备份和恢复
    • 8.查看连接
  • 二、表的操作
    • 1.创建表
    • 2.查看表结构
    • 3.修改表
    • 4.删除表


一、MSYQL库的操作

1.连接MYSQL

我们使用下面的语句来连接MSYQL:

mysql -h 127.0.0.1 -P 3306 -u root -p
-h:登录主机的ip,如果是本地主机登录的话可以忽略
-P:MYSQL的端口,默认是3306,如果未更改可以忽略
-p:用户密码,回车后输入密码即可登录

登录成功后显示如下:

在这里插入图片描述

2.查看当前数据库

我们可以使用下面的语句来查看有哪些数据库:

在这里插入图片描述

系统会默认自带4个库:

  1. information_schema :一个信息数据库,其保存着关于mysql服务器所维护的所有其他数据库的信息,如数据库名,数据库的表,表栏的数据类型与访问权限等;
  2. performance_schema :主要用于收集数据库服务器性能参数;
  3. sys :一个简单版的performance_schema,方便开发人员进行查询;
  4. mysql:存储数据库的用户、权限设置、关键字等mysql自己需要使用的控制和管理信息。

我们还可以用下面的语句来显示创建数据库的语句,并显示字符集:

show create database 数据库名;

在这里插入图片描述

说明:

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

3.创建数据库

我们使用下面的语句来创建数据库:

CREATE DATABASE [IF NOT EXISTS] db_name [create_specification];create_specification:
[DEFAULT] CHARACTER SET charset_name //指定数据库采用的字符集
[DEFAULT] COLLATE collation_name //指定数据库字符集的校验规则

在这里插入图片描述

4.字符集和校验规则

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

show variables like 'character_set_database';
show variables like 'collation_database';

在这里插入图片描述

系统默认的字符集是utf8,默认的字符集校验规则是utf8_general_ci;

用下面的语句可以查询MYSQL所支持的字符集和校验规则:

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

所以我们可以在创建数据库的时候改变它的字符集和校验规则:

在这里插入图片描述

接下来我们来探讨一下字符集校验规则对数据库的影响:

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');
select * from person where name='a';

我们用上面的语句创建表并查询:

在这里插入图片描述

我们换一种字符集校验规则进行操作:

create database test2 collate utf8_bin;
use test2;
create table person(name varchar(20));
insert into person values('a');
insert into person values('A');
select * from person where name='a';

在这里插入图片描述

所以校验规则使用utf8_ general_ ci(不区分大小写),校验规则使用utf8_ bin(区分大小写)。

5.修改数据库

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

例如将数据库test1的字符集改为gbk:

在这里插入图片描述

6.删除数据库

我们使用下面的语句进行删除:

DROP DATABASE [IF EXISTS] db_ name;

执行删除之后的结果:

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

7.备份和恢复

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

我们在存储备份文件的文件夹中执行下面的操作,就可以得到备份文件:

在这里插入图片描述

我们使用vim 打开这个所谓的备份文件,发现其实就是将创建这个库的操作保存下来:

在这里插入图片描述

我们将 test1 数据库删除,并在MYSQL中执行下面的语句恢复数据库:

在这里插入图片描述

注意事项:

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

8.查看连接

下面的语句可以查看当前数据库的连接情况:

在这里插入图片描述

二、表的操作

1.创建表

CREATE TABLE table_name (
field1 datatype,
field2 datatype,
field3 datatype
) character set 字符集 collate 校验规则 engine 存储引擎;说明:
field 表示列名
datatype 表示列的类型
character set 字符集,如果没有指定字符集,则以所在数据库的字符集为准
collate 校验规则,如果没有指定校验规则,则以所在数据库的校验规则为准

下面是一个创建表的实例:

在这里插入图片描述

那么这些表实际存放在哪呢?我们可以进入var/lib/mysql 目录下:

在这里插入图片描述

我们可以发现在这个目录下,存放了数据库的目录,而我们进入test1 目录:

在这里插入图片描述

在这个目录中,存放的是 test1 数据库中的相关表文件,不同存储引擎的文件会不同。而我们向库中添加一个表,其实就是向对应的目录中存放相关的表信息。

我们再创建一个存储引擎为 InnoDB 的表结构来验证:

在这里插入图片描述

2.查看表结构

在这里插入图片描述

3.修改表

在项目实际开发中,经常修改某个表的结构,比如字段名字,字段大小,字段类型,表的字符集类型,表的存储引擎等等。我们还有需求,添加字段,删除字段等等。这时我们就需要修改表。

ALTER TABLE tablename ADD (column datatype [DEFAULT expr][,column
datatype]...);
ALTER TABLE tablename MODIfY (column datatype [DEFAULT expr][,column
datatype]...);
ALTER TABLE tablename DROP (column);

例如添加一条记录:

在这里插入图片描述

添加一个字段:

在这里插入图片描述

修改字段属性:

在这里插入图片描述

删除一列:

在这里插入图片描述

修改表的名字:

在这里插入图片描述

4.删除表

在这里插入图片描述

这篇关于MYSQL库和表的操作(修改字符集和校验规则,备份和恢复数据库及库和表的增删改查)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/650955

相关文章

python panda库从基础到高级操作分析

《pythonpanda库从基础到高级操作分析》本文介绍了Pandas库的核心功能,包括处理结构化数据的Series和DataFrame数据结构,数据读取、清洗、分组聚合、合并、时间序列分析及大数据... 目录1. Pandas 概述2. 基本操作:数据读取与查看3. 索引操作:精准定位数据4. Group

MySQL中EXISTS与IN用法使用与对比分析

《MySQL中EXISTS与IN用法使用与对比分析》在MySQL中,EXISTS和IN都用于子查询中根据另一个查询的结果来过滤主查询的记录,本文将基于工作原理、效率和应用场景进行全面对比... 目录一、基本用法详解1. IN 运算符2. EXISTS 运算符二、EXISTS 与 IN 的选择策略三、性能对比

MySQL常用字符串函数示例和场景介绍

《MySQL常用字符串函数示例和场景介绍》MySQL提供了丰富的字符串函数帮助我们高效地对字符串进行处理、转换和分析,本文我将全面且深入地介绍MySQL常用的字符串函数,并结合具体示例和场景,帮你熟练... 目录一、字符串函数概述1.1 字符串函数的作用1.2 字符串函数分类二、字符串长度与统计函数2.1

Oracle数据库定时备份脚本方式(Linux)

《Oracle数据库定时备份脚本方式(Linux)》文章介绍Oracle数据库自动备份方案,包含主机备份传输与备机解压导入流程,强调需提前全量删除原库数据避免报错,并需配置无密传输、定时任务及验证脚本... 目录说明主机脚本备机上自动导库脚本整个自动备份oracle数据库的过程(建议全程用root用户)总结

SQL Server跟踪自动统计信息更新实战指南

《SQLServer跟踪自动统计信息更新实战指南》本文详解SQLServer自动统计信息更新的跟踪方法,推荐使用扩展事件实时捕获更新操作及详细信息,同时结合系统视图快速检查统计信息状态,重点强调修... 目录SQL Server 如何跟踪自动统计信息更新:深入解析与实战指南 核心跟踪方法1️⃣ 利用系统目录

MySQL 内存使用率常用分析语句

《MySQL内存使用率常用分析语句》用户整理了MySQL内存占用过高的分析方法,涵盖操作系统层确认及数据库层bufferpool、内存模块差值、线程状态、performance_schema性能数据... 目录一、 OS层二、 DB层1. 全局情况2. 内存占js用详情最近连续遇到mysql内存占用过高导致

Python操作PDF文档的主流库使用指南

《Python操作PDF文档的主流库使用指南》PDF因其跨平台、格式固定的特性成为文档交换的标准,然而,由于其复杂的内部结构,程序化操作PDF一直是个挑战,本文主要为大家整理了Python操作PD... 目录一、 基础操作1.PyPDF2 (及其继任者 pypdf)2.PyMuPDF / fitz3.Fre

Mysql中设计数据表的过程解析

《Mysql中设计数据表的过程解析》数据库约束通过NOTNULL、UNIQUE、DEFAULT、主键和外键等规则保障数据完整性,自动校验数据,减少人工错误,提升数据一致性和业务逻辑严谨性,本文介绍My... 目录1.引言2.NOT NULL——制定某列不可以存储NULL值2.UNIQUE——保证某一列的每一

解密SQL查询语句执行的过程

《解密SQL查询语句执行的过程》文章讲解了SQL语句的执行流程,涵盖解析、优化、执行三个核心阶段,并介绍执行计划查看方法EXPLAIN,同时提出性能优化技巧如合理使用索引、避免SELECT*、JOIN... 目录1. SQL语句的基本结构2. SQL语句的执行过程3. SQL语句的执行计划4. 常见的性能优

Python对接支付宝支付之使用AliPay实现的详细操作指南

《Python对接支付宝支付之使用AliPay实现的详细操作指南》支付宝没有提供PythonSDK,但是强大的github就有提供python-alipay-sdk,封装里很多复杂操作,使用这个我们就... 目录一、引言二、准备工作2.1 支付宝开放平台入驻与应用创建2.2 密钥生成与配置2.3 安装ali