【MySQL】从零开始:掌握MySQL数据库的核心概念
有些聚散如转瞬,有些聚散却如隔世。
前言
这是我自己学习Linux系统编程的第一篇笔记。后期我会继续把Linux系统编程笔记开源至博客上。
MySQL基础知识
MySQL的必要性
1. 虽然文件也可以存储数据,但是不利于数据查询和管理,也不利于存储海量数据。
2. 所以专家们设计出更加利于管理数据的东西---数据库,它能更有效的管理数据。
3. MySQL是世界上最受欢迎的数据库之一,属于甲骨文,并发性好,不适合做复杂的业务。主要用在电商,SNS,论坛。
登入退出指令
mysql -u root
1. 在Linux下面,以root身份去登入mysql。(-u:user name)
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;
1. 创建一个数据库,本质上就是在Linux的/var/lib/mysql路径下面创建一个目录。
show databases;
1. 显示现有的数据库。
drop database db_name;
1. 删除一个数据库,本质上就是在Linux的/var/lib/mysql路径下面删除一个目录。
use db_name;
1. 进入一个数据库,并开始修改使用。
select database();
1. 显示当前数据库的名称。
alter database db_name convert to character set utf8mb4 collate utf8mb4_unicode_ci;
1. 修改数据库的字符集和校验集。
show create database db_name;
1. 查看数据库创建时的信息。
字符集与校验集
查询字符集与校验集
show variables like 'character_set_database';
show variables like 'collation_database';
指定字符集与校验集
create database db_name charset=utf8 collate utf8_general_ci;
校验集对数据库的影响
1. 校验规则使用utf8_ general_ ci时,不区分大小写。
2. 校验规则使用utf8_ bin时,区分大小写。
备份与还原
mysqldump -u root -B db_name > 数据库备份存储的文件路径
1. 在Linux下面,把数据库备份到某一文件中。
msource 数据库备份存储的文件路径;
1. 在mysql下面,把数据库还原到MySQL中。
查看连接情况
show processlist;
1. 可以查询当前有哪些用户连接到我们的MySQL。
操作表
create table tb_name(
column1 datatype,
column2 datatype,
column3 datatype
);
1. 创建一个表。
show tables;
1. 显示数据库中现有的表。
desc tb_name;
1. 查看表的信息。
show create table tb_name \G;
1. 查看表创建时的信息。
alter table tb_name1 rename tb_name2;
1. 修改表的名字。
insert into tb_name values (xxx);
1. 向表中新增一条数据。
atler table tb_name add column datatype comment 'column_information';
1. 向表格中新增一列。
alter table tb_name modify column datatype;
1. 修改表格中的列属性,用新的列属性去覆盖原有的列属性。
alter table tb_name column1 column2 datatype;
1. 更改表格中的列,把column1列更改成column2列。
drop tb_name column;
1. 删除表中的一列。
drop table tb_name;
1. 删除一个表。
致谢
感谢您花时间阅读这篇文章!如果您对本文有任何疑问、建议或是想要分享您的看法,请不要犹豫,在评论区留下您的宝贵意见。每一次互动都是我前进的动力,您的支持是我最大的鼓励。期待与您的交流,让我们共同成长,探索技术世界的无限可能!