【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 数据库备份存储的文件路径;

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

相关推荐
YOU OU3 小时前
Redis基础常识与命令
数据库·redis·缓存
Database_Cool_5 小时前
OLTP 和 OLAP 区别详解:分析型数据库和事务型数据库怎么选(附阿里云 AnalyticDB MySQL 选型指南)
数据库·mysql·阿里云
爱写代码的阿森6 小时前
鸿蒙三方库 | harmony-utils之KvUtil键值型数据库操作详解
数据库·华为·harmonyos·鸿蒙·huawei
Database_Cool_6 小时前
单机 MySQL 迁移到分布式数据库方便吗?阿里云 PolarDB-X 100% MySQL 协议兼容零改造平滑迁移
数据库·分布式·mysql
姜太小白7 小时前
【MySQL】 索引优化实战:解决 WHERE 等值 + IS NULL 查询,TEXT 字段报错 1167 的完整指南
数据库·mysql
窝子面7 小时前
手搓最简前后端协作-node
javascript·数据库
吳所畏惧7 小时前
宝塔面板Redis密码修改指南:SSH命令修改 vs 面板UI界面修改,哪个更靠谱?
运维·服务器·数据库·redis·缓存·ssh
DFT计算杂谈7 小时前
无 Root 权限在 Tesla K80 零门槛部署 DeepSeek 大模型
linux·服务器·网络·数据库·机器学习
HPFBoy7 小时前
log4net 数据库存日志正确配置
数据库