数据之舞——在MySQL中奏响数据库操作的乐章

06-01 1654阅读

数据之舞——在MySQL中奏响数据库操作的乐章

文章目录

  • 前言
    • 🪶一、创建数据库
      • 1.1 连接到 MySQL 服务器
      • 1.2 创建数据库
      • 1.3 查看数据库
      • 1.4 使用数据库
      • 🪶二、字符集和校验规则
        • 2.1 字符集(Character Set)
        • 2.2 校验规则(Collation)
        • 2.3 查看MySQL支持的字符集和校验规则
        • 2.4 使用字符集和校验规则创建数据库
        • 2.5 校验规则对数据库的影响
          • 2.5.1 使用`utf8mb4_general_ci`(不区分大小写)校验规则创建数据库
          • 2.5.2 使用`utf8mb4_bin`(不区分呢大小写)校验规则创建数据库
          • 🪶三、数据库的删除
          • 🪶四、数据库的修改
          • 🪶五、数据库的查找
          • 🪶六、数据库的备份和恢复
            • 6.1 使用 `mysqldump` 工具进行备份
            • 6.2 恢复数据库
            • 6.3 备份选项
            • 结语

              前言

              在数字的世界里,MySQL像是一艘承载数据的船,带领我们穿越信息的海洋。每一条SQL语句,都是我们与数据库之间的语言桥梁。我们借助这些命令,去查询隐藏在深处的答案,去更新和重组混乱的片段。在这条旅途中,逻辑与技巧是我们的罗盘,指引我们穿越复杂的表结构与关系。


              🪶一、创建数据库

              • 本质就是在/var/lib/mysql目录下再新创建一个目录

                在 MySQL 中创建数据库是一个相对简单的任务,可以通过使用 CREATE DATABASE 语句来实现。以下是一些详细的步骤和示例,帮助你创建一个新的数据库。

                1.1 连接到 MySQL 服务器

                首先,你需要通过命令行或任何 MySQL 客户端工具(如 MySQL Workbench)连接到你的 MySQL 服务器。

                打开你的终端或命令提示符,然后输入以下命令:

                mysql -u your_username -p
                

                其中 your_username 是你的 MySQL 用户名。系统会提示你输入密码。

                1.2 创建数据库

                一旦连接到 MySQL 服务器,你可以使用 CREATE DATABASE 语句来创建一个新的数据库。

                CREATE DATABASE my_database;
                

                这里 my_database 是你想要创建的数据库的名称。你可以根据需要替换为任何合法的数据库名称。

                1.3 查看数据库

                你可以使用 SHOW DATABASES; 命令来查看所有现有的数据库,包括你刚刚创建的数据库。

                SHOW DATABASES;
                

                1.4 使用数据库

                创建数据库后,你可以使用 USE 语句来选择并使用这个数据库。

                USE my_database;
                

                🪶二、字符集和校验规则

                在MySQL中,字符集(Character Set)和校验规则(Collation)是两个重要的概念,它们共同决定了数据库中字符串的存储和比较方式。

                2.1 字符集(Character Set)

                字符集定义了字符以及字符的编码。它是字符和二进制数据之间的映射关系,为字符分配了唯一的编号。常见的字符集有ASCII、GBK、ISO-8859-1、UTF-8等。在MySQL中,字符集决定了数据库中字符串的存储方式。

                • ASCII:共收录128个字符,包括空格、标点符号、数字、大小写字母和一些不可见字符。
                • GBK:在GB2312字符集的基础上进行了扩充,收录了更多的汉字和其他字符。
                • UTF-8:一种变长编码的字符集,使用1到4个字节来表示一个字符。它兼容ASCII字符集,并且可以表示地球上几乎所有的字符。在MySQL中,UTF-8有两种常见的实现:utf8mb3(使用1到3个字节)和utf8mb4(使用1到4个字节)。

                  2.2 校验规则(Collation)

                  校验规则,也称为排序规则,定义了字符的比较规则。在同一个字符集内,字符之间的比较和排序都是基于校验规则来进行的。字符集和校验规则是一对多的关系,每个字符集都有一个默认的校验规则。

                  • 大小写敏感:如utf8_bin,在这种校验规则下,字符的比较是区分大小写的。
                  • 大小写不敏感:如utf8_general_ci,在这种校验规则下,字符的比较是不区分大小写的。ci表示case insensitive(大小写不敏感),而bin表示binary(二进制),即区分大小写。

                    2.3 查看MySQL支持的字符集和校验规则

                    可以使用以下SQL语句来查看MySQL支持的字符集和校验规则:

                    • 查看字符集的两种方式:

                      SHOW CHARACTER SET;
                      SHOW CHARSET;
                      
                    • 查看校验规则:

                      SHOW COLLATION;
                      

                      这些语句会列出MySQL支持的所有字符集和校验规则,以及它们的默认设置和其他相关信息。

                      2.4 使用字符集和校验规则创建数据库

                      在创建MySQL数据库时,您可以指定字符集(character set)和校验规则(collation)。字符集决定了数据库中可以存储哪些字符,而校验规则决定了这些字符如何进行比较和校验。

                      以下是创建数据库时指定字符集和校验规则的语法:

                      CREATE DATABASE database_name  
                      CHARACTER SET character_set_name  
                      COLLATE collation_name;
                      

                      或者:

                      CREATE DATABASE database_name  
                      CHARSET=character_set_name  
                      COLLATE collation_name;
                      
                      • database_name 是您要创建的数据库的名称。
                      • character_set_name 是您希望数据库使用的字符集。例如,utf8、utf8mb4、latin1 等。
                      • collation_name 是您希望数据库使用的校验规则。例如,utf8_general_ci、utf8mb4_unicode_ci、latin1_swedish_ci 等。

                        如果您只指定了字符集而没有指定校验规则,MySQL将使用该字符集的默认校验规则。同样地,如果您在创建数据库时没有指定字符集,MySQL将使用服务器的默认字符集。

                        示例:

                        创建一个使用utf8mb4字符集和utf8mb4_unicode_ci校验规则的数据库:

                        CREATE DATABASE mydatabase  
                        CHARACTER SET utf8mb4  
                        COLLATE utf8mb4_unicode_ci;
                        

                        或者:

                        CREATE DATABASE mydatabase  
                        CHARSET=utf8mb4  
                        COLLATE utf8mb4_unicode_ci;
                        

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

                        2.5.1 使用utf8mb4_general_ci(不区分大小写)校验规则创建数据库
                        1. 创建数据库
                        create database test1 charset=utf8mb4 collate utf8mb4_general_ci;
                        

                        数据之舞——在MySQL中奏响数据库操作的乐章

                        1. 选择操作数据库
                        use test1;
                        
                        1. 创建一个person表
                        create table if not exists person (name varchar(20));
                        

                        数据之舞——在MySQL中奏响数据库操作的乐章

                        1. 插入几个大小写数据
                        insert into person (name) values('a');
                        insert into person (name) values('a');
                        insert into person (name) values('a');
                        insert into person (name) values('a');
                        insert into person (name) values('A');
                        insert into person (name) values('b');
                        insert into person (name) values('C');
                        

                        数据之舞——在MySQL中奏响数据库操作的乐章

                        1. 选中name为a的展示出来
                        select * from person where name='a';
                        

                        数据之舞——在MySQL中奏响数据库操作的乐章

                        可以发现 a 和 A 都在里面,说明不区分大小写。

                        2.5.2 使用utf8mb4_bin(不区分呢大小写)校验规则创建数据库
                        1. 创建数据库
                        create database test2 charset=utf8mb4 collate utf8mb4_bin;
                        
                        1. 选择操作数据库
                        use test2;
                        
                        1. 创建一个person表
                        create table if not exists person (name varchar(20));
                        

                        数据之舞——在MySQL中奏响数据库操作的乐章

                        1. 插入几个大小写数据
                        insert into person (name) values('a');
                        insert into person (name) values('A');
                        insert into person (name) values('b');
                        insert into person (name) values('c');
                        

                        数据之舞——在MySQL中奏响数据库操作的乐章

                        1. 选中name为a的展示出来
                        select * from person where name='a';
                        

                        数据之舞——在MySQL中奏响数据库操作的乐章

                        可以发现只有 a 在里面,说明区分大小写。

                        🪶三、数据库的删除

                        DROP 命令用于删除数据库中的对象,如数据库、表、索引、视图等。以下是一些常见的 DROP 命令及其用途:

                        1. 删除数据库:
                        DROP DATABASE database_name;
                        
                        • 此命令会删除整个数据库及其中的所有表和数据。在某些数据库系统中,可以使用 IF EXISTS 选项来避免在数据库不存在时产生错误。
                          1. 删除表:
                          DROP TABLE table_name;
                          
                          • 此命令会删除指定的表及其中的所有数据。同样,可以使用 IF EXISTS 选项来避免在表不存在时产生错误。

                            🪶四、数据库的修改

                            ALTER 命令用于修改已存在的数据库表的结构,如添加、删除、修改列,修改表名等。以下是一些常见的 ALTER 命令及其用途:

                            1. 添加列:
                            ALTER TABLE table_name ADD column_name datatype;
                            
                            • 此命令会在指定的表中添加一个新的列。
                              1. 删除列:
                              ALTER TABLE table_name DROP COLUMN column_name;
                              
                              • 此命令会从指定的表中删除一个列。
                                1. 修改列的数据类型:
                                ALTER TABLE table_name MODIFY COLUMN column_name new_datatype;
                                
                                • 或者在某些数据库系统中使用:
                                  ALTER TABLE table_name ALTER COLUMN column_name SET DATA TYPE new_datatype;
                                  
                                  • 此命令会修改指定列的数据类型。
                                    1. 修改列名:
                                    ALTER TABLE table_name RENAME COLUMN old_column_name TO new_column_name;
                                    
                                    • 此命令会修改指定列的列名。
                                      1. 修改表名:
                                      ALTER TABLE old_table_name RENAME TO new_table_name;
                                      
                                      • 此命令会修改表的名称。

                                        🪶五、数据库的查找

                                        SHOW 命令主要用于显示数据库的各种信息,如数据库列表、表列表、表的列信息等。以下是一些常见的 SHOW 命令及其用途:

                                        1. 显示所有数据库:
                                        SHOW DATABASES;
                                        
                                        • 此命令会列出当前数据库服务器上的所有数据库。
                                          1. 显示当前数据库中的表:
                                          SHOW TABLES;
                                          
                                          • 在执行此命令之前,需要使用 USE 命令切换到相应的数据库。
                                            1. 显示表的列信息:
                                            SHOW COLUMNS FROM table_name;
                                            

                                            或者

                                            DESC table_name;
                                            
                                            • 此命令会列出指定表的所有列及其数据类型、是否允许 NULL 值等信息。

                                              🪶六、数据库的备份和恢复

                                              MySQL数据库的备份和恢复是维护数据库完整性和可靠性的重要部分。下面是几种常见的备份和恢复方法:

                                              6.1 使用 mysqldump 工具进行备份

                                              mysqldump 是MySQL自带的备份工具,常用于导出数据库的结构和数据到一个SQL文件中。

                                              基本语法:

                                              mysqldump -u 用户名 -p 数据库名 > 备份文件名.sql
                                              

                                              示例:

                                              mysqldump -u root -p mydatabase > mydatabase_backup.sql
                                              

                                              这个命令将会把 mydatabase 的所有表导出到 mydatabase_backup.sql 文件中。

                                              6.2 恢复数据库

                                              从SQL文件恢复数据库时,可以使用 mysql 命令。

                                              基本语法:

                                              mysql -u 用户名 -p 数据库名  
                                              

                                              示例:

                                              mysql -u root -p mydatabase  
                                              

                                              这个命令会将 mydatabase_backup.sql 中的内容导入到 mydatabase 数据库中。

                                              • 使用 SOURCE 命令执行备份文件:
                                                SOURCE /path/to/mydatabase_backup.sql;
                                                

                                                确保将路径替换为实际的备份文件路径。

                                                6.3 备份选项

                                                • 备份特定的表:

                                                  mysqldump -u 用户名 -p 数据库名 表名1 表名2 > 备份文件名.sql
                                                  
                                                • 只备份数据库结构(不包含数据):

                                                  mysqldump -u 用户名 -p -d 数据库名 > 备份文件名.sql
                                                  

                                                  其中,-d 选项表示不导出数据。

                                                • 同时备份多个数据库:

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

                                                  结语

                                                  随着一次次操作的完成,MySQL数据库中的数据变得更加有序和强大。每一次查询的优化、每一次表的设计,都是在为未来的信息处理打下坚实的基础。我们不仅在操控数据,也在追求一种对信息的掌控力和对效率的极致。MySQL的操作不止于技术,它更是一场追求完美与平衡的艺术旅程。

                                                  数据之舞——在MySQL中奏响数据库操作的乐章

                                                  今天的分享到这里就结束啦!如果觉得文章还不错的话,可以三连支持一下,17的主页还有很多有趣的文章,欢迎小伙伴们前去点评,您的支持就是17前进的动力!

                                                  数据之舞——在MySQL中奏响数据库操作的乐章

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们。

目录[+]

取消
微信二维码
微信二维码
支付宝二维码