给你推荐一个教程吧,内容特别全。个人感觉视频要比书籍好一点
推荐教程:MySQL数据库从入门到精通
一、MySQL概述
我们先来讲解三个概念:数据库、数据库管理系统、SQL。
而目前主流的关系型数据库管理系统的市场占有率排名如下
Oracle:大型的收费数据库,Oracle公司产品,价格昂贵。
MySQL:开源免费的中小型数据库,后来Sun公司收购了MySQL,而Oracle又收购了Sun公司。 目前Oracle推出了收费版本的MySQL,也提供了免费的社区版本。
SQL Server:Microsoft 公司推出的收费的中型数据库,C#、.net等语言常用。
PostgreSQL:开源免费的中小型数据库。
DB2:IBM公司的大型收费数据库产品。
SQLLite:嵌入式的微型数据库。Android内置的数据库采用的就是该数据库。
MariaDB:开源免费的中小型数据库。是MySQL数据库的另外一个分支、另外一个衍生产品,与
MySQL数据库有很好的兼容性。
而不论我们使用的是上面的哪一个关系型数据库,最终在操作时,都是使用SQL语言来进行统一操作, 因为我们前面讲到SQL语言,是操作关系型数据库的 统一标准 。所以即使我们现在学习的是MySQL, 假如我们以后到了公司,使用的是别的关系型数据库,如:Oracle、DB2、SQLServer,也完全不用 担心,因为操作的方式都是一致的。
MySQL数据库
官方: https://www.mysql.com/
MySQL官方提供了两种不同的版本: 社区版本(MySQL Community Server) 免费, MySQL不提供任何技术支持 商业版本(MySQL Enterprise Edition) 收费,可以使用30天,官方提供技术支持
本课程采用的是MySQL最新的社区版-MySQL Community Server 8.0.26
1.2.2 下载
下载地址:https://downloads.mysql.com/archives/installer/
也可以使用课程资料中提供的MySQL的安装包:
3 安装
要想使用MySQL,我们首先先得将MySQL安装好,我们可以根据下面的步骤,一步一步的完成MySQL的 安装。
1). 双击官方下来的安装包文件
2). 根据安装提示进行安装
安装好MySQL之后,还需要配置环境变量,这样才可以在任何目录下连接MySQL。
A. 在此电脑上,右键选择属性
B. 点击左侧的 "高级系统设置",选择环境变量
C. 找到 Path 系统变量, 点击 "编辑"
D. 选择 "新建" , 将MySQL Server的安装目录下的bin目录添加到环境变量
2.4 启动停止
MySQL安装完成之后,在系统启动时,会自动启动MySQL服务,我们无需手动启动了。
当然,也可以手动的通过指令启动停止,以管理员身份运行cmd,进入命令行执行如下指令:
2. SQL
全称 Structured Query Language,结构化查询语言。操作关系型数据库的编程语言,定义了 一套操作关系型数据库统一标准 。
分 类 全称 说明
DDL Data Definition Language
数据定义语言,用来定义数据库对象(数据库,表, 字段)
DML Data Manipulation Language
数据操作语言,用来对数据库表中的数据进行增删改
DQL Data Query Language 数据查询语言,用来查询数据库中表的记录
DCL Data Control Language
数据控制语言,用来创建数据库用户、控制数据库的 访问权限
2.1 SQL通用语法
在学习具体的SQL语句之前,先来了解一下SQL语言的同于语法。
1). SQL语句可以单行或多行书写,以分号结尾。
2). SQL语句可以使用空格/缩进来增强语句的可读性。
3). MySQL数据库的SQL语句不区分大小写,关键字建议使用大写。
4). 注释: 单行注释:-- 注释内容 或 # 注释内容 多行注释:/* 注释内容 */
2.2 SQL分类
SQL语句,根据其功能,主要分为四类:DDL、DML、DQL、DCL。
3 DDL
Data Definition Language,数据定义语言,用来定义数据库对象(数据库,表,字段) 。
2.3.1 数据库操作
1). 查询所有数据库
1 show databases
2). 查询当前数据库
3). 创建数据库
2 表操作
2.3.2.1 表操作-查询创建
1). 查询当前数据库所有表
比如,我们可以切换到sys这个系统数据库,并查看系统数据库中的所有表结构。
2). 查看指定表结构
1 desc表名
通过这条指令,我们可以查看到指定表的字段,字段的类型、是否可以为NULL,是否存在默认值等信 息。
3). 查询指定表的建表语句
1 show createtable表名
通过这条指令,主要是用来查看建表语句的,而有部分参数我们在创建表的时候,并未指定也会查询 到,因为这部分是数据库的默认值,如:存储引擎、字符集等。
4). 创建表结构