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

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

致谢

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


http://www.kler.cn/a/590337.html

相关文章:

  • containerd 拉取镜像的工具以及优劣
  • 系统架构设计师—案例分析—架构评估
  • LLM论文笔记 24: A Theory for Length Generalization in Learning to Reason
  • QT非UI设计器生成界面的国际化
  • Java 买百鸡问题
  • Google内购 Java服务端(Springboot)校验订单详细流程
  • 日志存储与分析
  • [贪心算法] 摆动序列
  • Matlab 汽车ABS实现模糊pid和pid控制
  • JVM垃圾回收器全面解析:从核心概念到选型指南
  • Matlab 经验模态分解和时频图绘制
  • 结构型模式之外观模式:让复杂系统变简单的利器
  • golang中的结构体
  • FlowGram 简介:开源前端流程搭建引擎
  • iPaaS集成平台轻量化架构的重要性
  • 国际数字影像产业园,超甲级地标招商进行中​
  • 重生之我在学Vue--第17天 Vue 3 项目优化与部署
  • 本地部署github上资源可能出现问题总结
  • 以太坊AI代理与PoS升级点燃3月市场热情,2025年能否再创新高?
  • Chapter 4-11. Troubleshooting Congestion in Fibre Channel Fabrics