Python 高级 14 数据库

数据库概述、数据库服务器和客户端安装

2.1数据库概述

学习目标

  1. 能够说出什么是数据

  2. 能够说出为什么要有数据库

  3. 能够说出什么是数据库

  4. 能够说出常用数据库有哪些

  5. 能够说出数据库分为几部分

  6. 能够说出什么是关系型数据库

  7. 能够说出数据库操作有哪些

--------------------------------------------------------------------------------

2.1.1 数据库概述

数据需要小心的保存,管理。这就需要使用到数据库。

数据库是在数据管理和程序开发过程中,一种非常重要的数据管理软件,通过数据库,可以非常方便的对数据进行管理操作。

2.1.2 什么是数据?

  数据用来描述事物的特征,行为,记录事物的状态,过程,结果等等。

      比如 一个人的姓名,姓别,年龄,职业,特长等等,这些都是数据。

  从计算机角度来看,数据体现在记录现实数据信息的组织方式。

      数据体现在:文本,图片,表格,视频,音频等等。都是以二进进制形式进行存储

以下我们所说的数据,都是将现实信息转换为计算机角度的表示形式。

2.1.3 什么是数据库?

  为什么会有数据库:

      数据量越大,管理难度就越大。这时,就需要一种管理组织方式,分门别类的将数据进行保存,方便使用时的查找。

  什么是数据库:

      数据库就是数据的仓库,数据库按照一定的数据格式,结构来存储数据。方便数据和操作和管理。

2.1.4 数据库管理数据和其它方式管理数据区别

  内存管理数据

      优点:存取速度快

      缺点:断电后数据不能保存

  文件管理数据

      优点:数据可以持久化保存

      缺点:读取速度慢,数据组织格式不好控制

  数据库管理数据

      优点:统一的数据组织格式 读取速度快 容量大

      缺点:需要专门的管理软件 需要一定的学习成本

2.1.5 数据库如何管理数据

实际数据库在管理数据时,也是管理文件的形式来进行管理,只是这些文件具有特定的文件格式。

如果要操作这些数据文件,需要通过专门的数据库管理软来进行操作。

  数据库管理软件

      DBMS Database Management System 数据库管理系统,简称DBMS ,是用来管理数据的专用软件。

      数据库在管理时,通过 DBMS 来操作数据库文件。

      类似于 MS Office Excel 可以操作 .xls 的文件一样。

  使用者

      DBA Database Administrator 数据库管理员

      Programmer 程序员

2.1.6 数据库如何运行?

DBS

  DBS Database System 数据库系统,由几部分组成,如下:

      DB Database  数据库,真正用来存储数据的部分

      DBMS  Database Management System  数据库管理系统,用来操作数据库的部分

      Client 数据库客户端,用来连接数据库,发起请求操作

      DBS = DB + DBMS + Client

  数据库(DB Database):

      真正用来存储数据的仓库。

  数据库服务管理软件(Database Management System 数据库管理系统,简称DBMS):

      用来操作数据库中文件的管理软件,也就是 DBMS, 但在使用过程中经常的提及的数据库常指 DBMS

  数据库客户端软件(Client):

      用户在需要使用数据时,需要向数据库服务管理软件按照一定的格式申请,提交申请的软件软件称为数据库客户端软件

2.1.7 常用数据库管理软件

  1. MySQL:中小型数据库,跨平台,开源,免费,应用范围广

  2. Oracle:大型数据库,跨平台,稳定,安全,收费

  3. MS SQL Server MS:针对 NT系统开发的数据库,只能运行在 NT 系统上

  4. Sqlite:微型数据库,一般用在移动端开发

2.1.8 关系型数据库 RDBMS

  RDBMS Relational Database Management System 关系数据库管理系统

  关系型数据库系统的概念:

是指以行和列的形式存储数据,将数据组织为相关的行和列的系统

这种方式便于用户理解,类似于一张表格。

  行 ,表示一条数据,也称为记录

  列 ,表示一个属性,也称为字段

  域 , 表示一个字段的取值范围

  表 , 行和列构成了表

  一组行列关系组成的表构成一个数据文件。

  一组表组成了数据库。

用户通过查询(Query)来检索数据库中的数据。

关系表中元素的构成

名词解释

2.1.9 数据库操作语言

  SQL的概念:

      SQL Structured Query Language 结构化查询语言

      数据库在操作时,需要使用专门的数据库操作规则和语法,这个语法称为 SQL。

  SQL的作用

      SQL 的主要功能是和数据库建立连接,提供增删改查的操作。

按照ANSI(美国国家标准协会)的规定,SQL被作为关系型数据库管理系统的标准语言。

  SQL语言共分为四大类:

      数据定义语言DDL Data Definition Language

          ■ 用于定义数据库中要存储的现实世界实体的语言。

          ■ 主要提供数据库,数据表的创建操作。

      数据操作语言DML Data Manipulation Language

          ■ 用于数据表的操作语言

          ■ 主要提供数据表中数据的插入,更新,删除操作

      数据查询语言DQL Data Query Language

          ■ 主要提供对数据表中数据的查询操作。

      数据控制语言DCL Data Control Language

          ■ 主要用来设置或更改数据库用户或角色权限的语句。

2.1.10 总结

  1. 数据用来描述现实事物信息,在计算机中指用来保存这些信息的文件

  2. 数据库是用来对数据文件进行存储的仓库

  3. 数据库相对于其它数据管理方式容量更大,速度更快,管理更方便

  4. 数据库分为 数据库服务器,数据库客户端和数据库存储文件三部分

  5. 大部分数据库都是 RDBMS 关系型数据库,如 MySQL,Oracle,SQL Server,Sqlite等

  6. 关系型数据库以表格形式来存存储数据 ,但存储的文件并不是表格

  7. 关系型数据库以行,列形式来描述事物的关系

  8. 关系型数据使用SQL语言对数据进行操作

  9. SQL语言分为四类,DDL,DML,DQL,DCL

2.2 数据库服务器和客户端安装

学习目标

  1. 能够说出数据库提供服务的原理

  2. 能够说出哪部分是服务器

  3. 能够说出哪部分是客户端

  4. 能够说出服务器和DMBS之间的关系

  5. 能够说出一些常用的数据库客户端软件

--------------------------------------------------------------------------------

2.2.1 数据库服务器和客户端介绍

数据库服务在运行时,也和其它服务一样,即然提供了服务,那么就需要有一个服务器存在。

  什么是服务器:

      提供数据操作服务的称为服务器。

  服务器的作用:

      用来接受用户的操作请求,并将结果返回给用户。

  什么是客户端:

      连接数据库服务器发起操作请求的称为客户端。

  数据查询的执行过程:

      客户端发生请求

      服务器接收请求

      服务器将请求发给DBMS查询数据

      DBMS 将查询结果返回给服务器

      服务器将结果返回给客户端

      客户端接收使用数据

2.2.1 服务器安装命令

sudo apt-get install mysql-server

sudo apt-get install mysql-client

sudo apt-get install libmysqlclient-dev

一般情况下只需要安装第一个就可以了,MySQL自的客户端软件并不好用。

2.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.2.3 MySQL 客户端安装

在数据库操作时,需要通过客户端向服务器发送 SQL 语句。

MySQL 常用客户端

      图形化客户端

          ■ Navicat, PHPAdmin, MySQLYog, MySQL Browser

      终端

          ■ windows - cmd,mac - 终端, linux - terminal

MySQL 可以使用的客户端很多,比如 MySQL 自带的客户端,使用系统命令行做为客户端,使用我们开发的程序做为客户端等等,以及 Navicat,PhpAdmin 等图形化的客户端等。

在这里,我们使用 Navicat 图形化客户端工具来进行操作。

安装过程

  1. 下载 官方下载地址: https://www.navicat.com/en/download/navicat-for-mysql 在下载时,需要填写一些信息。(官网打开较慢,可以百度一些二次分享的下载地址)

  2. 解压

下载完成后是tar.gz文件,先进行解压

  3. 启动 

  4. 小提示 因为该软件是收费软件,只能是试用。 如果在启动时提示试用期结束,或者启用出现问题。可以如图解决 

删除.navicat64文件后又可以重新开始试用

2.2.4 连接数据库

在连接数据库时,使用 mysql 命令连接数据库

  打开终端,运行命令

      mysql -uroot -p

      回车后输入密码

  退出登录

      quit 和 exit或ctrl+d

  登录成功后,输入如下命令查看效果

      查看版本:select version();

      显示当前时间:select now();

  修改输入提示符

      prompt python>

  连接数据库

      数据库IP地址

      数据库服务端口号

      数据库用户名

      数据库用户密码

  使用命令行客户端连接

  mysql -h主机地址 -P端口号 -u用户名 -p密码

  本机可以直接mysql -uroot -p      回车后输入密码

  使用 Navicat 连接

2.2.5 MySQL 默认数据库介绍(了解)

  数据库中默认自带的数据库

      infomation_schema 保存其它数据库的信息

      perfromance_schema 保存数据库的优化信息

      sys infomation_schema + perfromance_schema

      mysql 保存数据库用户信息

  Information_schema

保存着关于MySQL服务器所维护的所有其他数据库的信息(元数据)。

如数据库名,数据库的表,表栏的数据类型与访问权限等。

  performance_schema

保存数据库的性能优化信息。

  sys

因为上面的两个数据库中的数据经常被使用,sys整合了两个数据库中的信息,方便操作。

  mysql

保存用户信息。

注意:

数据库安装成功后,会自动创建上面的四个数据库,这四个库不需要我们操作,一般是数据库管理员来操作。 程序开发中基本用不到里面的内容,但是也不能删除。放着别动 ,只做了解即可。

2.2.5 总结

  1. 客户端发起请求,服务器接收,通过DBMS操作数据库中的数据

  2. 连接数据库需要知道主机,端口号,用户名,密码。。。

  3. 使用 mysql 命令连接数据库,可以只指定用户名和密码,其它 使用默认

  4. 连接数据库的命令:mysql -u root -p

你可能感兴趣的:(Python 高级 14 数据库)