百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT技术 > 正文

数据库系统学习基础篇——(一) 初识MySQL

wptr33 2025-02-17 14:16 27 浏览

写在最前:大家可能都知道数据库是非常重要的一门技术。

无论是做Web开发、爬虫、还是数据分析,都需要用到数据库。当然,数据库的水平也直接决定着我们工资的上限。

毕业后,我做过爬虫、Web开发、现在主要从事数据分析。现在,我决定系统地整理一套MySQL的文章或视频。

希望自己总结和梳理的同时,也能帮助到大家。如下图,是MySQL系列的整体内容大纲。

一、为什么要学习数据库

平时我们大多数数据都是存储到Excel表中,或者学过Python,数据可以存储到列表、集合、字典。

那么它们有很多缺陷,比如数据就是容易丢失;数据量大时,查找困难。那么,这时候 我们就可以使用数据库。

数据库是专门用来管理数据的软件。它的好处有两点:①实现数据持久化 ②将数据完整统一的管理,易于查询。

二、数据库的相关概念

1、 DB

数据库(Database),保存一组有组织的数据的容器。

2、DBMS

数据库管理系统(Database Management System),又称为数据库软件(产品),用于管理DB中的数据。

比如:MySQL、Oracle、DB2、SqlServer等。大多数公司使用MySQL,因为它是开源的,免费的。

3、SQL

结构化查询语言(Structure Query Language),用于和DBMS通信的语言,专门为数据库建立的操作命令集。
SQL优点: ①几乎所有的DBMS都支持SQL语言 ②简单易学 ③可以进行非常复杂和
高级的数据库操作。

以图书馆为例,三者协作关系如下图:

三、数据库存储数据的特点

1.将数据放到表中,表再放到库中;
2.一个数据库中可以有多个表,每个表都有一个的名字,用来标识自己。表名具有唯一性;
3.表具有一些特性,这些特性定义了数据在表中如何存储,类似Python中 "类"的设计;
4.表由列组成,我们也称为字段。所有表都是由一个或多个列组成的,每一列类似Python中的"属性";
5.表中的数据是按行存储的,每一行类似于Python中的"对象"。

四、表与库的设计规范

1、命名规范

1)库名只能使用英文字母,数字,下划线,并以英文字母开头,大写字母
2)表名只能使用字母、数字和下划线,一律小写
3)命名简洁明确(长度不能超过32个字符)
4)字段名尽量不用关键字(如type,order等)
5)用尽量少的存储空间来存储一个字段的数据

2、语法规范

1)不区分大小写,但建议关键字大写,表名、列名小写
2)每条命令最好用分号结尾
3)每条命令根据需要,可以进行缩进 或换行
4)注释
    单行注释:#注释文字
    单行注释:-- 注释文字
    多行注释:/* 注释文字  */

3、数据库三范式

1)第一范式:列不可再分
2)第二范式:有主键,非主键字段依赖主键(属性完全依赖于主键)。
3)第三范式:数据表不能有冗余字段(非主键字段不能互相依赖)

三大范式是一般设计数据库的基本理念,可以建立冗余较小、结构合理的数据库。如果有特殊情况,当然要特殊对待,数据库设计最重要的是看需求跟性能,需求>性能>表结构。所以不能一味地去追求范式建立数据库。

4、SQL的语言分类

1)DQL(Data Query Language):数据查询语言
    select 
2)DML(Data Manipulate Language):数据操作语言
    insert 、update、delete
3).DDL(Data Define Languge):数据定义语言
    create、drop、alter
4)TCL(Transaction Control Language):事务控制语言
    commit、rollback

五、初识MySQL

1、MySQL安装和介绍

MySQL可以安装在本地,也可以安装到服务器上。比如我们需要在本地搭建一个测试库,或者想要通过客户端操作服务器上的数据库,那可以在本地操作;如果开发环境就在云服务器上,那直接在服务器上操作即可。那么,客户端和服务器是怎样配合工作的呢,如下图:

  • 本地(Windows 或Mac) | 云服务器(Linux)
  • 注:这里客户端使用的Navicat,如需要破解版和安装MySQL服务的文档,关注公众号"Python之每日一课",后台回复"MySQL环境搭建",即可获取。这里不详细介绍。

2、MySQL服务的启动和停止

启动命令:net start mysql
停止命令:net stop mysql
  • 注:打开cmd窗口,一定要用管理员身份!

3、MySQL服务的登录和退出

方式一:终端窗口登录

# mysql 【-h主机名 -P端口号 】-u用户名 -p密码
登录命令:mysql -hlocalhost -uroot -p
退出命令:exit 或 Ctrl + c
  • 注:Windows安装默认密码为空。

方式二:客户端(Navicat)登录

4、 MySQL的常见命令

show databases; 查看所有的数据库
use 库名; 打开指定 的库
show tables ; 显示库中的所有表
show tables from 库名;显示指定库中的所有表
create table 表名(
    字段名 字段类型,   
    字段名 字段类型
); 创建表

desc 表名; 查看指定表的结构
select * from 表名;显示表中的所有数据

好,今天学习到这里,最大的感悟是无论学习哪种语言,一定要打好基础,后期会少走很多弯路。实现功能的同时,考虑性能。这篇文章主要是初识MySQL,是我们学习MySQL 地迈出第一步。明天继续学习SQL的DOL、DML、DDL、DCL。一起加油!

相关推荐

MySQL进阶五之自动读写分离mysql-proxy

自动读写分离目前,大量现网用户的业务场景中存在读多写少、业务负载无法预测等情况,在有大量读请求的应用场景下,单个实例可能无法承受读取压力,甚至会对业务产生影响。为了实现读取能力的弹性扩展,分担数据库压...

Postgres vs MySQL_vs2022连接mysql数据库

...

3分钟短文 | Laravel SQL筛选两个日期之间的记录,怎么写?

引言今天说一个细分的需求,在模型中,或者使用laravel提供的EloquentORM功能,构造查询语句时,返回位于两个指定的日期之间的条目。应该怎么写?本文通过几个例子,为大家梳理一下。学习时...

一文由浅入深带你完全掌握MySQL的锁机制原理与应用

本文将跟大家聊聊InnoDB的锁。本文比较长,包括一条SQL是如何加锁的,一些加锁规则、如何分析和解决死锁问题等内容,建议耐心读完,肯定对大家有帮助的。为什么需要加锁呢?...

验证Mysql中联合索引的最左匹配原则

后端面试中一定是必问mysql的,在以往的面试中好几个面试官都反馈我Mysql基础不行,今天来着重复习一下自己的弱点知识。在Mysql调优中索引优化又是非常重要的方法,不管公司的大小只要后端项目中用到...

MySQL索引解析(联合索引/最左前缀/覆盖索引/索引下推)

目录1.索引基础...

你会看 MySQL 的执行计划(EXPLAIN)吗?

SQL执行太慢怎么办?我们通常会使用EXPLAIN命令来查看SQL的执行计划,然后根据执行计划找出问题所在并进行优化。用法简介...

MySQL 从入门到精通(四)之索引结构

索引概述索引(index),是帮助MySQL高效获取数据的数据结构(有序),在数据之外,数据库系统还维护者满足特定查询算法的数据结构,这些数据结构以某种方式引用(指向)数据,这样就可以在这些数据结构...

mysql总结——面试中最常问到的知识点

mysql作为开源数据库中的榜一大哥,一直是面试官们考察的重中之重。今天,我们来总结一下mysql的知识点,供大家复习参照,看完这些知识点,再加上一些边角细节,基本上能够应付大多mysql相关面试了(...

mysql总结——面试中最常问到的知识点(2)

首先我们回顾一下上篇内容,主要复习了索引,事务,锁,以及SQL优化的工具。本篇文章接着写后面的内容。性能优化索引优化,SQL中索引的相关优化主要有以下几个方面:最好是全匹配。如果是联合索引的话,遵循最...

MySQL基础全知全解!超详细无废话!轻松上手~

本期内容提醒:全篇2300+字,篇幅较长,可搭配饭菜一同“食”用,全篇无废话(除了这句),干货满满,可收藏供后期反复观看。注:MySQL中语法不区分大小写,本篇中...

深入剖析 MySQL 中的锁机制原理_mysql 锁详解

在互联网软件开发领域,MySQL作为一款广泛应用的关系型数据库管理系统,其锁机制在保障数据一致性和实现并发控制方面扮演着举足轻重的角色。对于互联网软件开发人员而言,深入理解MySQL的锁机制原理...

Java 与 MySQL 性能优化:MySQL分区表设计与性能优化全解析

引言在数据库管理领域,随着数据量的不断增长,如何高效地管理和操作数据成为了一个关键问题。MySQL分区表作为一种有效的数据管理技术,能够将大型表划分为多个更小、更易管理的分区,从而提升数据库的性能和可...

MySQL基础篇:DQL数据查询操作_mysql 查

一、基础查询DQL基础查询语法SELECT字段列表FROM表名列表WHERE条件列表GROUPBY分组字段列表HAVING分组后条件列表ORDERBY排序字段列表LIMIT...

MySql:索引的基本使用_mysql索引的使用和原理

一、索引基础概念1.什么是索引?索引是数据库表的特殊数据结构(通常是B+树),用于...