MySQL_1 数据库的基本操作

举报
Cyan_RA9 发表于 2023/06/12 09:29:26 2023/06/12
825 0 0
【摘要】 MySQL 第一节 数据库的相关操作 内容分享。

目录

一、拾枝杂谈

        1.cmd验证MySQL服务 : 

        2.cmd连接MySQL服务 : 

        3.MySQL服务 : 

二、数据库介绍

        1.定义 : 

        2.SQL语句分类 : 

三、数据库操作

        1.数据库的创建 : 

                1° 基本语法

                2° 演示

        2.数据库的删除 : 

                1° 基本语法

                2° 演示

        3. 数据库的查询 : 

                1° 基本语法

                2° 演示

        4.数据库的备份和恢复 : 

                1° 基本语法 

                2° 演示

                3° 表的备份和恢复


一、拾枝杂谈

        1.cmd验证MySQL服务 : 

                在MySQL Server/bin目录下使用cmd,输入“mysql -u root -p”指令,cmd会提示输入密码,登入成功后显示"Welcome to the MySQL monitor",如下图所示 : 

image.png

image.gif

        2.cmd连接MySQL服务 : 

                连接到MySQL服务(MySQL数据库)的指令是“mysql -h 主机IP -P 端口 -u 用户名 -p密码”。注意——

        -p后直接输入密码,不需要加空格;

        若-p后没有输入密码,回车会再次要求输入密码;

        如果没有写-h 主机IP,默认连接本机;

        4° 如果没有写-P 端口,默认3306;

        为了提示数据库的安全性,实际开发中往往会修改默认的端口。

                如下图所示 : 

image.png

image.gif编辑

                PS : 若MySQL80服务莫名被关闭,且无法打开,提示找不到文件(系统错误2),可能是MySQL服务的可执行文件路径被更改,可以进入注册表“计算机\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MySQL80”,双击ImagePath,将路径进行更新即可

        3.MySQL服务 : 

                安装MySQL,就是在主机上安装一个数据库管理系统(DBMS,即Database Management System)DBMS可以管理多个数据库(DB,即Database)

                一个数据库中可以创建多张表(table),以保存数据信息(MySQL数据库中,table的本质仍然是文件);

                DBMS和DB关系,如下图所示 :

                PS : DB和DBMS又包含在DBS(即Database System数据库系统)中。

image.png

image.gif编辑


二、数据库介绍

        1.定义 : 

        “数据库”是以一定方式储存在一起、能予多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立数据集合。一个数据库由多个表空间(Tablespace)构成。数据库就是一个存储结构化数据的仓库

        表由行(row)和列(column)构成;表的一行称为一条记录;在java中,一行记录往往使用对象表示

        2.SQL语句分类 : 

        DDL : Data Definition Language(数据定义语句)。eg : CREATE...

        DML : Data Manipulation Language(数据操作语句)。eg : INSERT, UPDATE...

        DQL : Data Query Language(数据查询语句)。eg : SELECT...

        DCL : Data Control Language(数据控制语句)。eg : GRANT, REVOKE... 


三、数据库操作

        1.数据库的创建 : 

                1° 基本语法

        CREATE DATABASE [IF NOT EXISTS] db_name [create_specification [create_specification]...];

        中括号表示——[]中的内容可写可不写

        “IF NOT EXISTS”会在创建数据库时进行判断,若此数据库已存在,就不执行创建数据库的操作,不会报错

        db_name表示数据库的名字;

        create_specification表示该数据库的规范,包括“CHARACTER SET charset_name”和“COLLATE collation_name”两种。

            其中——

            前者CHARACTER SET表示该数据库采用的字符集,默认使用utf8mb4(5.7版本默认为utf8mb3

            后者COLLATE表示该数据库采用的校对规则,常用的有utf8mb4_bin(区分大小写) 和 utfmb4_general_ci(不区分大小写),默认使用utf8mb4_0900_ai_ci(utf8mb3字符集默认对应utf8mb3_general_ci排序规则)PS : MySQL8.0开始,utf-8区分为mb3(老版本) 和 (mb4)新版本。

                2° 演示

                代码如下 : 

# 1.创建默认的数据库(utf8mb4 && utf8mb4_0900_ai_ci)
CREATE DATABASE IF NOT EXISTS demo_1;
# 2.创建指定字符集的数据库(utf8mb3 && utf8mb3_general_ci)
CREATE DATABASE IF NOT EXISTS demo_2 CHARACTER SET utf8;
# 3.创建指定字符集和指定校对标准的数据库(utf8mb4 && utf8mb4_bin)
CREATE DATABASE IF NOT EXISTS demo_3 CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;

image.gif

                运行效果 : 

image.png

image.gif编辑

image.png

image.gif编辑

        2.数据库的删除 : 

                1° 基本语法

        DROP DATABASE [IF EXISTS] db_name;

                2° 演示

                代码如下 : 

DROP DATABASE IF EXISTS demo_1;
DROP DATABASE IF EXISTS demo_2;
DROP DATABASE IF EXISTS demo_3;

image.gif

                运行效果 : 

image.png

image.gif编辑

        3. 数据库的查询 : 

                1° 基本语法

        ①显示所有数据库——

        SHOW DATABASES;

        ②显示某个数据库的创建语句——

        SHOW CREATE DATABASE db_name;

                2° 演示

                代码如下 : 

CREATE DATABASE IF NOT EXISTS demo_1 CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
SHOW DATABASES;
SHOW CREATE DATABASE demo_1;

image.gif

                运行效果 : 

image.png

image.gif编辑

image

image.gif编辑

                对于结果2——

                /*!40100......*/表示该指令必须在MySQL4.0及以上版本才合法

                数据库的名字加上了一对反引号,是为了防止名字是关键字。因此,为了规避关键字,以后创建数据库时,都可以给db_name加上一对反引号(创建,删除等操作带上反引号都会更规范、更安全。PS : 反引号 =  英文输入法下Esc下面的那个键。

        4.数据库的备份和恢复 : 

                1° 基本语法 

        备份数据库,通常指将指定数据库备份到另一主机或者本机的其他文件中备份数据库的指令要在DOS下执行备份数据库的指令如下 : 

           mysqldump -u 用户名 -p -B db1 db2...dbn > 文件名.sql

                -p表示要输入密码,按下回车后会要求输入用户密码;

                -B表示要备份的数据库,可同时备份多个数据库;

                >表示导出符;

                .sql表示备份后的文件后缀,文件名采用路径的形式;实际保存的是SQL语句;

                该指令实际存在于MySQL安装目录的bin目录下,如下图所示 : 

image.png

image.gif编辑

        恢复数据库——指将备份的数据库恢复到本地。恢复指令如下 : 

            Source 文件名.sql

                此处的文件名.sql要采取路径的形式。

                恢复数据库的指令要进入MySQL命令行下再执行

                2° 演示

                数据库的备份演示——

image.png

image.gif编辑

                备份效果 : 

image.png

image.gif编辑

image

image.gif编辑

                数据库的恢复演示——

                删除demo_1数据库后,首先连接到MySQL,如下图所示 : 

image.png

image.gif编辑

                然后使用Source __.sql指令,如下图所示 : 

image.png

image.gif编辑

                恢复效果 : 

image.png

image.gif编辑

                PS : 也可以将__.sql文件中的内容全部复制到查询语句编辑器中执行一次。(不推荐) 

                3° 表的备份和恢复

        备份——

        mysqldump -u 用户名 -p db_name 表1 表2...表n > ___.sql 

        恢复——(进入MySQL命令行下再执行)

        Use db_name(选择数据库)

        Source ___.sql(恢复表的备份)

                备份演示——

                在demo_1数据库中新建一张表,如下图所示 : 

image.png

image.gif编辑

                备份表table1,如下图所示 : 

image.png

image.gif编辑

                备份效果 : 

image.png

image.gif编辑

                恢复演示——

                首先,删除demo_1数据库下的table1表,如下图所示 : 

image.png

image.gif编辑

                连接到MySQL后,输入恢复指令(要先选中表所在的数据库),如下图所示 : 

image.png

image.gif编辑

                恢复效果 : 

image.png

image.gif编辑

        System.out.println("END-------------------------------------------------------------------------------");

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

作者其他文章

评论(0

抱歉,系统识别当前为高风险访问,暂不支持该操作

    全部回复

    上滑加载中

    设置昵称

    在此一键设置昵称,即可参与社区互动!

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。