MySQL——数据库基础&&操作

学习MySQL之前,要先配置好相关环境与软件下载,怎么就不展开了:找找网上对应环境下的教程即可

目录

数据库与MySQL

案例使用

MySQL架构

SQL指令分类

储存引擎

库操作

创建数据库

编码集与校验规则

校验规则的影响

删除数据库

数据库的备份与恢复

查看数据库

修改数据库

数据库连接

表操作

创建表

删除表

查看表

修改表


数据库与MySQL

数据库是专家们设计出来的一种方便管理数据的东西;mysql指的是一套给我提供数据存储的网络程序

具体的来讲:数据库一般指的是在磁盘或内存中存储的特定结构组织的数据,将来在磁盘中存储的一套数据方案;而mysql是基于C(client)S(service)模式的网络服务,mysql是客户端,mysqld是服务端;

三者的关系:用户通过mysql语句发起请求,mysqld收到用户的请求后进行处理:在磁盘中对数据库进行操作,处理完将结果返回给用户;在这个过程中用户只是间接对数据库操作,mysqld才是那个直接对数据库操作

但是可能你要说:储存数据用文件就可以了,为什么还要弄个数据库?

一般文件确实提供了数据的储存功能,但是当数据量很大时用户不能很好地进行管理,也就是文件没有提供很好的数据管理能力,而数据库提供了一套对数据的管理方案:你给我字段或者要求(mysql),我帮你处理后给你返回结果(mysqld)

具有一定的数据库水平也是程序员能力的指标之一,也说明了它的重要性

案例使用

在数据库中创建一个新的数据库并创建数据库表,最后把插入的结果打印出来

MySQL架构

MySQL 是一个可移植的数据库,几乎能在当前所有的操作系统上运行,如 Unix/Linux、Windows、Mac 和 Solaris。各种系统在底层实现方面各有不同,但是 MySQL 基本上能保证在各个平台上的物理体系结构的一致性。

SQL指令分类

  • DDL【data definition language】 数据定义语言,用来维护存储数据的结构,代表指令: create, drop, alter
  • DML【data manipulation language】 数据操纵语言,用来对数据进行操作,代表指令: insert,delete,update
  • DML中又单独分了一个DQL,数据查询语言,代表指令: select
  • DCL【Data Control Language】 数据控制语言,主要负责权限管理和事务,代表指令: grant,revoke,commit

储存引擎

指的是:数据库管理系统如何存储数据、如何为存储的数据建立索引和如何更新、查询数据等技术的实现方法。

MySQL的核心就是插件式存储引擎,支持多种存储引擎

六种储存引擎对比

库操作

创建数据库

在mysql创建新的数据库的过程就是在 /var/lib/mysql 目录下创建新的目录的过程;但你打死也不要就直接在该路径下创建目录,而是应该通过mysql语句来创建~

创建数据库的语句还可以指定创建的数据库是否存在,不存在创建,存在就不创建

下次不要创建出来的数据库时我们就可以使用mysql语句进行删除,本质上也是在 /var/lib/mysql 路径下删除目录

编码集与校验规则

创建数据库时有两个编码集:数据库编码集(字符集)与数据库校验集,编码集是未来储存数据时所采用的编码方式(如utf-8),而校验集则是字段比较时使用的编码,本质上也是读取数据库时所采用的编码方式;数据库无论对数据作如何操作,都必须保证两者的一致性;

两者就类似C语言中:用int a 变量储存某个值;下次我要拿它进行赋值时所用到的变量只能是int 类型而不是其它类型

查看mysql默认的编码集与校验集(是utf8就说明使用操作是支持中文格式)

(我)创建新的数据库时默认就是使用以上两种进行创建操作,你那边可能不一样,因为我在下载完mysql时已经在 /etc/my.cnf 文件中配置过了

如果不想使用默认的编码集与校验集,我们在创建时可以自己来指定

校验规则的影响

但创建数据库时使用的校验规则为:utf8_general_ci 时(不区分大小写),此时在数据库中创建表,创建变量后找'a'时它会把大小写都给我们返回

创建新的数据库使用别的校验规则:utf8_bin(区分大小写),只会把'a'字符返回

删除数据库

不建议直接删除数据库,数据库通常保存着用户数据,删除后里面的全部数据都将被清空,很难再继续恢复,所以删除数据库之前建议先备份;

数据库的备份与恢复

虽然在Linux系统上创建一个数据库是在 /var/lib/mysql 路径上创建一个新目录,进行备份使用复制指令cp就能进行备份,但不建议这么做,这么备份可能由于版本原因在别的系统上导入时有各种报错,推荐使用mysql自带的语句进行数据库的备份与恢复

备份指令

bash 复制代码
mysqldump -P3306 -u root -p 密码 -B 数据库名 > 存储的文件路径

如果要备份多个数据库就直接在数据库名后面再加即可;如果不加 -B 进行备份数据库,后面想恢复时就要先在mysql create 数据库,use 后再执行恢复语句!这也是间接地把数据库名更改的操作

如果备份的是数据库的表,则备份指令如下

bash 复制代码
mysqldump -u root -p 数据库名 表名1 表名2... > 备份文件路径

恢复语句

bash 复制代码
source 文件路径;

查看数据库

修改数据库

主要修改的是数据库的字符集或者校验规则,修改数据库名在老版本下可以修改,但大部分的情况下数据库名都修改不了:避免上层在使用数据库时你把名字给改了,上层找不到数据库而发生报错

数据库连接

想看看数据库有多少人连接

表操作

创建表

创建表之前先要进入指定的数据库后进行创建

其中)后可以指定字符集,校验规则,储存引擎;不指定就使用默认配置的,创建完表的操作就是在对应的数据库目录中创建新文件

删除表

查看表

查看表之前先要确定自己是否在查看表的数据库中,不是就要 use 进入指定数据库中

修改表

对表的修改有以下操作:

表名重命名

表中添加字段

表中删除字段,注意表中原有该删除字段的数据都会被删除,没事时不要轻易修改

表中修改字段时修改的是字段类型

表中修改字段时修改的是字段

以上便是全部内容,有问题欢迎在评论区指正,感谢观看!

相关推荐
CodeJourney.1 小时前
基于DeepSeek与HTML的可视化图表创新研究
数据库·人工智能·信息可视化·excel
kngines1 小时前
【PostgreSQL数据分析实战:从数据清洗到可视化全流程】3.3 异常值识别(Z-score法/IQR法/业务规则法)
数据库·postgresql·数据分析·z-score法·iqr法·业务规则法
王嘉俊9252 小时前
一条 SQL 查询语句是如何执行的(MySQL)
数据库·sql·mysql
cooldream20092 小时前
深入理解 Redis 的主从、哨兵与集群架构
数据库·redis·架构·系统架构师
blackA_2 小时前
数据库MySQL学习——day8(复习与巩固基础知识)
数据库·学习·mysql
magic 2453 小时前
SpringMVC——第三章:获取请求数据
java·数据库·springmvc
偶尔微微一笑3 小时前
postgresql数据库基本操作
运维·数据库·postgresql·oracle
o不ok!3 小时前
实验4 mySQL查询和视图
数据库·mysql·oracle
临界点oc3 小时前
Redis从入门到实战——实战篇(下)
数据库·redis·缓存