数据库的操作

news2024/11/15 12:30:09

前言

在之前的文章中,我们已经了解了什么是数据库,以及为什么有数据库,和数据库有什么作用,有了这些宏观概念之后,本章为大家进一步详细介绍对于数据库在Linux上如何具体操作。

1.创建数据库

1.1创建数据库语法

语法:

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: 指定数据库字符集的校验规则

注:上面是创建数据库时使用的SQL语句,因为SQL语句不区分大小写,所以为了更加的直观,一般在实际书写的时候采用小写的方式。

1.2创建数据库案例

1.创建一个名为db1的数据库

create database db1;

说明:当我们创建数据库的时候,没有指定字符集和校验规则的时候,系统使用默认字符集:utf8

校验规则是:utf8_general_ci

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

create database db2 charset=utf8;

3.创建一个使用utf8字符集并带校验规则的db3数据库

create database db3 charset=utf8 collate utf8_general_ci;

上面为大家介绍如何创建数据库的语法,并且同时引入了字符集和校验规则,可能会有小伙伴疑问这是什么东西,它们什么用和有什么区别。下面就为大家介绍一下字符集和校验规则

2.字符集和校验规则

2.1如何理解字符集和校验规则

字符集是指未来存储数据的时候采用的编码集,校验集是指数据库在字段比较的时候采用的编码。

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

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

2.3查看数据支持的编码集

show charset;

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

show collation;

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

对于字符集来说比较容易理解,是存储数据的时候以统一的形式进行规范存储,但是为什么还存在校验规则呢?校验规则的存在又对数据库又什么影响呢?

 下面通过以两种校验规则进行举例说明:

第一种校验规则:utf8_ general_ ci

第二种校验规则:utf8_ bin

使用第一种校验规则:

create database test1 collate utf8_general_ci;
use test1;
create table person(name varchar(20));
insert into person values('a');
insert into person values('B');
insert into person values('A');
insert into person values('B');

使用第二种校验规则:

create database test1 collate utf8_bin;
use test2;
create table person(name varchar(20));
insert into person values('a');
insert into person values('B');
insert into person values('A');
insert into person values('B');

第一种校验规则查询结果:

mysql> use test1;
mysql> select * from person where name='a';
+------+
| name |
+------+
| a  |
| A  |
+------+
2 rows in set (0.01 sec)

第二种校验规则查询结果:

mysql> use test2;
mysql> select * from person where name='a';
+------+
| name |
+------+
| a  |
+------+
2 rows in set (0.01 sec)

通过对比可以发现,同样相同的查询方式,但是结果显示是不同的,说明不同的校验规则,在当用户查询的时候,服务器判别的规则是不同的,进而返回不同的结果。

了解了数据库创建之后,下面我们继续来看看创建完成的数据库是如何管理的,所谓的管理就是指对数据库的增删查改操作!

3.操作数据库

3.1查看数据库

show databases;

3.2显示创建语句

show create database 数据库名称;

3.3修改数据库

语法:

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

说明:对数据库的修改主要是指对数据库字符集和校验规则进行修改!

实例:将test1数据库的字符集修改成gbk.

alter database test1 charset=gbk;

3.4数据库的删除

drop database 数据库名称;

执行删除之后的结果:
        数据库内部看不到对应的数据库
        对应的数据库文件夹被删除,级联删除,里面的数据表全部被删

4.备份和恢复

因为数据库的删除是级联删除,,一旦删除,里面的数据全部被删,所以为了以防万一,如果以后想要恢复的时候,为了保证能够恢复,一般删除之前可以进行备份。

4.1备份

语法:

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

实例:将mytest库备份到文件中:

# mysqldump -P3306 -u root -p123456 -B mytest > D:/mytest.sql

4.2还原

mysql> source D:/mysql-5.7.22/mytest.sql;

4.3注意事项

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

mysqldump -u root -p 数据库名 表名1 表名2 > D:/mytest.sql

同时备份多个数据库:

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

5.查看连接情况

语法:

show processlist;

通过查看连接情况,可以显示出有哪些用户连接了我们的MySQL,如果查出某个用户不是正常登录的时候,可能是自己的数据库被入侵了,如果发现自己的数据库比较慢的时候,可以用这个指令查看连接情况!

总结

本篇文章为大家介绍了数据库的相关操作,掌握这些基础,为接下来给大家介绍数据库表的操作奠定了基础。感谢大家的支持!

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

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

相关文章

读书:《敏捷软件开发工具----精益开发方法》

《敏捷软件开发工具----精益开发方法》(Lean Software Development: An Agile Toolkit)由Mary Poppendieck和Tom Poppendieck合著,2003年出版,尽管已经有20个年头了,但书中的理念和方法仍然具有很高的实践价值&#xf…

SpringBoot2概览-运维实用篇

知识点 使用SpringBoot提供的maven插件可以将工程打包成可执行jar包然后执行&#xff0c;即java –jar xxx.jar&#xff0c;下面的图是MANIFEST.MF文件的内容&#xff1a; <build><plugins><plugin><groupId>org.springframework.boot</groupId>…

【MySQL】如何速通MySQL(3)

&#x1f4cc;前言&#xff1a;本篇博客介绍如何速通MySQL的第二篇&#xff0c;主要介绍Mysql中主要的基础的入门&#xff0c;学习MySQL之前要先安装好MySQL&#xff0c;如果还没有安装的小伙伴可以看看博主前面的博客&#xff0c;里面有详细的安装教程。或者看一下下面这个链接…

136-nago

PEID查看你程序有没有壳&#xff0c;发现是汇编语言程序 打开程序&#xff0c;我们发现程序是由Nag提示窗口的。 我们先进行去Nag提示。 进入回调函数&#xff0c;进行分析 保存修改到文件。 重新打开文件&#xff0c;我们发现没有Nag窗口。 再次使用OD进行附加进行分析。…

项目中遇到的问题总结(四)

GateWay和Nginx的相同点和不同点在哪里&#xff1f; Gateway 和 Nginx 都是常见的反向代理服务器&#xff0c;它们的相同点和不同点如下&#xff1a; 相同点&#xff1a; 都可以作为反向代理服务器&#xff0c;接收来自客户端的请求并转发到后端服务器进行处理。 都支持负载均…

67、C#调用Visual Studio 2019生成的Paddle+OCR(使用ncnn库),去完成业务任务

基本思想&#xff1a;这里使用飞哥写的android代码&#xff0c;将其取出纯c代码逻辑&#xff0c;自己尝试转了paddleocr模型&#xff0c;可以成功转换&#xff0c;不在详细阐述生成ncnn模型的过程和写后处理ocr识别过程&#xff0c;这里要实现的目的是使用c#调用ncnn的ocr工程&…

Ps修改文字

第一步&#xff1a;打开ps软件&#xff0c;选择菜单栏“文件”中的“打开”选项。 第二步&#xff1a;在弹出的“打开”对话框中&#xff0c;选择一张需要修改文字的图片&#xff0c;单击“打开”按钮。 第三步&#xff1a;在左侧工具栏中&#xff0c;选择“仿制图章工具”。 第…

【Python 随练】输出 9*9 口诀

题目&#xff1a; 输出 9*9 口诀 简介&#xff1a; 在本篇博客中&#xff0c;我们将使用 Python 代码输出 9*9 口诀表。口诀表是一个常见的数学乘法表格&#xff0c;用于展示从 1 到 9 的乘法结果。我们将给出问题的解析&#xff0c;并提供一个完整的代码示例来生成这个口诀…

全志V3S嵌入式驱动开发(USB camera驱动)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 soc和mcu的一个重要区别&#xff0c;就是soc会涉及到大量的音视频操作&#xff0c;当然音视频也就包括了camera摄像头这部分。v3s本身支持csi接口和…

webpack优化代码运行之Code split

一、 什么是code split Webpack的code split是一种技术&#xff0c;它能够将代码分割成多个块&#xff0c;从而优化应用程序的性能。这样做可以实现按需加载和并行加载&#xff0c;从而减少初始化时间和请求次数。Code split在Webpack中通过使用entry语法和各种Loader和插件来…

享元模式:减少内存占用的诀窍

一&#xff0c;概要 享元模式&#xff08;Flyweight Pattern&#xff09;是一种结构型设计模式&#xff0c;它主要通过共享对象来降低系统中对象的数量&#xff0c;从而减少内存占用和提高程序性能。这听起来有点像单例模式&#xff0c;但它们在实现和用途上有很大的区别。享元…

JavaScript Day01 初识JavaScript

文章目录 1.初识JavaScript1.1.什么是JavaScript1.2.JavaScript的组成部分1.3.JavaScript的历史-JavaScript发展历史-系统环境-编辑器-运行环境-调试&#xff1a; 2. js组成2.1 ECMAScrpt 【js标准】&#xff08;兼容性100%&#xff09; (类似于CoreJava&#xff0c;制定了基础…

【备战秋招】每日一题:2023.05-B卷-华为OD机试 - 阿里巴巴找黄金宝箱(III)

为了更好的阅读体检&#xff0c;可以查看我的算法学习博客阿里巴巴找黄金宝箱(III) 题目描述 贫如洗的樵夫阿里巴巴在去砍柴的路上&#xff0c;无意中发现了强盗集团的藏宝地&#xff0c;藏宝地有编号从0-N的箱子&#xff0c;每个箱子上面贴有一个数字。 阿里巴巴念出一个咒…

SpringMVC 学习整理

文章目录 一、SpringMVC 简介1.1 什么是MVC1.2 什么是Spring MVC1.3 Spring MVC的特点 二、SpringMVC 快速入门三、RequestMapping注解说明四、SpringMVC获取请求参数4.1 通过ServletAPI获取请求参数4.2 通过控制器方法的形参获取请求参数4.3 通过RequestParam接收请求参数4.4 …

Elasticsearch:实用 BM25 - 第 3 部分:在 Elasticsearch 中选择 b 和 k1 的注意事项

这是系列文章的第三篇文章。之前的文章是&#xff1a; Elasticsearch&#xff1a;实用 BM25 - 第 1 部分&#xff1a;分片如何影响 Elasticsearch 中的相关性评分 Elasticsearch&#xff1a;实用 BM25 - 第 2 部分&#xff1a;BM25 算法及其变量 选择 b 和 k1 值得注意的是&…

【备战秋招】每日一题:2023.05-B卷-华为OD机试 - 比赛的冠亚季军

为了更好的阅读体检&#xff0c;可以查看我的算法学习博客比赛的冠亚季军 题目描述 有个运动员&#xff0c;他们的id为0到N-1,他们的实力由一组整数表示。他们之间进行比赛&#xff0c;需要决出冠亚军。比赛的规则是0号和1号比赛&#xff0c;2号和3号比赛&#xff0c;以此类推…

014、数据库管理之配置管理

配置管理 TiDB配置系统配置集群配置配置的存储位置区分TiDB的系统参数和集群参数 系统参数系统参数的作用域系统参数的修改 集群参数集群参数的修改配置参数的查看 实验一&#xff1a; 在不同作用域下对数据库的系统参数进行修改session级别global级别 实验二&#xff1a; 修改…

Redis入门(二)

3.7 Redis 默认16个库 1&#xff09;Redis默认创建16个库,每个库对应一个下标,从0开始. 通过客户端连接后默认进入到0 号库&#xff0c;推荐只使用0号库. 127.0.0.1:6379> 16个是因为配置文件中是这样的 [aahadoop102 redis]$ vim redis.conf 2&#xff09;使用命令 sele…

DataX和SQLServer的导入导出案例

DataX和SQLServer的导入导出案例 文章目录 DataX和SQLServer的导入导出案例写在前面SQLServer数据库的简单使用SQLServer数据库一些常用的Shell脚本命令创建数据库 DataX 导入导出案例创建表并插入数据读取 SQLServer 的数据导入到 HDFS读取 SQLServer 的数据导入 MySQL 总结 写…

【C++Coppeliasim】UR机械臂位置正逆解Coppeliasim集成测试

前言&#xff1a; 基于改进的 Denavit-Hartenberg 参数的UR机械臂正向运动学求解和基于几何分析的逆运动学求解。该代码在 C 和 MATLAB 中可用&#xff0c;两者都与 CoppeliaSim 集成。 该解决方案是使用 Microsoft Visual Studio 2022 和 C 20 标准构建的。 依赖&#xff1a; …