一、mysql概述
(一)数据库介绍
1、为什么要使用数据库
2、数据库与数据库系统
(1)相关概念
(2)数据库与数据库管理系统的关系
数据库管理系统(DBMS)可以管理多个数据库,一般开发人员会针对每一个应用创建一个数据库。为保存
应用中实体的数据,一般会在数据库创建多个表,以保存程序中实体用户的数据。
3、常见的数据库
(1)常见的有
目前互联网上常见的数据库管理软件有Oracle、MySQL、MS SQL Server、DB2、PostgreSQL、Access、Sybase、Informix这几种。以下是2021年DB-Engines Ranking 对各数据库受欢迎程度进行调查后的统计结果:(查看数据库最新排名: db-engines.com/en/ranking)
(2)大致介绍
Oracle
- 1979 年,Oracle 2 诞生,它是第一个商用的 RDBMS(关系型数据库管理系统)。随着 Oracle 软件的名气 越来越大,公司也改名叫 Oracle 公司。
- 2007年,总计85亿美金收购BEA Systems。
- 2009年,总计74亿美金收购SUN。此前的2008年,SUN以10亿美金收购MySQL。意味着Oracle 同时拥有了 MySQL 的管理权,至此 Oracle 在数据库领域中成为绝对的领导者。
- 2013年,甲骨文超越IBM,成为继Microsoft后全球第二大软件公司。
- 如今 Oracle 的年收入达到了 400 亿美金,足以证明商用(收费)数据库软件的价值。
SQLServer
- SQL Server 是微软开发的大型商业数据库,诞生于 1989 年。C#、.net等语言常使用,与WinNT完全集 成,也可以很好地与Microsoft BackOffice产品集成。
DB2
- IBM公司的数据库产品,收费的。常应用在银行系统中。
PostgreSQL
- PostgreSQL 的稳定性极强,最符合SQL标准,开放源码,具备商业级DBMS质量。PG对数据量大的文本以 及SQL处理较快。
SQLite
- 嵌入式的小型数据库,应用在手机端。 零配置,SQlite3不用安装,不用配置,不用启动,关闭或者配置 数据库实例。当系统崩溃后不用做任何恢复操作,再下次使用数据库的时候自动恢复。
informix
- IBM公司出品,取自Information 和Unix的结合,它是第一个被移植到Linux上的商业数据库产品。仅运行 于unix/linux平台,命令行操作。 性能较高,支持集群,适应于安全性要求极高的系统,尤其是银行,证 券系统的应用
(3)MySQL介绍
MySQL的历史就是整个互联网的发展史。互联网业务从社交领域、电商领域到金融领域的发展,推动着
应用对数据库的需求提升,对传统的数据库服务能力提出了挑战。高并发、高性能、高可用、轻资源、
易维护、易扩展的需求,促进了MySQL的长足发展。
(4)关于mysql8.0
MySQL从5.7版本直接跳跃发布了8.0版本 ,可见这是一个令人兴奋的里程碑版本。MySQL 8版本在功能上
做了显著的改进与增强,开发者对MySQL的源代码进行了重构,最突出的一点是多MySQL Optimizer优化
器进行了改进。不仅在速度上得到了改善,还为用户带来了更好的性能和更棒的体验。
4、关系型数据库系统与非关系型数据库
从排名中我们能看出来,关系型数据库绝对是 DBMS 的主流,其中使用最多的 DBMS 分别是 Oracle、 MySQL 和 SQL Server。这些都是关系型数据库(RDBMS)。
(1)关系型数据库
- 优势
(2)非关系型数据库
-
非关系型数据库,可看成传统关系型数据库的功能 阉割版本 ,基于键值对存储数据,不需要经过SQL层 的解析, 性能非常高 。同时,通过减少不常用的功能,进一步提高性能。目前基本上大部分主流的非关系型数据库都是免费的。
-
有哪些非关系型数据库 相比于 SQL,NoSQL 泛指非关系型数据库,包括了榜单上的键值型数据库、文档型数据库、搜索引擎和列存储等,除此以外还包括图形数据库。也只有用 NoSQL 一词才能将这些技术囊括进来。包括了很多:键值数据库(redis常见),文档型数据库(couchDB),搜索引擎数据库(Solr等),列试数据库(HBase)
(二)mysql表设置规则
1、数据库设计概念
- 一个数据库中可以有多个表,每个表都有一个名字,用来标识自己。表名具有唯一性。
- 表具有一些特性,这些特性定义了数据在表中如何存储,类似Java和Python中 “类”的设计。
- 表:就是我们存储在数据库里面的数据,单位是表格的形式。我们就要设计一张表来设置数据。
- 记录,字段,列,行,属性和实体与对象等概念
2、表的关联关系
- 表与表之间的数据记录有关系(relationship)。现实世界中的各种实体以及实体之间的各种联系均用关系模型来表示。
- 四种:一对一关联、一对多关联、多对多关联、自我引用
(1)一对一观联(one-to-one)
- 名字和学号:这是个很典型的例子。
(2)一对多关系(one-to-many)
(3)多对多(many-to-many)
(三)mysql安装与卸载
1、卸载mysql
- 如果按照过程中出错,那就先卸载
- 停止mysql服务
- 卸载软解
- 停止mysql服务
- 删除残存文件:mysql目录,默认安装地址
- 清理注册表:如果前几步都做完了还是不行,那就打开注册表,搜索regedit进行处理
- 删除环境变量
2、安装教程
(1)Linux安装教程
(2)Windows10安装
- mysql下载地址:www.mysql.com/
- 下载好啦后就可以安装了
- 配置mysql8
3、进入MySQL
- 启动MySQL:net start mysql服务名(应该是mysql180)
- 停止MySQL:net stop MySQL服务名(应该是mysql180)
(1)自带的客户端
- mysql -h 主机名 -p端口号 -u 用户名 -p 密码
- 然后可以用exit或quit;退出。
二、初识mysql操作
(一)数据库的创建等操作
1、查看所有的数据库
- show databases
2、创建自己的数据库
- 使用create database 数据库名字
3、使用自己的数据库
- use 数据库名
4、查询当前数据库的所有表
- show tables 命令
5、创建表
create table 表 (
字段名 数据类型,
字段名 数据类型
);
6、查看一个表的数据库
- select * from 表
7、添加一条记录
- insert into 表 value (值列表)
8、查看表的创建信息
- show create table 表 【建议记住,因为以后有些表你不知道创建,你就可以逆转过来看看】
- 同样的把table换为database即可查看数据库。
9、删除表
- drop table 表名
10、删除数据库
- drop database 数据库名
三、mysql目录结构
1、目录结构
后续还会补充一下内容进来
2、常见问题
(1)密码忘记
(2)命令行客户端创建数据库或者表时报错
(3)修改数据库和表的字符编码
- 先停止服务
- 修改my.ini文件
- 重启服务