目录
DBMS 数据库管理系统(Database Management System:DBMS):
DBAS 数据库应用系统(Database Application System:DBAS)
数据库介绍
-
定义
数据库,可以简单的解释为:高效的存储和处理数据的介质(主要分为磁盘和内存两种)。
根据数据库存储介质的不同,可以将其分为两类,
关系型数据库(SQL)
常用的关系型数据库及其特点
系统 | 公司 | 特点 |
Oracle | Oracle(甲骨文/神域) Kolina | 运行稳定,可移植性高,功能齐全,性能超群!适用于大型企业领域 |
DB2 | IBM | 速度快、可靠性好,适于海量数据,恢复性极强。适用于大中型企业领域。 |
SQL SERVER | 微软 | 全面,效率高,界面友好,操作容易,但是不跨平台。适用于于中小型企业领域。 |
MYSQL | AB-->SUN-->Oracle | 开源,体积小,速度快。适用于于中小型企业领域。 |
非关系型数据库(NoSQL,Not Only SQL)
常见的NoSQL数据库分为四大类:
- 键值存储数据库:Oracle BDB,Redis,BeansDB
- 列式储数数据库:HBase,Cassandra,Riak
- 文档型数据库:MongoDB,CouchDB
- 图形数据库:Neo4J,InfoGrid,Infinite Graph
区别
关系型数据库:
- 安全,其将数据保存到磁盘之中,基本不可能出现丢失数据的情况;
- 比较浪费空间,因为其用二维表的形式存储数据。
非关系型数据库:
- 存储数据的效率比较高;
- 不是特别安全,突然断电时会导致数据丢失。
-
MySQL数据库概述
-
DB 数据库(DateBase :DB):
物理层面讲,数据库是按照数据结构来组织、存储和管理数据的仓库,也就是存储和管理数据的仓库。通常是由一些文件组成,毕竟数据最终是需要落实到实体文件上才能保存。
-
DBMS 数据库管理系统(Database Management System:DBMS):
软件层面讲,专门用于管理数据库的计算机系统软件(例如MySQL)
注意:我们通常说的数据库,就是指的DBMS: 数据库服务器
-
数据表
在DBMS中,我们是通过表来展示这些数据的。 二维表是同类实体的各种属性的集合,每个实体对应于表中的一行,在关系中称为元组(元祖就是指表中每一行),相当于通常的一条记录; 表中的表头表示属性,称为Field,相当于通常记录中的一个数据项,也叫列、字段。
-
与Java中对应关系:
表---类
表头---字段
一条记录(元祖)---一个具体的对象
思想:使用Java查出来的一堆代码可看成一个类 ,将这个类看成一个集合,保存的数据,每一个数据可看成一个个对象
-
DBAS 数据库应用系统(Database Application System:DBAS)
使用数据库技术的系统;也就是研发出的软件使用的有数据库,都称之为数据库应用系统
-
DB、DBMS、DBAS的关系
DB存数据、DBMS管理、DBAS使用
-
数据库引擎
MyISAM:拥有较高的插入,查询速度,但不支持事务,不支持外键。
InnoDB:支持事务,支持外键,支持行级锁定,性能较低。
-
Sql概述:
SQL (Structured Query Language) 结构化查询语言是关系型数据库标准语言,
-
特点:
具备灵活、简单、易用的特点
-
数据查询语言(DQL)
也称为“数据检索语句”,用以从表中获得数据,确定数据怎样在应用程序给出。保留字SELECT是DQL(也是所有SQL)用得最多的动词,其他DQL常用的保留字有WHERE,ORDER BY,GROUP BY和HAVING。这些DQL保留字常与其他类型的SQL语句一起使用。 就是用来搜索数据库里面的数据
-
数据操作语言(DML)
其语句包括动词INSERT,UPDATE和DELETE。它们分别用于添加,修改和删除表中的行。也称为动作查询语言。 对数据库(表)里的数据进行添加,修改,删除
-
事务处理语言(TPL)
同生共死的特点 ----应用场景例如转账
它的语句能确保被DML语句影响的表的所有行及时得以更新。TPL语句包括BEGIN TRANSACTION,COMMIT和ROLLBACK。
-
数据控制语言(DCL)
它的语句通过GRANT或REVOKE获得许可,确定单个用户和用户组对数据库对象的访问。某些RDBMS可用GRANT或REVOKE控制对表单个列的访问。
-
数据定义语言(DDL)
其语句包括动词CREATE和DROP。在数据库中创建新表或删除表(CREAT TABLE 或 DROP TABLE);为表加入索引等。DDL包括许多与人数据库目录中获得数据有关的保留字。它也是动作查询的一部分。 创建删除修改数据库(表,列...) 指针控制语言(CCL) 它的语句,像DECLARE CURSOR,FETCH INTO和UPDATE WHERE CURRENT用于对一个或多个表单独行的操作。
-
SQL书写注意事项
1. 在MySQL数据库中,SQL语句大小写不敏感SQL语句可单行或多行书写
2. 在SQL语句中,关键字不能跨多行或缩写
3. 为了提高可读性一般关键字大写,其他小写(建议这样使用,优化sql思想)
4. 空格和缩进使程序易读
-
启动&连接数据库
打开数据库连接之前:一定要保证MySQL服务已经开启。
若没开启,就需要去操作系统中检查服务是否开启 检查mysql的服务是否已经打开:
1. WIN + R 打开运行:services.msc
2. 控制面板-管理工具-服务
3. 使用命令行命令开启和启动MYSQL服务
net start 命令名字:开启一个服务,如:net start MySQL
net stop 命令名字:关闭一个服务器,如:net stop MySQL
思:当出现问题时,应该尽量的思考造成错误的原因,然后去试验解决
-
连接数据库
1. 命令方式连接数据库:
mysql –u【用户名】 -p【密码】 –h【IP】 -P【端口,默认一般为3306】
本机上有两种写法: mysql –u用户名 –p密码 –hlocalhost –P3306
mysql –u用户名 –p密码 –h127.0.0.1 –P3306
若是在本机登录&端口没有改变,可省略IP和端口的写法:
mysql –u用户名 –p密码
也可使用命令弹出安装好的mysql的命令行窗口:
mysql –uroot –p
注意:部分电脑使用上述命令可能会提示MYSQL命令不存在的情况,请检查安装MYSQL的时候是否勾选了环境变量配置选项,如果确定勾选,环境变量配置也存在,那么只能手动去选择MYSQL在系统中的命令行安装项去启动命令行窗口
2.视化界面去启动和连接数据库
新建连接时:
连接名一般建议一账号和密码命名,例如 uxxx_pxxx 主机名&ip地址:连接本机可写localhost 或 127.0.0.1
如果连接其他人的数据库,就需要对方的ip地址
注意: 当密码输错的时候,命令行窗口会一闪而过 部分操作系统使用命令会出现没有找到mysql命令,此种情况有可能是安装数据库的时候没有勾选配置cmd,重新配置一下,若配置勾选仍然是这样,就有可能是系统文件有缺失
-
数据库分类
系统数据库(系统自带的数据库):不能修改,不能删除
- information_schema:存储数据库对象信息,如:用户表信息,列信息,权限,字符,分区等信息。
- performance_schema:存储数据库服务器性能参数信息。
- mysql:存储数据库用户权限信息。
-
test:任何用户都可以使用的测试数据库。
-
引用和参考
- (参考https://blog.csdn.net/deng214/article/details/80277623)
- 源码时代谭老师