数据库是“一类软件”,这样的软件能够针对数据进行管理(增删改查) 存储数据用文件就可以了,为什么要做数据库呢? 文件保存数据有以下几个缺点:
数据库存储介质:
数据库大体可以分为关系型数据库和非关系型数据库。 关系型数据库:对于存储的数据,格式上有严格要求。类似于excle表格的方式来存储的。例如:MySQL,Oracle,SQL Server,SQLite. 非关系型数据库:存储方式比较灵活,相比于关系型数据库,功能更少。有事性能更快,同时也更好的能适应分布式环境(高并发,大数据,分布式,微服务) 关系型数据库和非关系型数据库的区别:
MySQL是一个客户端服务器结构的程序。 客户端(client):主动发送数据的一方 服务器(server):被动接受数据的一方 请求(request):客户端给服务器发送的数据 响应(response):服务器给客户端返回的数据 服务器是存储数据的本体。数据是存储在主机的硬盘上的。一个计算机组成部分主要是CPU,存储器,输入设备,输出设备。遵循冯诺依曼体系结构。
接下来我们来说一下存储器。 存储器分为内存和外存两种。 内存指的是是运行内存。 外存则是硬盘,软盘,U盘,光盘等。 内存和外存的区别:
指的是MySQL服务器上存在的多个数据集合。
create database 数据库名;
这样,我们就创建好了一个数据库。create database都是SQL中的关键字,有特定含义的单词。这里的关键字是不区分大小写的。 在创建数据库的时候,还可以指定数据库的字符集。例如使用utf8字符集:
create database student charset utf8;
对于汉字来说,utf8一般是三个字节
在创建数据库的时候,我们可以加上这个:
if not exists
意思是如果存在就不创建了,不存在才真创建。例如:
我们可以看到,只是报了一个警告。
show databases;
注意databases是复数形式。
一个MySQL服务器上,数据库可以有很多个。要进行操作,就需要先确定是要针对那个数据库进行。
use 数据库名;
后续操作都是针对这个数据库来展开的。
drop database 数据库名;
可以看到,Java106已经被删除。 在我们实际操作删除数据库的时候,一定要非常注意。数据库的删除的影响是非常大的。所以在操作删除数据库的时候一定要做到谨慎。
在MySQL的数据类型中,数据库里的表,每一个列都是带有类型的(例如整数,浮点数,字符串)。(所有行的对应列存的数据都是一类的)
以上数据类型不区分大小写。 值得注意的是:在单/双精浮中。M表示有效数字的位数。D表示小数点后保留几位。但是因为浮点数在内存中的存贮方式,会导致小数的存储不精确。所以我们有了decimal数据类型来精确表示浮点数。但是decimal牺牲了存储空间,牺牲了运算速度。 如图所示,常用的类型有:int,double,decimal
varchar是最常用的表示字符串的类型。带有一个参数,约定了存储的最大空间。例如:varchar(128)表示这个列最多存128个字符。根据实际需求,来决定设置多长。 text 和mediumtext 更适用于更长的字符串。 blob:主要存二进制数据。 (小tip:如何区分文件是文本还是二进制?使用记事本打开文件,如果是乱码就是二进制,如果可以看懂就是文本。)
TIMESTAMP中,产生随机数中。有一个伪随机(随机种子,只要种子一样,就需要让每次程序启动都设置个不同的随机种子。典型的就是“时间戳”) 计算机中产生的随机数,不一定是真随机。大多是伪随机(通过一系列复杂的数学公式,针对某个数字进行数学变换,每变换一次,就会得到一个新的数字。这个数字和之前的数字相比,看起来毫无关联。并且生成的数字足够多,概率分布也是均匀的。)
需要操作数据库中的表时,需要先使用该数据库
use db_test;
create table 表名(列名 类型,列名 类型...);
注意:
前提是已经选中了数据库。选中哪个数据库,就能看到那些数据表。
show tables;
desc 表名;
drop table 表名;
值得注意的是,删除表和删除数据库的操作都是非常危险的。要谨慎!!!