今天是刘小爱自学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数据库。
以上便是对数据仓库的操作,明天继续学习对数据表的操作。
最后
谢谢你的观看。
如果可以的话,麻烦帮忙点个赞,谢谢你。