数据库的操作

前言

在之前的文章中,我们已经了解了什么是数据库,以及为什么有数据库,和数据库有什么作用,有了这些宏观概念之后,本章为大家进一步详细介绍对于数据库在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.hqwc.cn/news/1897.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MyBatis-Plus:条件构造器Wrapper

目录 1.Wrapper概述 1.1.Wrapper的继承关系 1.2.Wapper介绍 1.3.各个构造器使用区别 1.4.构造器常用方法 2.Wrapper常用构造器介绍 2.1.QueryWrapper 2.2.UpdateWrapper 2.3.LambdaQueryWrapper 2.4.AbstractWrapper 3. Lambda条件构造器 3.1.示例 4.鸣谢 MyBati…

Spring Boot 如何使用 Spring Security 进行认证和授权

Spring Boot 如何使用 Spring Security 进行认证和授权 在 Web 应用程序中,认证和授权是非常重要的功能。Spring Security 是一个基于 Spring 框架的强大的安全框架,它提供了完整的认证和授权解决方案,并且可以轻松地集成到 Spring Boot 应用…

服务器编程:数据库连接池

引言: 数据库连接池和线程池的思想一样,是为了避免频繁创建和销毁数据库连接导致的性能开销。如果一个项目频繁的需要访问数据库,那么它就有可能需要频繁的创建/销毁数据库连接,那么我们可以采用数据库连接池的技术,在…

【几何数学】【Python】【C++】将线段沿着线段方向延长一定长度,求新的点

p1点和p2点是一条线段的两端,沿着p1指向p2的方向,将线段长度延伸长度x,求延伸后的点ep。如下图: Python代码: import mathdef extend_line_segment(p1, p2, extension_length):"""延伸线段长度并返回…

Redis各数据类型操作命令

一、Redis数据类型及命令 (一)String 类别命令描述命令示例备注取/赋值操作赋值set key valueset lclkey lclvalue取值 get keyget lclkey取值并赋值getset key valuegetset lclkey1 lclvalue1获取原值,并设置新的值仅当不存在时赋值setnx k…

多元回归预测 | Matlab海洋捕食者算法(MPA)优化极限学习机ELM回归预测,MPA-ELM回归预测,多变量输入模型

文章目录 效果一览文章概述部分源码参考资料效果一览 文章概述 多元回归预测 | Matlab海洋捕食者算法(MPA)优化极限学习机ELM回归预测,MPA-ELM回归预测,多变量输入模型 评价指标包括:MAE、RMSE和R2等,代码质量极高,方便学习和替换数据。要求2018版本及以上。 部分源码 %% …

Java 实现word、excel、ppt、txt等办公文件在线预览功能!

如何用 Java 实现word、excel、ppt、txt等办公文件在线预览功能?本文告诉你答案! java 实现办公文件在线预览功能是一个大家在工作中也许会遇到的需求,网上些公司专门提供这样的服务,不过需要收费。 如果想要免费的,…

设计模式第19讲——命令模式(Command)

目录 一、什么是命令模式 二、角色组成 三、优缺点 四、应用场景 4.1 生活场景 4.2 java场景 五、代码实现 5.0 代码结构 5.1 抽象命令(Command)——Command 5.2 接收者(Receiver)——Chef 5.3 具体命令(Co…

【读书笔记】《软件工程导论》

目录 一、软件工程概述 二、启动阶段 三、计划阶段 四、实施阶段 五、收尾阶段 一、软件工程概述 软件危机:在计算机软件的开发和维护过程中遇到的一系列严重问题。 软件危机的产生与自身的特点有关,还与软件开发、管理的方法不正确有关。 软件危…

Go语言并发微服务分布式高可用

Go语言并发微服务分布式高可用 Go语言基础 环境安装 命令行输入go,当前操作系统Os环境中依赖于PATH指定的日录们去找命令(可执行文件)windows会优先搜索当前日录,当前日录没有才依赖PATH中指定的日录 环境变量: 操作系统运行环境中提前定义好的变量P…

6-js基础-3

JavaScript 基础 - 3 知道什么是数组及其应用的场景,掌握数组声明及访问的语法,具备利用数组渲染柱形图表的能力 今日重点: 循环嵌套数组综合案例 今日单词: 循环嵌套 利用循环的知识来对比一个简单的天文知识,我们…

Scrapy框架之MongoDB通过配置文件管理参数--Linux安装MongoDB--图形管理工具

目录 MongoDB通过配置文件 问题 解决方案 步骤 提示 Linux安装MongoDB 环境 下载依赖与安装包 解压安装 MongoDB GUI管理工具 独立软件GUI软件 Robo 3T使用 VSCode集成GUI插件 MongoDB通过配置文件 问题 启动MongoDB时,编写参数太麻烦 解决方案 通过配…