分享

【Javaweb】59:数据库基本操作

 刘小爱v 2020-06-12

今天是刘小爱自学Java的第59天。

感谢你的观看,谢谢你。

话不多说,继续开始MySQL数据库的学习:

一、数据库介绍

昨天安装了MySQL数据库,也就是说我这台电脑理论上是可以作为数据库服务器的,用户可以连接这台电脑中的数据库。

那如何理解数据库呢?

  • 一台计算机可以使用多个数据库软件

  • 一个数据库软件,可以管理多个数据仓库

  • 一个数据仓库,可以存储多个数据表

  • 一个数据表,可以存储多行数据

示意图如下:

相信很多人都用过Excel表,这个数据表可以简单地理解成一张Excel表。

这样严格来说不太准确,但更加地好理解。

所以可以理解成一个数据库里面可以有很多张类似于Excel表一样的存在。

此外,MySQL是一种关系型数据库

什么叫关系型数据库?

即建立在关系模型上的数据库系统。

用一个例子来解释这个问题:

现在有一个用户叫刘小爱,性别男,地址上海。

他在网上下了一个订单,红米pro,1400元,品牌为小米。

这对应两个数据:刘小爱用户和红米pro订单。

画一个E-R图分析它们之间的联系。

E-R图也就是实体关系图,专门用来分析实体与实体之间的关系的。

①矩形

表示是一个实体,用户和订单就用矩形表示,它们都是实实在在存在的。

说白了刘小爱用户就是Java用户类的一个对象。

②椭圆形

表示是对实体的描述。

刘小爱、上海、男、是对用户这个实体的描述。

小米手机、红米pro、1400是对订单的描述。

也就是Java中对象对应的属性(成员变量)。

有一个类叫用户,该类有三个属性,即姓名、地址、性别。

刘小爱用户即为该类实例化的一个对象:

姓名为刘小爱;地址为上海;性别为男。

③菱形

表示的是实体之间的关系。

用户和订单是什么关系?

一个用户是可以下多个订单的。刘小爱这个用户可以买手机,也可以买电脑,还可以买其他东西。

一个订单也是对应多个用户。红米pro这个订单,刘小爱可以买,其他用户也可以买。

所以它们是多对多的关系。这个就像是在解数学题一样,把它们的关系理清了才更好地写代码。

一直听人说程序员最好学画图,无论是思维导图还是流程图,这段时间我的画图能力简直突飞猛进。

二、SQL语句

这是一门脚本语言,无需编译,直接运行。

SQL语句不依赖于任何平台,对所有的数据库是通用的。

Java语言虽然说具有跨平台特性什么的,但它还是要依赖Java虚拟机。

可以在DOS系统中输入命令行来操作数据库,当然也有可视化的工具,只不过在DOS系统中能让自己对命令行更加地熟悉。

1命令行操作

可视化的底层其实也就是命令行:

  • calc命令行也就相当于点开计算器这个程序;

  • start Chrome.exe命令行也就相当于打开谷歌浏览器;

  • notepad命令行也就相当于打开记事本。

对于熟练计算机的人来说命令行绝对是比可视化要更有效率的。

电视里的那些黑客都是操作命令行,什么时候见到它们是一下一下去点的?

2.数据库查询

①查询数据库

show databases;

数据库有多个所以是复数形式,注意语句后面的“分号(;)”不要忘记了。

②查看数据库编码表

show create database mysql;

结果是utf-8,创建的数据库编码表为utf-8。

3创建数据库

①创建数据库

create database student;

根据语义就能懂其意思,student是数据库名。

②以指定的编码表创建数据库

create database student2 character set utf8;

character字符的意思,在这里就可以理解成编码表,设定编码表为uft8。

4删除、修改数据库

①删除数据库

drop database sutdent2;

删除student2数据库。

其实在英语中drop、delete、remove都有删除的意思。在Java语言里删除也有使用到remove。

drop这个单词并不常见,为何要这样设置呢?

因为删除数据库是一件很严肃的事情。

如果是恶意删除数据库,是要负刑事责任的(都不是民事纠纷的),非常的严重。

程序员群体之间也有“删库跑路”的戏言,

②修改数据库编码表

alter database student character ste gbk;

本来数据库编码表是utf-8,现在将其修改成gbk编码表。

5数据库的使用

①使用数据库

use student;

后面接数据库名,表示使用student数据库。

数据库有很多个,想要用那个用use命令就可以切换。

②查询正在使用的数据库

select database();

我正在使用的数据库就是student数据库。

以上便是对数据仓库的操作,明天继续学习对数据表的操作。

最后

谢谢你的观看。

如果可以的话,麻烦帮忙点个赞,谢谢你。

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多