1.1-认识MySQL
-
什么是数据库?
- 计算机处理和存储的一切信息都是数据。
- 数据库是计算机系统中一种用于存取数据的程序。
- 为什么要使用数据库?
数据库帮助我们解决以下数据存取难题:- 较大数据量
- 网络访问
- 并发访问
- 高性能要求
- 事务控制
- 持久化和数据安全
- 查询数据需求逻辑复杂
- 其他更多问题...
- 数据库的分类
- 关系型数据库 ( sql 数据库)
MySQL、Oracle、SQL Server、PostgreSQL - 非关系型数据库 ( no-sql 数据库)
hadoop、mongoDB、redis、Cassandra - 它们都有自己的适用范围。两者的区别在于“是否使用SQL语句作为操作的方式和方法”。
- 我们所说的“数据库”常常指关系型数据库
- 关系型数据库 ( sql 数据库)
-
为什么学习MySQL?
MySQL: The world's most popular open source database !
- 最流行
-
前三强中唯一开源数据库
-
在互联网企业中占据绝对主流地位
-
- 开源
- 基于GPL协议开放源代码
- 社区版本完全免费
-
代码允许自由地进行修改
- 并不是最先进
- 易于学习
- MySQL具备关系型数据库核心功能但是特性并不繁多。
- 架构设计上趋于精简。
- 非常适合新手学习关系型数据库,入门后可向其他关系型数据库发展。
-
谁需要学习MySQL?
- 应用开发者
- 基于数据库开发应用程序的开发者
- 学习目标:能够利用MySQL开发出性能优异的应用程序,具体如下
- 学习数据类型的正确使用
- 学习如何利用索引优化查询效率
- 了解分区,读写分离等特性
- 了解数据库事务相关特性
- ...
- DBA
- 管理和维护数据库服务的运维人员
- 学习目标:为企业提供可靠的数据库技术保障,具体如下
- 和开发者一样学习MySQL的使用技巧
- 学习MySQL体系结构知识
- 学习日常运维,性能调优,故障排查等知识
- 学习数据层架构设计,schema优化知识
- ...
-
学习过程
- 入门篇
为今后的学习准备好最基本的环境- 简单安装MySQL
- SQL语言基础和简单操作
- 进阶篇
系统学习MySQL各个方面的应用和管理知识
- 入门篇
1.2-轻松安装MySQL
MySQL的下载
首先进入MySQL官网的下载页面 点此链接打开下载页面
点击"Download"
注:虽然这里显示的是32位的安装包,但实际上64位的安装包也包含在内。
选第二个
选"No thanks, just start my download."
MySQL的安装与配置
选"Custom"自定义安装
选定的合适位数后,点中间的绿色小箭头
点击右栏"MySQL..."后,会出现右下角的"Advanced Options",点击可更改安装路径
更改前
更改后
类型选"Development Machine",并勾选底部的"Show Advanced Options"
设置完密码后, 若不添加用户,则直接点击"Next",之后不再做更改直至完成安装
MySQL的启动和关闭
- 在任务管理器的进程中,若能看到"mysqld",则说明MySQL启动成功
-
在任务管理器的服务中,右击"MySQL57"可启动或停止MySQL服务
MySQL数据库连接
-
配置环境变量
- 需要配置环境变量,才能在命令行使用"mysql"来启动MySQL.
- 环境变量的作用:
- 假设我的MySQL应用程序的路径为"E:\MySQL\MySQL Server 5.6\bin\mysql.exe"。
- 当我想在命令行中打开mysql时,需要输入"cd E:\MySQL\MySQL Server 5.6\bin",回车后再输入"mysql -utoot -p"输入密码即可连接数据库,但输入的路径太长,麻烦!
- 而配置环境变量正好可以解决这个难题。只需将"E:\MySQL\MySQL Server 5.6\bin"配置到环境变量中,然后在命令行里就可以直接输入“mysql”来启动MySQL,再也不需要输入长长的命令行。
- “环境变量”即“别名”、“存放(命令、程序)的地方”。
-
mysql.exe 安装路径的获取,如E:\Program Files\MySQL\MySQL Server 5.7\bin
mysql.exe 安装路径的获取
控制面板->系统->左上角“高级系统设置”高级->环境变量复制路径,并在路径前后加上英文版的分号; 点击确定完成 -
连接MySQL数据库
在命令行输入"mysql -uroot -p" 按回车,输入密码后,再按回车
当看到这个界面时,表示连接成功,即可进行增删改查等操作
输入"show databases"显示已存在的数据库
输入“create database test;”创建名为"test"的数据库,输入"use test;",进入名为"test"的数据库
1.3-SQL语言入门
-
学习目标
- 认识SQL语言
- 了解SQL语言的大致分类
- 能够独立地在数据库中建表并存取数据
-
关系型数据库
-
SQL是什么?
- Structured Query Language (结构化查询语言)
- 是一种特殊目的的编程语言,用于关系型数据库中的标准数据存取操作
- 与数据库进行沟通的钥匙
-
SQL语言与数据库
- 用SQL创建表,定义表中的字段
- 用SQL向表中增加,删除,修改记录
- 用SQL从表中查询到想要的记录
- 用SQL操作数据库的一切...
-
SQL语句的分类
"CREATE TABLE" 创建表
"DROP TABLE" 删除表
"ALTER TABLE" 修改表
...
常见的SQL语句也就8到9种,但是通过这八九种SQL语句的排列组合,却可以实现千变万化的功能,满足我们实际开发中的绝大数的需要- MySQL中的每张表都是属于一个database,倘若把每个database比作一个房间,那么,每张表就相当于房间中的一个柜子。
- 常用操作语句
"show databases;" 输入后,按回车,显示已存在的databases
-
"create databases test;" 创建名为"test"的database
"use test;" 使用(进入)名为"test"的database
"create table stu..." 创建名为"stu"的表,包含三个属性id, name, age, 还有一个主键(primary key)。每张表都得包含一个主键,主键用于唯一标识一个字段。例如,"primary key(id)"表示"id"是一个唯一的字段,不可重复,也不能为空
-
"show create table stu;" 查看已经创建好的表"stu"
-
"alter table stu add column gender varchar(20);" 增加字段"gender"
"insert into stu..." 往表中插入一条记录(如图中的用户信息)
-
"select * from stu;" 查看stu表中的所有数据," * "匹配所有字段,若只想查询用户姓名,则输入"select name from stu;"