当前位置: 首页 > news >正文

【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. 删除一个表。

致谢

  感谢您花时间阅读这篇文章!如果您对本文有任何疑问、建议或是想要分享您的看法,请不要犹豫,在评论区留下您的宝贵意见。每一次互动都是我前进的动力,您的支持是我最大的鼓励。期待与您的交流,让我们共同成长,探索技术世界的无限可能!

相关文章:

  • 服务器发送事件(Server-Sent Events,SSE)详解
  • 【算法学习之路】11.并查集
  • 剑指 Offer II 107. 矩阵中的距离
  • 专线、云 和 物联网(IoT)
  • 【css酷炫效果】纯CSS实现进度条加载动画
  • LightRAG简要概述
  • cmake --build . --config Release和make是1个意思吗
  • SQLMesh系列教程:利用date_spine宏构建日期序列实践指南
  • 网络工程安全从入门到“入魂“教学案
  • CellOracle|基因扰动研究基因功能|基因调控网络+虚拟干预
  • 使用STM32CubeMX+DMA+空闲中断实现串口接收和发送数据(STM32G070CBT6)
  • 黑客攻击deepseek服务原理解析
  • 基于SpringBoot的“酒店管理系统”的设计与实现(源码+数据库+文档+PPT)
  • 东方通TongHttpServer:企业级服务代理中间件的卓越之选
  • 《自然》:陆地蒸散量研究的统计失误被撤回-空间加权平均的计算方法
  • Unity特效动态合批问题
  • LINUX驱动学习之IIC驱动-----以AP3216C为例
  • 【css酷炫效果】纯CSS实现按钮流光边框
  • [QT]深入理解Qt中的信号与槽机制
  • 什么是梯度方差和缩放因子
  • 国家医保局副局长颜清辉调任人社部副部长
  • 黄育奇当选福建惠安县人民政府县长
  • 坚持科技创新引领,赢得未来发展新优势
  • 邮储银行一季度净赚超252亿降逾2%,营收微降
  • 新一届中国女排亮相,奥运冠军龚翔宇担任队长
  • 法院为“外卖骑手”人身权益撑腰:依法认定实际投保人地位