目录
一、数据库是什么?
数据库是按照数据结构来组织,存储和管理数据的仓库,它可以让用户方便地查询、修改、更新和控制数据。
存储数据用文件就可以了,为什么还要弄个数据库
?
存储数据用文件确实可以,但是用数据库有很多优点,比如:
- 数据库可以实现数据的统一管理和控制,提高数据的安全性、完整性和一致性。文件系统中,数据的管理和控制依赖于应用程序,容易出现数据的冗余、不一致和丢失。
- 数据库可以实现数据的高效存取和处理,提高数据的利用率和效率。文件系统中,数据的存取和处理需要通过操作系统的接口,效率较低,而且难以支持复杂的查询和分析。
- 数据库可以实现数据的逻辑独立性和物理独立性,提高数据的灵活性和可维护性。文件系统中,数据的逻辑结构和物理结构是紧密联系的,当要修改数据的结构或存储方式时,必须修改应用程序,增加了开发和维护的成本。
- 数据库可以实现数据的多级共享和并发访问,提高数据的可用性和并行性。文件系统中,数据的共享和并发访问受到操作系统的限制,难以满足多用户和分布式环境的需求。
二、目前主流的数据库
(1)SQL Sever
: 微软的产品,
.Net
程序员的最爱,中大型项目。
(2)Oracle
:
甲骨文产品,适合大型项目,复杂的业务逻辑,并发一般来说不如
MySQL
。
(3)MySQL
:世界上最受欢迎的数据库,属于甲骨文,并发性好,不适合做复杂的业务。主要用在电商,SNS
,论坛。对简单的
SQL
处理效果好。
(4)PostgreSQL :
加州大学伯克利分校计算机系开发的关系型数据库,不管是私用,商用,还是学术研究使用,可以免费使用,修改和分发。
(5)SQLite
: 是一款轻型的数据库,是遵守
ACID
的关系型数据库管理系统,它包含在一个相对小的
C
库中。它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K
的内存就够了。
(6)H2
: 是一个用
Java
开发的嵌入式数据库,它本身只是一个类库,可以直接嵌入到应用项目中。
三、数据库基本使用
我们这里使用的是MySQL数据库,在使用前需要安装好,这里跳过
1.连接服务器
mysql -h 127.0.0.1 -P 3306 -u root -p
//[-h要连接的主机名或mysql服务器的IP地址 -P端口号] -u用户名 -p密码
注意:
(1)如果是本机,则可以直接这样写:mysql -u用户名 -p密码
(2)大写P后面跟端口号,小写p后面跟密码
(3)-p后面不输入密码,直接回车再输入密码,可以起到隐藏密码的效果
(4)如果没有写 -h 127.0.0.1 默认是连接本地 ,如果没有写 -P 3306 默认是连接3306端口号
2.服务器、数据库、表关系
所谓安装数据库服务器,只是在机器上安装了一个数据库管理系统程序,这个管理程序可以管理多
个数据库,一般开发人员会针对每一个应用创建一个数据库。
为保存应用中实体的数据,一般会在数据库中创建多个表,以保存程序中实体的数据。
3.使用案例
(1)
show databases; //查看数据库
create database list; //创建数据库
(2)
use list; //使用数据库
//创建表
create table female(
-> name varchar(32),
-> age int,
-> home varchar(32)
-> );
(3)
insert into female(name,age,home) values('kiana',19,'逆熵');
insert into female(name,age,home) values('mei',20,'逆熵'),('板鸭',199'天命');
select * from female;
4、数据逻辑存储
MySQL 数据逻辑存储是指 MySQL 如何在物理层面上组织和存储数据的方式。MySQL 数据逻辑存储的基本单位是表,每个表由行和列组成,行表示记录,列表示字段。MySQL 支持多种数据类型,如整数、浮点数、字符串、日期、二进制等。MySQL 还支持索引、主键、外键、约束等特性,以提高数据的查询效率和完整性。
四、MySQL基本知识
1、MySQL架构
MySQL
是一个可移植的数据库,几乎能在当前所有的操作系统上运行,如
Unix/Linux、
Windows
、 Mac 和
Solaris
。各种系统在底层实现方面各有不同,但是
MySQL
基本上能保证在各个平台上的物理体系结构的一致性。
2、SQL语句分类
SQL是数据库的核心语言,它可以用来定义、操作、查询和控制数据。SQL语言共分为四大类:
- 数据定义语言(DDL):用于创建、修改或删除数据库中的对象,如表、索引、视图等。常用的DDL语句有create、alter、drop等。
- 数据操纵语言(DML):用于对数据库中的数据进行增加、删除、修改或合并等操作。常用的DML语句有insert、delete、update、merge等。
- 数据查询语言(DQL):用于从数据库中查询数据,返回满足条件的结果集。常用的DQL语句有select、where、group by、order by等。
- 数据控制语言(DCL):用于控制数据库中的用户权限和事务处理,保证数据的安全性和完整性。常用的DCL语句有grant、revoke、commit、rollback。
3、存储引擎
数据库存储引擎是指数据库如何在物理层面上组织和存储数据的方式。不同的存储引擎有不同的特点和适用场景,例如支持事务、外键、全文索引、数据压缩等。MySQL的核心就是插件式存储引擎,支持多种存储引擎。
show engines;
其中InnoDB 是MySQL的默认存储引擎,它支持事备务、外键、行级锁定和崩溃恢复。InnoDB适给于事务处理应用程序,对事务完整性和并发性有较高要求,数据操作包括大量的更新删除操作的应用。
总结
初步认识数据库,以及一些基本操作。