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 ...
随机推荐
- 20175211 2018-2019-2 《Java程序设计》第五周学习总结
目录 教材学习内容总结 第六章 接口与实现 教材学习中的问题和解决过程 代码调试中的问题和解决过程 代码托管 上周考试错题总结 学习进度条 参考资料 教材学习内容总结 第六章 接口与实现 6.1 接口 ...
- Xamarin Forms Api请求开源框架Refit
用于.NET Core,Xamarin和.NET的自动类型安全的REST库,Refit是一个受Square Square Retrofit库影响的库,但它比REST API更容易: public in ...
- FB面经Prepare: Find Longest Path in a Multi-Tree
给的多叉树, 找这颗树里面最长的路径长度 解法就是在子树里面找最大的两个(或一个,如果只有一个子树的话)高度加起来. 对于每一个treenode, 维护它的最高的高度和第二高的高度,经过该点的最大路径 ...
- ubuntu16.04 mysql 开启远程连接
首先保证自己的mysql安装是正常的,如果需要安装请参考 Ubuntu16.04重新安装MySQL数据库 第一步,远程访问赋予权限 方案一 首先用root用户登录mysql mysql -u root ...
- scanf函数的返回值
#include <stdio.h> int main() { ]; ]); printf("%d\n", n); ; } 此刻注意scanf函数里面的格式限定,该代码 ...
- centos7 安装 redis-4.0.9
下载地址:https://redis.io/download 下载 安装: $ wget http://download.redis.io/releases/redis-4.0.9.tar.gz $ ...
- html5 css练习 画廊 元素旋转
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8&qu ...
- 用Nuget部署程序包
用Nuget部署程序包 Nuget是.NET程序包管理工具(类似linux下的npm等),程序员可直接用简单的命令行(或VS)下载包.好处: (1)避免类库版本不一致带来的问题.GitHub是管理源代 ...
- 基于PLC1850平台的UDP报文接收与发送
一.UDP报文格式 源端口(2个字节):发送报文的进程的16位端口号. 目的端口(2个字节):目的设备上的接收进程的16位端口号. 长度(2个字节):整个UDP数据报的长度,包括首都和数据字段. 校验 ...
- 爬坑二 activiti流数据库版本错误引发的问题
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'actModelCont ...