Bootstrap

初识MySQL

1.数据库

MySQL是一款使用率高且免费的数据库(使用率仅仅低于Oracle)
关系数据库和 NoSQL 数据库管理系统知识库(DB-Engines Ranking -)
2025_1_25
(此图数据于2025-1-25)

数据库主要是数据处理,数据处理包含数据的储存、查询、统计、排序、删除等。

数据库的优势:

  1. 数据持久化:数据库可以将数据保存在存储介质中,即使应⽤程序关闭或服务器重启,数据也不会
    丢失。
  2. 数据结构化:数据库能够以结构化的⽅式存储数据,使得数据易于管理和查询。
  3. 数据完整性:数据库管理系统(DBMS)提供了数据完整性的保障,确保数据的准确性和⼀致性。
  4. 并发控制:数据库可以处理多个⽤⼾或进程同时访问和修改数据,同时确保数据的⼀致性。
  5. 安全性:数据库提供了多种安全机制,如访问控制、加密等,保护数据不被未授权访问。
  6. 可扩展性:随着数据量的增⻓,数据库可以⽔平或垂直扩展,以适应不断增⻓的数据需求。
  7. 备份和恢复:数据库⽀持数据的备份和恢复,以防数据丢失或损坏。
  8. 查询优化:数据库系统提供了⾼效的查询优化器,可以快速执⾏复杂的查询操作。
  9. 事务管理:⼤部分关系型数据库都⽀持事务,确保⼀系列操作要么完全成功,要么完全失败,提⾼
    了操作的可靠性。
  10. 多⽤⼾⽀持:数据库允许多个⽤⼾同时访问和操作数据,适合多⽤⼾环境。

接下来使用的是MySQL 8.0 Command Line Client - Unicode来进行操作和演示(大小写不敏感)

2.查看数据库

语法:show databases;

在这里插入图片描述
MySQL自带的6个基础数据库
sakia和world是示例库,用于练习,可以修改。
information_schema mysql performance_schema sys是系统级别的数据库不要随便修改和删除

3.创建数据库

语法:
CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name [create_option]
create_option: [DEFAULT] {
CHARACTER SET [=] charset_name
| COLLATE [=] collation_name
| ENCRYPTION [=] {‘Y’ | ‘N’}
}
1.大写部分代表关键字
2.{}表示必须选
3.|表示二选一
4.[]表示可以选
5.CHARACTER SET:指定数据库采⽤的字符集编码
6.COLLATE:指定数据库字符集的校验规则
7. ENCRYPTION:数据库是否加密,MySQL 8.0.16中引⼊的新选项

在这里插入图片描述
创建成功一个名为java的数据库
当使用[]中的if no exists 去判断
在这里插入图片描述
如果没有名java的数据库则进行创建存在就会报错

原则上当命名数据库时不能用关键字但加上``时就可以
在这里插入图片描述

4.字符集编码和排序规则

查看字符集编码:
show charset;
MySQL8.0默认的字符集编码是 utf8mb4,MySQL5.7默认的字符集latin1
在这里插入图片描述
Maxlen代表:例如utf8mb4为字符编码时最多以4个字节构成字符
查看排序规则:
show collation;

MySQL8.0默认是ut8mb4_0900_ai_ci,MySQL5.7默认是ut8mb4_general_ci。
ai是Accent-insensitive的缩写,表⽰⼝声不敏感
• ci是Case-insensitive的缩写表⽰⼤⼩写不敏感
• as是Accent-sensitive的缩写,表⽰⼝声敏感
• cs是Case-sensitive的缩写表示大写敏感
•bin表示二进制
在这里插入图片描述

6.修改数据库

主要是修改字符集和排序规则
语法:ALTER {DATABASE | SCHEMA} [db_name]
alter_option …
alter_option: {
[DEFAULT] CHARACTER SET [=] charset_name
| [DEFAULT] COLLATE [=] collation_name
| [DEFAULT] ENCRYPTION [=] {‘Y’ | ‘N’}
| READ ONLY [=] {DEFAULT | 0 | 1}
}在这里插入图片描述

7.删除数据库

语法:DROP {DATABASE | SCHEMA} [IF EXISTS] db_name
在这里插入图片描述
注意不要随意删除数据库噢!

;