mysql基础篇(上篇)
一.数据库
1.数据库介绍
2.RDBMS专业术语
3.MySQL数据库
4.常用数据库命令
1.数据库介绍
:什么是数据库
数据库就是按照数据结构来组织、存储和管理数据的仓库.
我们常常讲的数据库往往都是指数据库管理系统。
:数据库发展史
最早的数据库:通过大量的分类、比较和表格绘制的机器运行数百万穿孔卡片来进行数据的处理,其运行结果在纸上打印出来或者制成新的穿孔卡片。而数据管理就是对所有这些穿孔卡片进行物理的存储和处理
当时随着计算机开始广泛应用于数据管理,(数据与数据关系越来越多),对数据的共享提出了越来越高的要求。传统的文件系统已经不能满足人们的需要。能够统一管理和共享数据的数据库管理系统(DBMS)应运而生。
:数据库管理系统DBMS
它是一种操纵和管理数据库的大型软件,用于建立,使用和维护数据库,简称DBMS。它对数据进行统一的管理和控制,以保证数据库的安全性和完整性。
用户通过DBMS访问数据库中的数据,数据库管理员也通过DBMS进行数据库的维护工作。
数据库管理系统是数据库系统的核心,是管理数据库的软件。
我们一般说的数据库,就是指DBMS:数据库服务器
:常见的数据库(DBMS)
Oracle:甲骨文,运行稳定,可移植性高,功能齐全,性能超群!适用于大型企业领域,收费的价格昂贵。
DB2:速度快,可靠性高,适用于海量数据,恢复性极强(数据丢失等恢复)。适用于大中型企业领域,收费的。
SQL Server:全面,效率高,界面友好,操作容易,但是不跨平台(只能windows系统)。使用于中小型企业领域,收费的。
Mysql:开源免费,体积小,速度快。适用于中小型企业。
:结构化查询语句SQL(对DBMS数据存取操纵)
SQL语言的功能包含查询,操纵,定义和控制,是一个综合的,通用的关系型数据库语言
:非关系型数据库NOSQL(not only sql)
MangoDB,Redis,Hbase...Neo4j
2.RDBMS专业术语(关系型DBMS)
表,数据库,列,行,主键,外键,索引。
表:具有固定的列数和任意的行数
数据库(实例):数据库是一些关联表的集合。
列:一个数据项Field 字段 如姓名或年龄
行:一条记录 row。(一行对应java中的一个类,一个字段对应类中的字段)
主键:主键是惟一的(不重复的)。一个数据表只能含一个主键(如身份证号码,不能重复)。 你可以使用主键来查询数据。
外键:外键用于关联两个表。
索引:使用索引为了可快速访问数据库表中的特定信息。
索引是对数据库表中的一列或多列的值进行排序的一种结构。类似于书籍的目录。
3.MySQL数据库
Mysql介绍:
Mysql是一个关系型数据库管理系统,由瑞典MYSQL AB公司开发,目前属于Oracle公司。Mysql是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度和提高了灵活性。
Mysql是开源免费的,所以你不需要支付额外的费用。
Mysql 支持大型的数据库。可以处理拥有上千万条记录的大型数据库。
Mysql 使用标准的SQL数据语言形式(通用语言)。
Mysql可以允许 于多个系统上,并且支持多种语言。这些编程语言包括c,C++,python,Java,Perl,Ruby,Eiffel和Tcl等
Mysql安装:
Windows系统,mac系统,linux系统等
Win为例:
点击文件.msi进行安装,下一步现在custom自定义安装,
下一步点击选择mysql server点开这个选项到底,选择mysql版本及相应位数的X64位,下一步,,在工作类型和网络选择默认standalone就可以,点击下一步配置类型,选择默认开发者就可以了,端口号可以修改需要记住,再下一步设置root账号密码,需要记住,可以添加账户。再下一步,,,点击finish,再点击下一步,再finish就可以了。
检测成功:进入安装bin目录下命令行模式,mysql -u root -p 输入密码成功后,就代表成功了。
Mysql的存储引擎:
4常用数据库命令
Mysql数据库分为两种:
系统数据库(数据库服务器自带的,自带的4个):
Information_schema:存储数据库对象信息,如用户表信息,列信息,根除,字符,分区。里面内容我们不能动。
Performance_schema:存储数据库服务器性能参数信息。
Mysql:存储数据库用户 权限信息(哪些用户访问哪些数据库)
Sys:从5.7才有,通过这个库可以快速了解系统的元数据信息。这个库是通过视图的形式把information_schema,performance_schema结合起来,查询出更加令人容易理解的数据。
用户数据库:
可以自己创建的。
创建数据库:
Create database 数据库名;
删除数据库:
Drop database 数据库名;
查看数据库:
Show databases;
使用数据库:
Use 数据库名;
查看数据库中有多张表:
Show tables;
注意写的顺序先使用数据库,再去该具体数据库查看有多少张表。
5.SQL语言
使用Navicat图形化界面工具基本使用:
1创建数据库:右键创建数据库,设置数据名,设置字符集;设置collation(属于校对规则,字符集比较与排序等比如是不是区分大小写);
字符集:
字符集由来:计算机只能识别二进制代码无论是计算机程序还是数据,最终都会转换成二进制,计算机才能认识。
为了计算机不只是能做科学计算,也能处理文字信息。
人们想出了给每一个文字符号编码便于计算机识别处理的办法,这就是字符集的由来。
ASSCII:一套文字符号及其编码,比较规则的集合。最早的。20世纪60年代初。美国标准化组织ANSI发布了第一个字符集。ASSCI后来又进一步变成了国际标准ISO-646。
各大字符集:
自ASSCII后,为了处理不同的文字。各大计算机公司,各国,标准化政府,组织先后发明了几百种字符集。(ISO-8859,GB2312-80,GBK,BIG5)
五花八门的字符集编码规则各不相同。给计算机开发和移植带来很大困难。一个软件在不同国家和地区发布,没法使用,必须要做到本地化开发。基于这个原因,要统一字符集。
Unicode:国际化标准ISO在1984年发布ISO-10646。遭到美国公司反对,占得位数多。1988美国公司联合制定了新标准于1991年推出了unicode1.0。
为了统一字符集,ISO和unicode后来谈判,1991年10月达成协议。ISO将unicode收编,起了名BMP。
UTF-16:ISO-10646足以容纳从古至今的使用过的文字和字符。但很多文字很少使用了,超过百分之99 的在用文字字符都编入了BMP。因此,大部分情况下,unicode双字节方式都能满足需求,而且比双字节编码方式4字节的原始编码来说,更省内存和处理时间,这就是unicode流行的原因。
使用了BMP以后的文字字符怎么办?unicode提出了UTF-16的解决办法。
UTF-8:最终解决方案(所有字符)。虽然utf-16解决了上面以后文字的问题,但当时计算机和网络世界还是ASSCII码的天下,只能处理单字节数据流。Utf-16离开了unicode环境,在传输和处理,都存在问题。于是提出了UTF-8解决方案。
Utf-8按一定的规则将一个ISO10646和unicode转换成1至4字节的编码
其中ASSCII码转换成单字节编码,也就兼容了ASSCII字符集。UTF-8
的2,3,4字节用于转换ISO-10646标准的ucs-4原始码。。
Utf-8-utf-8Unicode 通用的。
汉字的一些常见字符集:
GB2312(国标),GB13000,GBK,GB18030
Mysql存储引擎(理解):
数据库对象:存储、管理和使用数据的不同结构形式,如表,视图,存储过程,函数,触发器,事务等。
数据库:存储数据库对象的容器。
什么是存储引擎:
采用不同的引擎存储性能是不同的(安装时选择)。
Mysql中数据用各种不同的技术存储在文件(或内存)中。
每一种技术使用不同的存储机制、索引技巧、锁定水平并且最终提供广泛的而不同的功能和能力。
通过选择不同的技术,你能够获得额外的速度或者功能,从而改善你的应用的整体功能。
不同的存储引擎性能是不一样的。
什么是事务(功能):
是指作为单个逻辑工作单元执行的一系列操作,要么完全执行,要么完全不执行。如转账(账号扣,对方账号加),分几步,每一步失败都不能成功。
存储引擎分类:(注意MYISAM与Innodb区别)
MYISAM:它不支持事务,也不支持外键,尤其访问速度快,对事务完整性没有要求或select,insert为主的应用基本都可以使用
每个MYISAM在磁盘上存储成3个文件,其中文件名和表名都相同,但是扩展名分别为:.frm(存储表定义),.MYD(MYDATA,存储数据),.MYI(MYINDEX,存储索引)
INNODB(5.5以后默认):InnoDB存储引擎提供了具有提交,回滚和崩溃恢复能力的事务安全(要求会越来越高)。但是对比MYISAM的存储引擎,InnoDB写的处理效率差一些和使用更多的磁盘空间用以保留数据和索引。
MEMORY:memory使用存在内存中来创建表。每个memory表实际对应一个磁盘文件,格式是.frm
Memory类型的表访问速度最快,因为它的数据是放在内存中,并且默认使用hash索引,但是一旦服务器关闭,表中数据会全部丢失,但表还会存在。
mysql基础篇(上篇)的更多相关文章
- 【目录】mysql 基础篇系列
随笔分类 - mysql 基础篇系列 mysql 开发基础系列22 SQL Model(带迁移事项) 摘要: 一.概述 与其它数据库不同,mysql 可以运行不同的sql model 下, sql m ...
- 重新整理 mysql 基础篇————— 介绍mysql[一]
前言 准备整理mysql的基础篇了,前面整理了sql语句序列的的<sql 语句系列(八百章)>,感觉很多用不上,就停下来了,后续还是会继续整理. mysql 基础篇主要是对一些基础进行整理 ...
- 有评论就是我最大的动力~MySQL基础篇完结(存储引擎和图形化管理工具)
hi 今天登上来,发现竟然有了3个评论~~加油吧! 这周的计划其实远远没有达到,然后下周还有一大堆事情...那么...周末好好玩吧~ 今天试图完结MySQL的基础篇知识,小白变为大白? 1.MySQL ...
- mysql基础篇 - 其他基本操作
基础篇 - 其他基本操作 其他基本操作 一.实验简介 本节实验中我们将学习并实践数据库的其他基本操作:索引.视图,导入和导出,备份和恢复等. 这些概念对于数据库管理员而言都非常重要,请 ...
- mysql基础篇 - 数据库及表的修改和删除
基础篇 - 数据库及表的修改和删除 修改和删除 一.实验简介 本节实验中,我们将学习并实践如何对数据库的内容做修改,删除,重命名等操作. 二.实验准备 在正式开始本实验内容之前,需要先 ...
- mysql基础篇 - SELECT 语句详解
基础篇 - SELECT 语句详解 SELECT语句详解 一.实验简介 SQL 中最常用的 SELECT 语句,用来在表中选取数据,本节实验中将通过一系列的动手操作详细学习 SELEC ...
- MySQL基础篇(一)
本文主要内容为MySQL的基础语句以及正则表达式等内容. 本文操作的数据库内容存在个人github:https://github.com/YuanGao-1/blog_demo.git init_sc ...
- mysql 基础篇5(mysql语法---数据)
6 增删改数据 -- ********一.增删改数据********* --- -- 1.1 增加数据 -- 插入所有字段.一定依次按顺序插入 INSERT INTO student VALUES(1 ...
- Linux服务-mysql基础篇
目录 1. 关系型数据库介绍 1.1 数据结构模型 1.2 RDBMS专业名词 1.3 关系型数据库的常见组件 1.4 SQL语句 2. mysql安装与配置 2.1 mysql安装 2.2 mysq ...
随机推荐
- #pragma pack的使用
#pragma pack的作用 程序编译器对变量的存储带有一定随机性,而pragma pack是一种字节对齐方法,采用人为设定的方式将存储数据按一定格式排布.百科中提到了其一种作用:有的平台每次读都是 ...
- btcpool之Stratum协议
一.简介 矿机(或挖矿软件)与矿池之间通过stratum协议通讯,它包括订阅.授权.下发难度.下发任务.提交share五种消息. 二.订阅(mining.subscribe) 矿机启动后,先和矿池建立 ...
- node中处理异步常用的方法,回调函数和events 模块处理异步
// npm install -g supervisor supervisor http.js就可以实现热更新的效果 //引入http模块 var http = require('http'); va ...
- virtual dom 简单了解
管理应用程序状态和用户界面的同步一直是前端UI开发复杂性的主要来源.目前出现了不同的方式来处理这个问题.本文简单讨论其中一种方式virtual dom. 文章概要: virtual dom 基本概念, ...
- Oracle 12.2报错ORA-15032、ORA-15410或ORA-15411解决
现象:在Oracle 12.2.0.1 RAC环境,在其ASM实例中,如果添加不同大小或者不同数量的LUN到failgroup中,会报错: ORA-15032: not all alterations ...
- 全局路径规划算法Dijkstra(迪杰斯特拉算法)- matlab
参考博客链接:https://www.cnblogs.com/kex1n/p/4178782.html Dijkstra是常用的全局路径规划算法,其本质上是一个最短路径寻优算法.算法的详细介绍参考上述 ...
- sitecore开发入门之如何在代码中获取SITECORE图像URL
using Sitecore; using Sitecore.Data.Items; using Sitecore.Resources.Media; public string GetUrl() { ...
- Git 教程(一):简介和安装
为什么要编写这个教程?因为我在学习Git的过程中,买过书,也在网上Google了一堆Git相关的文章和教程,但令人失望的是,这些教程不是难得令人发指,就是简单得一笔带过,或者,只支离破碎地介绍Git的 ...
- 关于config文件中AppSettings和ConnectionStrings的用法跟区别(转)
转自:http://www.cnblogs.com/bindot/archive/2013/03/07/def.html
- .NET Core 2.0 项目的智能提示是英文,改成中文的解决方案
截至目前为止(2017.09.21),Microsoft 官方并没有提供 .NET Core 2.0 正式版的多语言安装包. 因此,在 Visual Studio 2015 Update 3 和 Vi ...