MySQL学习第一天 第一次接触MySQL

一、什么是数据库?

数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,每个数据库都有一个或多个不同的API用于创建,访问,管理,搜索和复制所保存的数据。
我们也可以将数据存储在文件中,但是在文件中读写数据速度相对较慢。所以,现在我们使用关系型数据库管理系统(RDBMS)来存储和管理的大数据量。所谓的关系型数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。
RDBMS即关系数据库管理系统(Relational Database Management System)的特点
       1)数据以表格的形式出现
       2)每行为各种记录名称
       3)每列为记录名称所对应的数据域
       4)许多的行和列组成一张表单
       5)若干的表单组成database

二、关系型数据库(RDBMS)术语

针对关系型数据库作如下解释:
1)关系型数据库可以简单的理解为二维数据库,表格式类似于excel表格,我们平时我接触的数据据,一般都是关系型数据库。
 2)关系型数据库不是唯一的高级数据库模型,也不是最优的一种,但是,关系型数据库是现今使用最广泛、最易于理解和使用的数据库模型。
3)在我们开始学习MySQL数据库前,让我们先了解下RDBMS的一些术语:
          1数据库: 数据库是一些关联表的集合。
          2数据表: 表是数据的矩阵。在一个数据库中的表看起来像一个简单的电子表格。
          3关系:可以理解成一张二维表,每个关系都有一个关系名,即表名。
          4关系模式:对关系的描述,在数据库中通常称之为表结构。
          5元组:可以理解成二维表中的一行,在数据库中常被称作记录。一行(=元组,或记录)是一组相关的数据,例如一条用户订阅的数据。
          6属性:可以理解成二维表中的一列,在数据库中常被成为字段。一列(数据元素) 包含了相同的数据, 例如邮政编码的数据。
          7域:属性的取值范围,也是数据库中某一列的取值限制。
          8关键字:一组可以唯一标识元组的属性。数据库中常称为主键有一个或多个列组成。 
          9冗余:存储两倍数据,冗余可以使系统速度更快。
          10主键:主键是唯一的。一个数据表中只能包含一个主键。你可以使用主键来查询数据。
          11外键:外键用于关联两个表。
          12复合键:复合键(组合键)将多个列作为一个索引键,一般用于复合索引。
          13索引:使用索引可快速访问数据库表中的特定信息。索引是对数据库表中一列或多列的值进行排序的一种结构。类似于书籍的目录。
          14参照完整性: 参照的完整性要求关系中不允许引用不存在的实体。与实体完整性是关系模型必须满足的完整性约束条件,目的是保证数据的一致性。
4)关系型数据库特点:
       1容易理解:二维表结构是非常贴近逻辑世界的一个概念,相对与网状、层次以及其它模型更容易理解。
       2使用方便:通过SQL语言程序员和数据管理员可以很方便的在逻辑层面操作数据库而不必理解其底层实现。
       3易于维护:丰富的完整性(实体完整性、参照完整性、用户自定义完整性)降低数据冗余和数据不一致的概率。       
5)关系操作:
       1数据查询:选择、投影、连接、并、交、差、除
       2数据操作:增加、删除、修改、查询
6)SQL(Structured Query Language):结构化查询语言,一种特殊目的的编程语言,数据库查询和程序设计语言,用于存储数据以及查询、更新和管理关系型数据库。

SQL查询语言组成部分:
       1DDL(Data Definition Languages)语句:数据定义语句,用于定义不同的数据段、数据库、表、列、索引等数据库的对象定义。常用关键字主要包括create、drop、alter等。
       2DML(Data Manipulation Language)语句:数据操纵语句,用于添加、删除、更新和查询数据库记录,并检查数
据完整性。常用关键字包括insert、delete、update和select等。
       3DCL(Data Control Language)语句:数据控制语句,用于控制不同数据段直接的许可和访问级别的语句,用于
定义数据库、表、字段、用户的访问权限和安全级别。常用关键字有grant、revoke等。

三、MySQL数据库
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司。MySQL最流行的关系型数据库管理系统,在Web应用方面MySQL是最好的RDBMS(Relational Database Management System,关系数据库管理系统)应用软件之一。
MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言。MySQL软件采用了双授权政策,它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库。由于其社区版的性能卓越,搭配PHP和Apache可组成良好的开发环境。

四、MySQL的特点
       1)Mysql是开源的,所以你不需要支付额外的费用。
       2)Mysql支持大型的数据库。可以处理拥有上千万条记录的大型数据库。
       3)MySQL使用标准的SQL数据语言形式。
       4)Mysql可以允许于多个系统上,并且支持多种语言。这些编程语言包括C、C++、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等。
       5)Mysql对PHP有很好的支持,PHP是目前最流行的Web开发语言。
       6)MySQL支持大型数据库,支持5000万条记录的数据仓库,32位系统表文件最大可支持4GB,64位系统支持最大的表文件为8TB。
       7)Mysql是可以定制的,采用了GPL协议,你可以修改源码来开发自己的Mysql系统。

五、MySQL系统特性
       1)使用C和C++编写,并使用了多种编译器进行测试,保证了源代码的可移植性。
       2)支持 AIX、FreeBSD、HP-UX、Linux、Mac OS、NovellNetware、OpenBSD、OS/2 Wrap、Solaris、Windows等多种操作系统。
       3)为多种编程语言提供了API。这些编程语言包括C、C++、Python、Java、Perl、PHP、Eiffel、Ruby、.NET和Tcl 等。
       4)支持多线程,充分利用 CPU 资源。
       5)优化的 SQL查询算法,有效地提高查询速度。
       6)既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中。
       7)提供多语言支持,常见的编码如中文的GB 2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名。
       8)提供 TCP/IP、ODBC 和 JDBC等多种数据库连接途径。
       9)提供用于管理、检查、优化数据库操作的管理工具。
       10)支持大型的数据库。可以处理拥有上千万条记录的大型数据库。
       11)支持多种存储引擎。
       12)在线 DDL/更改功能,数据架构支持动态应用程序和开发人员灵活性(5.6新增)。
       13)复制全局事务标识,可支持自我修复式集群(5.6新增)。
       14)复制无崩溃从机,可提高可用性(5.6新增)。
       15)复制多线程从机,可提高性能(5.6新增)。

六、MySQL数据库实现模型

MySQL的核心组件(参照上图)
       1)连接池:用于完成用户认证、线程重用、并发连接数限制、内存检测以及连接缓存。
       2)SQL接口:使用SQL结构查询语言对数据库就行操作的接口(DDL DML等)
       3)Parser:分析器,用来进行查询转换、权限分析获取的操作。
       4)Optimizer:优化器,生成并选择最佳的访问路径。
       5)Cache & Buffers:与存储引擎相关的I/O性能提升工具。
       6)存储引擎(真正执行数据查询操作的工具MyISAM、InnoDB、NDB、Archive、Federated、Memory、Merge、Partner、Community、Custom等等)。

有了这篇文章做基础,相信大家对MySQL已经不再陌生了吧,接下来小编就和大家深入的学习MySQL,享受MySQL带来乐趣。

(0)

相关推荐

  • mysql 5.7.30安装配置方法图文教程

    之前把服务器里面的MySQL卸了重装,安装mysql时未做总结,换新电脑,补上安装记录,安装的时候,找了些网友的安装记录,发现好多坑 截个图,作为笔记,也正好留给需要的朋友们. MySQL 5.7.3.0 安装 全程截图 经典的MySQL数据库就不需要过多介绍了. 本篇主要介绍MySQL的安装过程,步步截图,跟着弄就行. 1. 下载软件 在这里,我使用的是新版的MySQL 5.7.3.0,其实这些版本大都一样,可忽视. 需要软件的可自行Google,官网可免费下载,不过貌似需要注册账号登录了才能

  • MySQL学习第二天 安装和配置mysql winx64

    一.安装方式 MySQL安装文件分为两种,一种是MSI格式的,一种是ZIP格式的.下面来看看这两种方式: MSI格式的可以直接点击安装,按照它给出的安装提示进行安装,Windows操作系统下一般MySQL将会安装在C:\Program Files\MySQL该目录中. ZIP格式是自己解压,解压缩之后其实MySQL就可以使用了,但是要进行配置.这个可以在网上随便找,给出很多自定义安装和配置的详细步骤.推荐的链接:超详细的mysql图文安装教程 二.安装MySQL(Windows 64位操作系统)

  • win7下MySql 5.7安装配置方法图文教程

    上学的时候经常使用MySql,当时也没想其他,主要是MySql对电脑的要求比较低,负载比较小.工作后一直在使用Oracle,现在因为项目的需要,重新安装MySql,发现变化有点多. 本经验适用于安装MySql最新版本数据库. 具体实现步骤: 下载MySql,作者通过度娘搜索MySql,找到文件mysql-installer-community-5.7.3.0-m13.2063434697.msi,虽然这一个文件比较大,但是不用我们可以的区分64位还是32位,如图 双击安装包,会出现安装前准备,当

  • MySQL中数据类型的验证

    CHAR char (M) M字符,长度是M*字符编码长度,M最大255. 验证如下: mysql> create table t1(name char(256)) default charset=utf8; ERROR 1074 (42000): Column length too big for column 'name' (max = 255); use BLOB or TEXT instead mysql> create table t1(name char(255)) default

  • PureFTP借助MySQL实现用户身份验证的操作教程

    pureftp集成mysql身份验证是将ftp用户信息保存到mysql数据库中,这样可以对大量的ftp服务器做集中管理,对用户帐号的维护只要通过mysql的操作就可以完成. 一.下载pureftp源代码,并确定mysql已经安装好 tar zxvf pure-ftpd-1.0.20.tar.gz cd pure-ftpd-1.0.20 ./configure --prefix=/usr/local/pureftpd \ --with-cookie \ --with-throttling \ --

  • MySQL学习第三天 Windows 64位操作系统下验证MySQL

    一.验证计算机服务列表中是否有MySQL服务 (1)右击桌面上的计算机图标出现菜单列表选项,选中管理(有多种方式可以打开计算机本地服务列表,这里只是用的我习惯的打开方式). (2)出现计算机对话框,点击打开服务与应用程序中服务选项. (3)在右侧的服务列表中寻找是否有名称为MySQL的服务,并且查看是否启动,这说明我们安装MySQL服务已经成功. 若MySQL服务为自动启动,则说明我们的配置是成功的. 二.验证计算机Path环境变量是否配置有MySQL安装目录 (1)右击桌面上的计算机图标出现菜

  • php+mysql 实现身份验证代码

    复制代码 代码如下: <?php $uname=$_POST["username"]; $pwd=$_POST["password"]; $link = mysql_connect('localhost', 'root', '123456') or die('Could not connect: ' . mysql_error()); mysql_select_db('ruida') or die('Could not select database'); /

  • MySQL安装配置方法教程

    所有平台的Mysql下载地址为: MySQL 下载. 挑选你需要的 MySQL Community Server 版本及对应的平台. 一.Linux/UNIX上安装Mysql Linux平台上推荐使用RPM包来安装Mysql,MySQL AB提供了以下RPM包的下载地址: MySQL - MySQL服务器.你需要该选项,除非你只想连接运行在另一台机器上的MySQL服务器. MySQL-client - MySQL 客户端程序,用于连接并操作Mysql服务器. MySQL-devel - 库和包含

  • php+MySQL实现登录时验证登录名和密码是否正确

    直入主题,先看php校验登录名和密码是否正确的代码: <?php $servername = "服务器名"; $username = "账户名"; $password = "密码"; $dbname = "数据库名"; ?> <?php // Session需要先启动. session_start(); //判断uname和pwd是否赋值 if(isset($_POST['uname']) &&

  • MySQL验证用户权限的方法

    知识归纳 因为MySQL是使用User和Host两个字段来确定用户身份的,这样就带来一个问题,就是一个客户端到底属于哪个host. 如果一个客户端同时匹配几个Host,对用户的确定将按照下面的优先级来排 基本观点越精确的匹配越优先 Host列上,越是确定的Host越优先,[localhost, 192.168.1.1, wiki.yfang.cn] 优先于[192.168.%, %.yfang.cn],优先于[192.%, %.cn],优先于[%] User列上,明确的username优先于空u

随机推荐