| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 大数据 -> MySQL第一讲 -> 正文阅读 |
|
[大数据]MySQL第一讲 |
目录 一、创建数据库及数据库表一、 本章重点安装MySQL 创建数据 建表语句 连接MySQL数据库 二、 数据库2.1数据库概述数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,它产生于距今六十多年前,随着信息技术和市场的发展,特别是二十世纪九十年代以后,数据管理不再仅仅是存储和管理数据,而转变成用户所需要的各种数据管理的方式。数据库有很多种类型,从最简单的存储有各种数据的表格到能够进行海量数据存储的大型数据库系统都在各个方面得到了广泛的应用。 在信息化社会,充分有效地管理和利用各类信息资源,是进行科学研究和决策管理的前提条件。数据库技术是管理信息系统、办公自动化系统、决策支持系统等各类信息系统的核心部分,是进行科学研究和决策管理的重要技术手段。 发展历程:从数据管理角度分析,分为三个阶段 人工管理阶段 20世纪50年代中期之前 ,写在纸上 文件系统阶段 20世纪50年代中期到60年代中期 ,使用Word或者Excel 数据库系统阶段 20世纪60年代后期 ,数据库 2.2数据库分类按照早期的数据库理论,比较流行的数据库模型有三种,分别为层次式数据库、网络式数据库、关系型数据库(前两者已经基本消失)。 而当今的互联网中,最常用的数据库模型主要是两种即 关系型数据库 和 非关系型数据库。 数据库就是数据表、数据库关系和数据库关系对象的集合。 2.2.1关系型数据库: 关系型数据库以行和列的形式存储数据,以便于用户理解。这一系列的行和列被称为表,一组表组成了数据库。 关系型数据库是用表的形式进行存储数据,列是固定的 ,行可以动态添加,这种形式称之为关系。 常见的关系型数据库 : MySQL、 Oracle、 SqlServer(服务器) MySQL:自己独立,mysql界面化 数据量都布达不到商业要求,早期的mysql都是一些小公司。开源。目前的MySql和商业数据库媲美。大部分公司用的都是它。 Oracle关系型:商业数据库。甲骨文公司。效率高--非常稳定 ---提供系统函数非常丰富。 SqlServer:局限性比较大。微软。目前大部分的服务器都是liunx。只能在window系统下跑。 2.2.2非关系型数据库 非关系型数据库( not only struct query language ),译为不仅仅是结构化查询语言,也被称为NoSQL数据库,NoSQL的本意是“Not Only SQL”,指的是非关系型数据库,而不是“No SQL”的意思(没有SQL语句?),因此,NoSQL的产生并不是要彻底否定关系型数据库,而是作为传统关系型数据库的一个有效补充。NoSQL数据库在特定的场景下可以发挥出难以想象的高效率和高性能。 非关系型数据库 经常作为关系型数据库的缓存数据库使用或者当成特殊业务处理应用 常见非关系型数据库:Redis MongoDB hbase redis 缓存 2.3三种数据模型2.3.1层次模型 层次数据模型就是的图形表示就是一个倒立生长的树,由基本数据结构中的树(或者二叉树)的定义可知,每棵树都有且仅有一个根节点,其余的节点都是非根节点。每个节点表示一个记录类型对应与实体的概念,记录类型的各个字段对应实体的各个属性。各个记录类型及其字段都必须记录。 2.3.2网状模型 网状数据模型可以看做是放松层次数据模型的约束性的一种扩展。网状数据模型中所有的节点允许脱离父节点而存在,也就是说在整个模型中允许存在两个或多个没有根节点的节点,同时也允许一个节点存在一个或者多个的父节点,成为一种网状的有向图。因此节点之间的对应关系不再是1:n,而是一种m:n的关系,从而克服了层次状数据模型的缺点。 2.3.3 关系模型 关系模型1970年由E.F.Codd提出的,是用二维表(Excel表)的形式表示实体和实体间的联系的模型。是现今数据库领域中应用最广泛的数据模型,简单、清晰。 面向对象关系模型 类:有属性和方法 面向对象数据模型把实体表示为类,一个类描述了对象属性和实体行为 数据表:二维表格的形式存储数据;类似于集合的存储。 行:一行数据,相当于类的实体对象 列:字段,相当于类的属性 面向对象关系模型: 面向对象数据模型把实体表示为类,一个类描述了对象属性和实体行为
2.4 MySQL简介MySql 服务器。写的是 SQL语言 MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),MySQL数据库系统使用最常用的数据库管理语言--结构化查询语言(SQL)进行数据库管理。 由于MySQL是开放源代码的,因此任何人都可以在General Public License的许可下下载并根据个性化的需要对其进行修改。MySQL因为其速度、可靠性和适应性而备受关注。大多数人都认为在不需要事务化处理的情况下,MySQL是管理内容最好的选择。 MySQL这个名字,起源不是很明确。一个比较有影响的说法是,基本指南和大量的库和工具带有前缀“my”已经有10年以上,而且不管怎样,MySQL AB创始人之一的Monty Widenius的女儿也叫My。这两个到底是哪一个给出了MySQL这个名字至今依然是个迷,包括开发者在内也不知道。 MySQL的海豚标志的名字叫“sakila”,它是由MySQL AB 的创始人从用户在“海豚命名”的竞赛中建议的大量的名字表中选出的。获胜的名字是由来自非洲斯威士兰的开源软件开发者Ambrose Twebaze提供。根据Ambrose所说,Sakila来自一种叫SiSwati的斯威士兰方言,也是在Ambrose的家乡乌干达附近的坦桑尼亚的Arusha的一个小镇的名字。 Mysql优点 开源:MySQL源代码免费下载 简单:体积小,便于安装 性能优越:性能足够与商业数据库媲美 开源功能强大:提供的功能足够与商业数据库媲美 三、MySQL的安装与连接MySQL官网:MySQL :: MySQL Downloads 1.下载MySQL 2.服务管理器中将自启动设置为手动启动 3.管理员身份运行命令提示符(小黑盒:win+r -->cmd) 开启服务:net start MySQL57(如果没有修改过服务名,我的服务名为MySQL5729) 关闭服务:net stop MySQL57 如果不以管理员身份运行,权限不够,会报错:发生系统错误 4.登录MySQL mysql –u 登录名 –p 本人为 mysql -uroot -p 如果出现不是内部命令或外部命令,也不是可运行的程序或批处理文件,就是没有配置环境变量。 path添加一下mysql安装的bin的路径 默认路径:C:\Program Files\MySQL\MySQL Server 5.7\bin 5.输入密码 进行登录 四、MySQL的使用4.1 远程连接数据库
4.2 数据库软件Navicat官网:Navicat | 产品 数据库软件,一个软件可以包含多个数据库(一般一个项目只有一个数据库) 也可以通过数据库软件连接多人的数据库, 连接之前,要先把mysql数据库下的user表中的localhost的User列改为% 4.3 MySQL数据文件结构MySQL的每个数据库都对应存放在一个与数据库同名的文件夹中,MySQL数据库文件包括: MySQL(server)所建数据库文件 MySQL(server)所用存储引擎创建的数据库文件。 MySQL(server)创建并管理的数据库文件: .frm文件:存储数据表的框架结构,文件名与表名相同,每个表对应一个同名frm文件,与操作系统和存储引擎无关,即不管MySQL运行在何种操作系统上,使用何种存储引擎,都有这个文件。除了必有的.frm文件,根据MySQL所使用的存储引擎的不同(MySQL常用的两个存储引擎是MyISAM和InnoDB),存储引擎会创建各自不同的数据库文件。 MyISAM数据库表文件: .MYD文件:即MY Data,表数据文件。 .MYI文件:即MY Index,索引文件。 .log文件:日志文件。 InnoDB采用表空间(tablespace)来管理数据,存储表数据和索引。 ibdata1、ibdata2等:系统表空间文件,存储InnoDB系统信息和用户数据库表数据和索引,所有表共用。 .ibd文件:单表表空间文件,每个表使用一个表空间文件(file per table),存放用户数据库表数据和索引。 日志文件: ib_logfile1、ib_logfile2。 学习目标:使用命令来建库建表增删改查。 4.4 表字段类型4.4.1数值型:
4.4.2字符型 char c='A' String s="abcef" char 数据库:定长字符串。char(6):长度为6的字符串,这个字段中可以存储6个字符。——‘a’,系统会自动补全补空格补齐6个 保证占位一定是6个。 不足补齐,超出报错。比如:邮编、手机号 varchar(100):不定长。最大长度为100,如果存储一个a占位就是一个a长度,实际占位和实际内容有关,100是最大长度,不能超出,超出会报错。
4.4.3日期型
4.4.4二进制类型 文件存到磁盘上,路径存到数据库里
4.5 数据完整性目前一个最简单的表是没有安全性可言的,很多信息的录入都需要添加一些限制,但是目前mysql语句不支持设置限制,所以只能在建表的时候进行限制。 4.5.1数据完整性概念 数据完整性(Data Integrity)是指数据的精确性(Accuracy)和可靠性(Reliability) 数据完整性分为4类: 1)实体完整性(Entity Integrity)、 2)域完整性(Domain Integrity)、 3)引用完整性(Referential Integrity) 4)用户自定义完整性(User-defined Intergrity)。 1) 实体完整性: 实体完整性在表中的约束体现为:必须可以唯一性的标识这一行。必须有一个或多个字段可以直接找到这一行而且只找到这一行。 PRIMARY KEY(主键)约束:唯一 并且非空一个表只能有一个主键,一个主键可以包含1或者多列。 AUTO_INCREMENT (自增)约束:一般为主键服务。新增时无需指明本列值,系统会自动配置一个自动增长的数字 UNIQUE(唯一)约束:唯一但可以为空 2) 域完整性: 域完整性(Domain Integrity)是考虑如何限制向表中输入的值的范围 域完整性的约束: 1)FOREIGN KEY(外键)约束 2)DEFAULT(默认值)约束 3)NOT NULL(非空)约束 4)Check约束----MySql不支持
3) 引用完整性(Referential Integrity) 外键:两张表的关联关系。保证录入的一致性 删除的一致性 修改的一致性。一般情况下:本表的外键是另外一张表的主键 保证:外键表数据存储的值在主表的主键中一定能找到。 从表:新增或者修改外键有限制,不能大于主表主键的值 主表:修改主键或者删除数据时。 1)如果主表中没有对应记录,从表不能新增。 2)更新主表 、从表时,需要保证主从表数据的一致性 3)删除主表数据,从表中存在关联数据时也不能成功删除 4) 用户自定义完整性(User-defined Integrity) 规则 约束 触发器 五、数据库的语法使用5.1 简单入门语法
5.2 创建删除数据库
5.3 建表删表语句
5.4 表格管理
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/23 10:22:04- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |