2.使用mysql对数据库的的基本操作

3

主题

4

帖子

10

积分

新手上路

Rank: 1

积分
10
发表于 2023-3-31 18:31:28 | 显示全部楼层
前文,我们已经安装好了关系型数据库管理系统(mysql)了,接下来就要使用mysql来管理数据了。如果还没安装mysql,可以参考如下博文:
摘要:本文主要内容为使用mysql对数据库进行基本的增删改查操作,用行内话来说也叫crud操作。(curd就是我们说的增删改查了)

1.SQL(Structured Query Language)语言

   前文提到,要使用数据库管理系统管理我们的数据那就不得不使用SQL了。SQL翻译过来叫结构化查询语言,使用SQL就可以完成我们想要的curd操作。话说,功于利其事,必先利其器,SQL就是我们的工具了,需要更为流畅的对数据库进行curd,我们先来简单的学习和了解一下SQL。
   从SQL的组成部分来看,它一共分为了如下的五个部分:
    1)数据查询语言(Data Query Language,DQL)
          DQL主要用于查询数据,常见的关键字是select 、from、 where,大家应该都很熟悉了,每个语言都有属于自己的关键字,这里不再赘述。使用DQL是不是就可以完成我们基本操作中的查询操作了呢?没错,是这样的,我们继续往下看。
    2)数据操作语言(Data Manipulation Language,DML)
         DML主要用于对数据库中的数据进行增加、修改和删除操作,哦豁这个就很厉害了,常见的关键字是insert、update、delete,这几个操作不就是我们想要学习的基本操作吗,是的。可能就有小伙伴在想了,SQL也不过如此嘛,只要学会了DQL和DML就可以完成基本的增删改查了。没错,这样理解是对的,但是细心的小伙伴应该也发现了,现在知道了对数据库进行增删改查的语句了,可是好像还没有什么语句可以创建一个数据库,我们连数据库、数据表都没有,那还增删改查个寂寞呢?不急嘛,接下来,介绍的出场的就是用于定于数据库和数据表的语句了。
    3)数据定义语言(Data Definition Language,DDL)
     DDL主要用于数据库的定义,数据表的定义,还有(索引、视图、存储过程、函数、触发器)等定义,对于括号中的东西小伙伴们现在不知道也没事,等后面用到的时候再一一介绍。DDL的关键字有 create、alter、drop。通过DDL我们就可以定义我们的数据应该用什么样的格式进行存储了。
   考一下大家,为什么数据库的基本操作叫crud呢?其实就是几个关键字的首个字面拼接了。
crud:create、read、update、delete,其中没有read这个关键字,read就是select操作了,为何没有read这个关键字,可能是因为操作系统的系统调用也有read这个函数吧,为了避免重名,当然了是我瞎说的哈哈。有知道内幕的小伙伴可以评论区留言~
    4)数据控制语言(Data Control Language,DCL)
    DCL主要用来授予访问或回收访问 对数据的权限,也就是权限操作,主要的关键字包括:grant、revoke,在现阶段我们用的比较少,等后面用到了细说用法。
    5)事务控制语言(Transaction Control Language,TCL)
     TCL主要用于数据库的事务管理,事务可能有的小伙伴没有接触过,简单解释事务就是:一系列操作要么全部都顺利完成,如果有一个操作失败了,那么所有操作都取消。举个简单的小例子,如下:
    【事务的小例子】一个常见的微信转账操作,假设你要给你朋友转账100元,涉及了一下的基础操作:
     操作1:你的账号扣除100元
     操作2:你的朋友到账100元
     上面的两个操作是必须都完成了,这个转账操作才算完成。如果有一个操作未完成那么整个操作作废,数据进行回滚。
     简单的介绍了事务,那么看看TCL的关键字有哪些:start transaction(开启事务)、commit(提交事务)、rollback(回滚事务)、set transaction(设置事务的属性)。事务操作是一个很复杂的操作,看的云里雾里的小伙伴也没关系,等后文用到在详细介绍。
    终于,经过我们剖析SQL的组成部分,发现要完成对数据库的增删改查操作需要用到DQL、DML、DDL这个三个组成部分,接下来我们简单的介绍一下这三个部分的基本用法~

2.数据定义语言DDL的基本使用

mysql是一个关系型数据库管理系统(也叫软件),既然mysql是用来管理数据库的,那么是不是可以对数据库进行增删改查操作,没错,是这样的,我们可以使用SQL新建、删除、修改和查询数据库。
那么关系型有改如何理解呢?
在前文也介绍到,关系就是二维表,也就是一个个表格。一个关系就是一个表格,那么我们就可以这样理解关系型数据库了,关系型数据库就是存放了许多表格的数据库。可以使用DDL对数据库增删改查,当然也可以使用DDL对数据库中的表格进行增删改查了。下面分别使用SQL语句演示操作:
首先我们回想一下前面在进行数据库安装的时候,我们在mysql的解压路径下新建了一个my.ini的文件,文件的内容如下:
[mysqld]
basedir=C:\Program Files\mysql-5.7.41-winx64\
datadir=C:\Program Files\mysql-5.7.41-winx64\data\
port=3306其中:datadir就是我们存放数据库的路径,从这里看出我们的mysql是把数据库存放在磁盘上的,CPU在读取磁盘上的文件是相对来说比较慢的(CPU读取速度:寄存器》cache缓存》内存》硬盘),那么该如何提高CPU读取数据库的速度呢?在这里简单的扩展一下,实现的方式有很多,小伙伴们还记得前面提到的NoSQL嘛,非关系型数据库,我们就可以使用Redis来作为缓存来提高CPU读取数据库的速度。
其次,我们除了在命令行中连接到我们的mysql服务,也可以使用一些数据库连接软件来连接mysql服务,而且在日常的开发中,我们都会选择后者,常见的mysql服务连接软件有很多,比如Navicat等,大家可以自行选择下载使用。(这里我使用的是Navicat lite)
打开Navicat:选择文件--》新建连接--》mysql,输入密码就可以连接了~



使用工具连接mysql

使用其他的工具连接mysql也是大同小异的。
好了,准备操作完成,我们接下来就可以使用DDL来操作数据库和数据表了。

1)DDL对数据库的增删改查

1.创建一个数据库,名为 yuan_learn



执行SQL语句



成功创建一个数据库



显示所有本机中的数据库



注意看在data文件夹中,是不是也新增了一个文件

使用我们这个创建的数据库:use yuan_learn



选中数据库,新建查询就可以写SQL语句了

当然,除了使用SQL,使用工具也是可以快速创建数据库和数据表的,右键选中即可。
下面以yuan_learn数据库为例,列出对数据库的curd操作常用命令:
create database yuan_learn  --创建数据库

drop database yuan_learn    --删除数据库

show databases              --显示所有的数据

use yuan_learn              --使用数据库2)DDL对某个数据库中的表格的增删改查

通过上面的步骤,我们在本机的数据库中新建了一个空的数据库,名字叫yuan_learn,接下来将演示如何在这个数据库中新建表格,并且完成对表格的增删改查。
-- step1:首先使用yuan_learn 数据库 并查看数据库中存在的表
use yuan_learn;
show tables;

-- step2:在yuan_learn 中新建一个表格(二维表/Excel表)
-- 一个表就是一个关系
create table if not exists t_student (
        s_id int unsigned auto_increment primary key,
        s_name varchar(20) not null,
        s_gender char(1)   not null,  -- 0: 女生  1: 男生
        s_class char(10)  not null
)

-- 查看数据表,并查询数据表(此时表里面是没数据的)
show tables
select * from t_student;

-- 插入数据
insert into t_student (s_name, s_gender, s_class) values ('yuan1','1','001');
insert into t_student (s_name, s_gender, s_class) values ('yuan2','0','002');
insert into t_student (s_name, s_gender, s_class) values ('yuan3','1','003');

-- 查询操作 : 查询所有学生的所有信息
select * from t_student;
-- 查出所有学生的姓名
select s_name from t_student;
-- 查出某个( yuan1 ) 学生的信息
select * from t_student where s_name = 'yuan1';

-- 把'yuan1'的班级改为 '007'
update t_student set s_class = '007' where s_name = 'yuan1';
select * from t_student where s_name = 'yuan1';

-- 删除数据表
drop t_student;通过上述见的DDL、DQL和DML语句我们可以完成简单的curd操作了,都是里面还存在着很多细节东西,会在后面的文章进行剖析和讲解。
好了,总结一下前面的内容,从车库管理员开始引出了数据库管理员,也就是大名鼎鼎的mysql(数据库管理系统),接着完成了mysql的卸载和安装,最后就是对mysql的简单上手操作。
到此,小伙伴们已经熟悉了最基本的增删改查操作了,进去公司可以完成对数据库的创建---》修改---》删除--》到跑路了~(万万使不得哦)


但是强大的mysql还有很多丰富的功能,我们会在后面文章进行概述。下回见~
回复

举报 使用道具

您需要登录后才可以回帖 登录 | 立即注册
快速回复 返回顶部 返回列表