【MySQL】从零开始了解数据库开发 --- 库的操作


永远记住,你的存在是有意义的,
你很重要,
你是被爱着的,
而且你为这个世界带来了无可取代的东西。
-- 麦克西 《男孩、鼹鼠、狐狸和马》--


从零开始了解数据库开发

今天我们来学习数据库的操作,创建数据库,查看数据库,修改数据库等操作。并与linux文件系统做一个关联。

创建数据库

创建数据库的SQL语句:

sql 复制代码
CREATE DATABASE [IF NOT EXISTS] db_name 
[
[DEFAULT] CHARACTER SET charset_name |
[DEFAULT] COLLATE collation_name
]; 

说明:

  • 大写的表示关键字
  • 是可选项
  • CHARACTER SET: 指定数据库采用的字符集
  • COLLATE: 指定数据库字符集的校验规则、
  • 需要注意的是MySQL中不支持出现同名数据库,床家具已经存在的数据库会报错,需要建议使用 IF NOT EXISTS限制

    删除数据库使用
sql 复制代码
drop DATABASE db_name

创建数据库本质就是在/var/lib/mysql 创建一个目录,删除数据库的本质就是删除目录。同理我们如果有权限操作路径/var/lib/mysql,我们是可以用文件操作创建数据库的(千万不要在实际开发中这么操作)。

创建数据库需要两个编码集:

  1. 数据库编码集:数据库存储数据
  2. 数据库校验集:数据库检验数据,支持数据库进行字段比较。本质也是一种读取数据库数据采用的编码格式
数据库编码集 描述 数据库校验集
UTF-8 Unicode的8位编码形式,支持全球大多数语言。 UTF8_GENERAL_CI (不区分大小写)
UTF8_BIN (二进制校对,区分大小写)
UTF8_UNICODE_CI (Unicode校对)
Latin1 ISO 8859-1西欧语言字符集。 LATIN1_GENERAL_CI (不区分大小写)
LATIN1_BIN (二进制校对,区分大小写)
LATIN1_SWEDISH_CI (瑞典校对,不区分大小写)
GBK 简体中文编码,兼容GB2312。 GBK_CHINESE_CI (简体中文校对,不区分大小写)
GBK_BIN (二进制校对,区分大小写)
GB2312 简体中文编码。 GB2312_CHINESE_CI (简体中文校对,不区分大小写)
GB2312_BIN (二进制校对,区分大小写)
ASCII 美国信息交换标准代码,支持英文及控制字符。 ASCII_GENERAL_CI (不区分大小写)
ASCII_BIN (二进制校对,区分大小写)
Unicode (UTF-16) Unicode的16位编码形式,支持全球所有语言。 UTF16_GENERAL_CI (不区分大小写)
UTF16_BIN (二进制校对,区分大小写)
UTF16_UNICODE_CI (Unicode校对)
UTF-32 Unicode的32位编码形式,支持全球所有语言。 UTF32_GENERAL_CI (不区分大小写)
UTF32_BIN (二进制校对,区分大小写)
UTF32_UNICODE_CI (Unicode校对)

接下来我们就可以通过使用指定编码集创建数据库了:

sql 复制代码
create database db3 charset=utf8 collate utf8_general_ci;

不同的校验规则会对数据库查询等操作产生不同效果,最经典就是大小写区分的问题。

删除数据库

删除数据库的代码很简单:

sql 复制代码
DROP DATABASE [IF EXISTS] db_ name;

执行删除之后的结果:

  • 数据库内部看不到对应的数据库
  • 对应的数据库文件夹被删除,级联删除,里面的数据表全部被删

注意:不要随意删除数据库,数据库可以搁置不使用,后续可以有需求可以重新复用。直接删除操初成本太大!

查看数据库

我们可以通过show databases;查看所有的数据库,并通过use db_name进入指定数据库。

修改数据库

修改数据库的语法为:

sql 复制代码
ALTER DATABASE db_name 
[
[DEFAULT] CHARACTER SET charset_name |
[DEFAULT] COLLATE collation_name
];

可以修改数据库的储存编码集和校验编码集。

库的备份和恢复

数据库的备份语法是

bash 复制代码
mysqldump -P3306 -u root -p 密码 -B 数据库名 > 数据库备份存储的文件路径

这时,可以打开看看 mytest.sql 文件里的内容,其实把我们整个创建数据库,建表,导入数据的语句都装载这个文件中。

想要还原时,使用语句:

bash 复制代码
mysql> source 数据库备份存储的文件路径;

这样就会重新执行文件中所有的操作,从而将数据恢复。

相关推荐
Allen_LVyingbo3 分钟前
生命过程的分子语言:AI 解析范式与场景应用全景研究(下)
大数据·人工智能·知识图谱·健康医疗·数据库开发·数据库架构
星云低代码开发平台21 分钟前
AI 连接器运行健康度:指标、异常恢复和联调清单
大数据·运维·网络·数据库·人工智能·mcp
鱼宵31 分钟前
LangChain4j 生产化改造:记忆落 Redis、向量落 ES,重启再也不丢
数据库·redis·elasticsearch·langchain4j
星云API技术笔记1 小时前
企业微信外部群机器人实战:多人同时咨询时,如何准确匹配消息与回复对象
数据库
ClouGence1 小时前
开源数据库管理工具 CloudDM 4.4.0 发布,新增 Kafka、SAP HANA 数据源
数据库·kafka
瀚高PG实验室1 小时前
业务无法通过hgproxy访问数据库
数据库·postgresql·瀚高数据库
鱼很腾apoc1 小时前
【MySQL】 第1期 从核心概念到表约束全解析
linux·c语言·数据库·学习·mysql
10mAh1 小时前
【SQL】NOT IN 遇到 NULL 为什么返回空集?三值逻辑与反关联实战
jvm·数据库·sql
Alinket2 小时前
毫米波雷达 vs 摄像头 vs 手环:养老跌倒监测三类方案怎么选
网络·数据库·健康医疗·信息与通信·iot
七夜zippoe2 小时前
Agent 权限边界:别让 AI 误删你的生产库(安全设计)
数据库·人工智能·安全·ai·权限边界·安全设计