有些聚散如转瞬,有些聚散却如隔世。
前言
这是我自己学习mysql数据库的第一篇笔记。后期我会继续把mysql数据库笔记开源至博客上。
mysql基础知识
mysql优点
1. 虽然文件也可以存储数据,但是不利于数据查询和管理,也不利于存储海量数据。
2. 所以专家们设计出更加利于管理数据的东西---数据库,它能更有效的管理数据。
3. mysql是世界上最受欢迎的数据库之一,属于甲骨文,不适合做复杂的业务。
登入退出指令
mysql -u root
1. 在Linux下面,以root身份去登入mysql。
exit;
2. 在mysql下面,退出mysql。
mysql-mysqld
1. mysql是数据库服务的客户端。
2. mysqld是数据库服务的服务器端。
3. mysql本质是基于CS模式的一种网络服务。
4. mysql是一套给用户提供数据存取服务的网络程序。
mysql-databese-Linux
1. 在mysql中建立一个数据库,本质上就是在Linux中建立一个目录。
2. 在数据库内建立一张表格,本质上就是在Linux中建立一个的文件。
3. 这之间的转换过程就是mqsqld服务做的。
服务器-数据库-表
1. Client:本质是mysql客户端。
2. MySQL:本质是mysqld服务端。
3. DB:本质是一个数据库,在Linux下是一个目录。
4. 表:本质是一个二维结构表格,在Linux下是一个文件。
SQL语言分类
1. DDL:数据定义语言,用来维护存储数据的结构。
2. DLM:数据操纵语言,用来对数据进行操作指令。
3. DCL:数据控制语言,用来负责管理权限和事务。
操作指令
操作数据库
create database db_name;
创建一个数据库,本质上就是在Linux的/var/lib/mysql路径下面创建一个目录。
show databases;
显示现有的数据库,本质上就是显示在Linux的/var/lib/mysql路径下面创建的目录。
drop database db_name;
删除一个数据库,本质上就是在Linux的/var/lib/mysql路径下面删除一个目录。
use db_name;
进入一个数据库,本质上就是进入一个在Linux的/var/lib/mysql路径下面的目录。
//修改数据库的字符集和校验集
alter database db_name character set = utf8mb4 collate = utf8mb4_unicode_ci;
//查看数据库创建时的信息
show create database db_name;
字符集与校验集
查询字符集与校验集
show variables like 'character_set_database';
show variables like 'collation_database';
创建时指定字符集与校验集
//在创建时指定字符集和校验集
create database db_name charset=utf8 collate utf8_general_ci;
创建后指定字符集与校验集
//修改数据库的字符集和校验集
alter database db_name character set = utf8mb4 collate = utf8mb4_unicode_ci;
校验集对数据库的影响
1. 校验规则使用utf8_ general_ ci时,不区分大小写。
2. 校验规则使用utf8_ bin时,区分大小写。
备份与还原
mysqldump -u root -B db_name > 数据库备份存储的文件路径
1. 本质上是在Linux下面,把数据库备份到存储文件中。
2. -u user_name:指定用户名,-B db_name:指定数据库名。
msource 数据库备份存储的文件路径;
1. 本质上是在mysql下面,把数据库备份文件还原到mysql中。
连接情况
//查询当前有哪些用户连接到我们的mysql
show processlist;
操作表
//创建一个表格
create table tb_name(
column1 datatype,
column2 datatype,
column3 datatype
);
//显示数据库中现有的表格
show tables;
//查看表格的信息
desc tb_name;
//查看表格创建时的信息
show create table tb_name \G;
//修改表格的名字
alter table tb_name1 rename to tb_name2;
//向表格中插入一条数据
insert into tb_name() values();
//向表格中新增一列
alter table tb_name add column_name datatype;
//修改表格中的列属性
alter table tb_name modify column_name datatype;
//删除表格中的一列
drop tb_name column_name;
//删除表格
drop table tb_name;
致谢
感谢您花时间阅读这篇文章!如果您对本文有任何疑问、建议或是想要分享您的看法,请不要犹豫,在评论区留下您的宝贵意见。每一次互动都是我前进的动力,您的支持是我最大的鼓励。期待与您的交流,让我们共同成长,探索技术世界的无限可能!