一、数据库概述:
1.数据库概述:
数据库是在数据管理和程序开发过程中,一种非常重要的数据管理软件,通过数据库,可以非常方便的对数据进行管理操作。
2.什么是数据:
数据用来描述事物的特征,行为,记录事物的状态,过程,结果等等。比如 一个人的姓名,姓别,年龄,职业,特长等等,这些都是数据。
从计算机角度来看,数据体现在记录现实数据信息的组织方式。比如:文本,图片,表格,视频,音频等等。
3.什么是数据库:
当数据越来越多的时候,就面临着一个具大的问题,就是如何去管理这些数据,数据量越大,管理难度就越大。这时,就需要一种管理组织方式,分门别类的将数据进行保存,方便使用时的查找。数据库就产生了。
数据库就是数据的仓库,数据库按照一定的数据格式,结构来存储数据。方便数据和操作和管理。
4.数据库管理数据和其他方式管理数据区别:
内存管理数据
优点:存取速度快 缺点:断电后数据不能保存
文件管理数据
优点:数据可以持久化保存 缺点:读取速度慢,数据组织格式不好控制
数据库管理数据
优点:统一的数据组织格式 读取速度快 容量大 缺点:需要专门的管理软件 需要一定的学习成本
5.数据库如何管理数据:
实际数据库在管理数据时,也是管理文件的形式来进行管理,只是这些文件具有特定的文件格式。
如果要操作这些数据文件,需要通过专门的数据管理软件来进行操作。
数据库管理软件
BDMS(Database Mangement System)数据库管理系统,是用来管理数据的专用软件。
数据库在管理是,通过DBMS来操作数据库文件。
数据库使用者
DBA(Database Administrator):数据库管理员
Programmer:程序员
6.数据库如何运行的:
数据库:真正用来存储数据的仓库文件。
数据库服务管理软件:用来操作数据库中数据库文件的管理软件,即BDMS。
数据库客户端软件:用户向数据库服务管理软件按照一定的格式发起访问请求的的软件。
7.常用的数据库管理软件:
7.1 MySQL:中小型数据库,跨平台,开源,免费,用用范围广;
7.2 Oracle:甲骨文公司的大型数据库,跨平台,稳定,安全,收费;
7.3 MS SQL Server:微软针对NT系统(面向工作站、网络服务器和大型计算机的网络操作系统)开发的数据库,只能运行在NT系统上,且对C# .net语言的服务程序支持良好;
7.4 Sqlite:微型数据库,一般应用在移动端,如路由器固件,安卓系统;
8. 关系型数据库系统:
8.1 什么是关系型数据库系统:
RDBMS (Relational Database Management System): 关系数据库管理系统
关系型数据库系统是指以行和列的形式存储数据,将数据组织为相关的行和列的系统
这种方式便于用户理解,类似于一张表格。一组行列关系组成的表构成一个数据文件。一组表组成了数据库。用户通过查询(Query)来检索数据库中的数据
8.2 关系表中的元素构成:
9.数据库操作语言(SQL):
9.1 什么是数据库操作语言:
数据库在操作时,需要使用专门的数据库操作规则和语法,这个语法称为 SQL(Structured Query Language )结构化查询语言
SQL 的主要功能是和数据库建立连接,提供增删改查的操作。按照ANSI(美国国家标准协会)的规定,SQL被作为关系型数据库管理系统的标准语言。
9.2 SQL语言的四大分类:
- 数据定义语言DDL(Data Definition Language):用来定义数据库中存储的现实世界的实体的语言。主要提供数据库、数据表的创建操作。
- 数据操作语言DML(Data Manipulation Language):用于数据表的操作语言。主要提供数据表中数据的插入、更新、删除等操作。
- 数据查询语言DQL(Data Query Language):主要提供对数据表中数据的查询操作。
- 数据控制语言DCL(Data Control Language):主要用来设置或更改数据库用户或角色权限的语句。
二、数据库服务器和客户端安装:
1. 数据库服务器和客户端的介绍:
数据库服务在运行时,也和其它服务一样,即然提供了服务,那么就需要有一个服务器存在。
服务器的作用是用来接受用户的操作请求,并将结果返回给用户。
提供数据操作服务的称为服务器
连接数据库服务器发起操作请求的称为客户端
执行过程:
- 客户端发生请求
- 服务器接收请求
- 服务器将请求发给DBMS查询数据
- DBMS 将查询结果返回给服务器
- 服务器将结果返回给客户端
- 客户端接收使用数据
2. Linux上服务器的安装(ubuntu 18.04):
2.1 服务器安装:
推荐使用命令行安装:
sudo apt-get install mysql-server # 下载安装mysql服务端
sudo apt-get install mysql-client # 下载安装mydql客户端
sudo apt-get install libmysqlclient-dev
一般只需要安装第一个就可以完成mysql服务的安装。Mysql自带的客户端软件并不好用。
2.2 Mysql服务管理:
查看服务是否开启:
ps aux | grep mysql
Mysql服务管理命令:
- 启动服务:
sudo service mysql start
- 停止服务:
sudo service mysql stop
- 重启服务:
sudo service mysql restart
- 查看服务状态:
sudo service mysql status
2.3 如何卸载Mysql:
首先停止服务:
sudo service mysql restart
删除mysql:
sudo apt-get remove mysql-*
然后清理残留的数据:
dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P
它会跳出一个对话框,你选择yes就好了。
奉上Mysql-Ubuntu的wiki:http://wiki.ubuntu.org.cn/MySQL
详细安装过程,可参考这位大神的文章:https://www.linuxidc.com/Linux/2017-06/144805.htm
如果在登陆过程中出现了ERROR 1698 (28000) 错误:Access denied for user 'root'@'localhost'的错误,请参考:https://blog.csdn.net/qq_35709559/article/details/82691883
3. windows系统安装Mysql服务(win10专业版):
3.1win10系统上的Mysql安装:
百度百科 - 在win10上安装mysql数据库:https://jingyan.baidu.com/article/642c9d343557e9644b46f743.html
3.2 win10系统上卸载Mysql:
(1)首先停止Mysql服务:
启动cmd->输入services.msc->找到mySQL->停止SQL服务(所有的与Mysql有关的服务都要停掉)
(2)卸载mysql server:
控制面板\所有控制面板项\程序和功能,将mysql server卸载掉。
(3)将MySQL安装目录下的MySQL文件夹删除(我的安装目录是C:\Program Files (x86)\MySQL)
(4)运行“regedit”文件,打开注册表。删除HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Eventlog\Application\MySQL文件夹
删除HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\Eventlog\Application\MySQL文件夹。
删除HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application\MySQL的文件夹。
如果没有相应的文件夹,就不用删除了。
(5)删除系统数据:删除C盘下的“C:\ProgramData\MySQL ”文件夹,如果删除不了则用360粉碎掉即可,该programData文件默认是隐藏的,设置显示后即可见,或者直接复制 C:\ProgramData 到地址栏回车即可进入!
将整个MySQL文件夹删除掉。。。
三、安装Mysql客户端:
在数据库操作时,需要通过客户端向服务器发送 SQL 语句。
MySQL 可以使用的客户端很多,比如 MySQL 自带的客户端,使用系统命令行做为客户端,使用我们开发的程序做为客户端等等,以及SqlYog, Navicat,PhpAdmin 等图形化的客户端等。
四、Mysql默认数据库介绍:
- Information_schema
保存着关于MySQL服务器所维护的所有其他数据库的信息(元数据)。
如数据库名,数据库的表,表栏的数据类型与访问权限等。
- performance_schema
保存数据库的性能优化信息。
- sys
因为上面的两个数据库中的数据经常被使用,sys整合了两个数据库中的信息,方便操作。
- mysql
保存用户信息。
注意
数据库安装成功后,会自动创建上面的四个数据库,这四个库不需要我们操作,一般是数据库管理员来操作。 程序开发中基本用不到里面的内容,但是也不能删除。放着别动,只做了解即可。