这篇文章主要给大家介绍MySQL数据库的一些基础知识,非常适合零基础小白入门。
第一部分是基础概念,先让大家对数据库有一个大致的了解。
第二部分都是一些超有用的基础命令和操作,可以帮助大家快速入门。
今天我们先来讲第一部分,基础概念:
数据库:按照一定的数据结构,存储和管理数据的仓库。
数据库的分类:现在互联网上最常见的两种数据库模型是关系型数据库和非关系型数据库。
关系型数据库:数据和数据之间的关系是很复杂的,关系型数据库就是将数据之间的关系以简单的二元形式表示,就是以二维表格行和列的形式表示,其中每一行叫做记录(元组),列叫做字段(标签)。MySQL就是比较常用的关系型数据库。
DBMS:数据库管理系统。用来管理和操作数据库的软件。其中,关系型数据库(RDBMS)有MySQL、SQLsever、Oracle、DB2等等。非关系型数据库(Nosql)有Hbase、redis、mongodb等等。
MySQL:最常见的关系型数据管理系统。最初是由mysqlab公司设计,后来被Oracle公司收购。MySQL数据库是采用”分库分表“的形式,意思就是一个MySQL数据库管理系统可以管理多个数据库;一个数据库中可以放很多表。而且MySQL是免费开源的软件,支持千万级别的数据,适合中小企业。
SQL语言:全称是”structuredquerylanguage“,结构化查询语言,是用来操作数据库的语言,实现对数据库的访问和操作。
SQL和MySQL:可能大家平时听到”你会不会MySQL?“其实这种说法不算严谨,因为MySQL是一种数据库管理系统,会不会MySQL,其实是在问会不会对数据库的数据增删改查,会不会操作数据库。
SQL语言的分类:DDL、DML、DCL、TCL四种。
DDL(DataDefinitionLanguage):数据定义语言。主要是对数据库对象(数据库、表、识图、索引)结构的操作。
DMl(DataManipulationLanguage):数据操纵语言。增、删、改、查。
DCL(DataControlLanguage):数据控制语言。授权与取消授权。
TCl(TransactionControlLanguage):事务控制语言。提交和回滚。
表:特定类型数据的结构化清单。储存在一张表中的数据是一种类型的数据。比如产品信息和订单信息存放在一张表中对后期的访问和维护都会造成影响,所以数据库中一般是一个主题一张表。每张表都应该有一个表名,用来唯一标识自己。同一个数据库中不能有表名相同的两张表,但是不同的数据库中却可以使用相同的表名。
列:表由列组成,每一列是表中的一个字段。一张表可以由一个或多个列组成。单独表应该符合数据库三范式,每一列应该都存储着一条特定的信息。例如,省份、城市、邮政编码应该都是单独的列。我们不能将这3个不同的信息,都组合在一个列中,否则会给查询增加很大的麻烦。
行:表中的数据是按行存储的,每一行代表一个记录。如果将表想象成一个网格,那么网格中垂直的列为表列,水平行为表行。