首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >【MySQL】数据库操作指南:轻松驾驭数据世界

【MySQL】数据库操作指南:轻松驾驭数据世界

作者头像
喜欢做梦
发布2025-02-18 12:33:46
发布2025-02-18 12:33:46
2560
举报
文章被收录于专栏:学习学习

🍑一、数据库的介绍

🍓1.什么数据库?

数据库是组织和保存数据的应用程序,数据库的底层用了一些合适的数据结构对数据进行组织,存储和管理,以便进行增删查改。这也是数据库和数据结构之间的关系。 数据库主要的作用就是管理数据,对数据进行增删查改。

🍓2.数据库分类

数据库的类型分为关系型数据库和非关系型数据库。

关系型数据库

关系型数据库:以关系模型为基础,将数据存储在有行和列组成的二维表中,通过SQL语言来进行数据存储和管理,适用于事务处理、数据一致性要求高的场景。

MySQL就是关系型数据库,还有其他常见的关系型数据库有:

  • ACCESS:微软的OFFICC中集成的一个小型数据库;
  • SQLite:小型数据库,常用于手机APP,桌面程序,简单的数据处理;
  • SQL Server:微软推出一个专业级的大型数据库;
  • PostgreSQL:效率据说比MySQL高;
  • Oracle:业内最强数据库,没有之一,收费,服务于大型公司;
非关系型数据库

非关系型数据库:不依赖固定的表格结构,具有高可扩展性、高并发读写性能等特点,适用于处理半结构化或非结构化数据,以及对扩展性和性能要求高的场景。

常见的非关系型数据库有:

  • Redis:内存级别的数据库;
  • MongoDB:文档数据库;

🍑二、数据库的操作

🍈1.数据库的语言

数据库的操作要用到SQL,SQL是针对数据库操作的语言。

SQL的分类:

  • DDL(Data Definition Language ,数据定义语言):用来维护存储数据的结构;
  • DML(Data Manipulation Language ,数据操纵语言):用来对数据进行操作;
  • DCL(Data Control Language ,数据控制语言):主要负责权限管理和事务。
  • TCL(Translation Control Language ,事务控制语言):用来管理数据库事务。

🍈2.数据库的创建

🍒1.查看数据库

在创建数据库之前,查看该数据库是否已经被创建过:

所以我们这里要查看一下我们当前集合中包含哪些数据库

  • 显示数据库

show databases;

  • show是关键字,表示要执行的操作类型,作用是显示某些信息;
  • databases表示的是要所有的数据库,注意这里databases是一个复数;
  • 注意他是以分号来结尾,不是冒号;
  • 大小写不敏感,可以全部大写,可以全部小写根据个人习惯。

结果示例如下:

注意:

  • 他是以分号来作为结尾,如果没有分号你按enter键,他会在下一行让你继续输出,如果语句太长可以直接换到下一行来写,但是你要将单词写完整,在跳到下一行;
  • 如果单词写错,那么他会报语法错误;

🍒 2.创建数据库

语法:

代码语言:javascript
复制
CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name
    [create_option] ...

create_option: [DEFAULT] {
    CHARACTER SET [=] charset_name
  | COLLATE [=] collation_name
  | ENCRYPTION [=] {'Y' | 'N'}
}
  • 大写部分表示关键字;
  • {}表示必须选,|表示或者的意思,以上表示databases和schema两者必须选择一个;
  • []表示可选项,可写可不写,if not exists表示如果不存在就创建;
  • CHARACTER SET:指定数据库指定采用的字符集;
  • COLLATE:表示指定数据库字符集的校验规则;
  • ENCRYPTION:表示是否加密。

我们已经查看查看完数据库,接下来创建自己没有的数据库,比如创建一个名为test1和test2的数据库:

写法1:

create database test1;

写法2:加上if not exists

create database if not exists test2;

写法一和写法二有什么区别,也就是加不加 if not exists 有什么区别? 在我的数据库中,我已经有了一个test1的数据库,如果我在创建一个相同名称的数据库试一下会出现怎么样的结果:

  • 不加 if not exists:

直接报错:

  • if not exists:

只是警告一下:

那么报错和警告有什么区别呢? 在工作中,执行SQL不是一条一条执行的,如果有一条报错,那么后面就不会再执行直接被中断,影响整个流程,而警告不会影响,还可以继续执行。

如果我们想要查看警告信息:

show warnings;

写法三:指定字符集和排序规则。(在创建库的时候强烈建议指定)

我们先查看数据库所支持的字符集编码和排序规则

  • 查看字符集编码:

show charset;

  • utf8mb4是8.0默认的字符集;
  • latin1是5.7默认的字符集,不支持中文;

  • 查看排序规则:

show collation;

  • utf8mb4_0900_ai_ci是 8.0默认的编码集,ai表示口音不敏感,ci表示大小写不敏感;
  • utf8mb4_general_ci是5.7默认的编码集;

  • 查看默认字符集和排序规则:

show variables like '%character%';

创建指定字符集和排序规则的数据库:

  • utf8mb4编码是Unicode字符集的一种实现,用1-4个字节表示一个字符,可以表示世界上所有字符,而且更节省空间;
  • 0900是基于UCA9.0.0算法,UCA是Unicode Collation Algorithm 的缩写;
  • ai(Accent-insensitive):表示口音不敏感;
  • ci(Case-insensitive):表示大小写不敏感;
  • as(Accent-sensitive):口音敏感;
  • cs(Case-sensitive):大小写敏感;

注意:

  • 数据库名称不能重复;
  • 如果创建的数据库名称是关键字,需要用到反引号(在Esc下方,Tab上方),即使不是关键字,你也可以使用反引号

🍒3.使用数据库

语法:

use 数据库名称;

示例:

使用数据库test1

  • 查看当前操作(选择)的数据库:

show database();

🍒4.删除数据库

语法:

代码语言:javascript
复制
DROP DATABASE [IF EXISTS] db_name;

示例:

删除数据库test1:

  • 注意:在项目和工作进谨慎删除数据库;
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-02-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 🍑一、数据库的介绍
    • 🍓1.什么数据库?
    • 🍓2.数据库分类
      • 关系型数据库
      • 非关系型数据库
  • 🍑二、数据库的操作
    • 🍈1.数据库的语言
    • 🍈2.数据库的创建
      • 🍒1.查看数据库
      • 🍒 2.创建数据库
      • 🍒3.使用数据库
      • 🍒4.删除数据库
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档