MySQL基础快速入门知识总结(附思维导图)


Posted in MySQL onSeptember 25, 2021

前言

本文是我这段时间自学MySQL之后,自己总结的一些MySQL的入门基础知识.我自己用的是MySQL 5.7.

MySQL基础快速入门知识总结(附思维导图)

一.数据库基础知识

1.什么是数据库

数据库是按照一定数据结构,进行组织,存储,管理数据的仓库数据的仓库,是一种对大量信息进行管理的高效解决方案.

数据库系统DBS=数据库DB+数据库管理系统DBMS.

2.数据库的分类

数据库的分为关系型数据库和分关系型数据库.

关系型:是建立在关系模型上的数据库,关系模型顾名思义就是二维表模型,用来记录实体和实体与实体信息之间的关系信息.常见的关系型数据库有Oracle ,MySQL ,SQL Server.

非关系型数据库:不建立在关系模型上的数据库.主要有MongoDB Redis

3.数据库的常用语言

数据库系统DBS

结构化查询语言SQL

数据库DB

数据库管理系统DBMS

表table
行row   => 记录record
列column  => 字段field

4.数据库的常用操作方式

DOS命令:

连接远程主机:mysql -h 主机名/IP地址 -P端口号 -u 用户名 -p 密码
连接本机主机:mysql -u用户名 -p密码

客户端(可视化软件):Navicat

代码:

Web网页:PHPMyAdmin

5.MySQL的架构

C/S架构:
 服务端管理和存储数据
 客户端发送操作请求

二.数据库的增删改查

1.创建数据库

#创建数据库的语法
create database `库名` charset=utf8/gbk;

创建数据库前,需要先连接进数据库,可以用自己的本地数据库练习.

2.查询数据库

#查询所有数据库
show databases;
#按条件查询like ,其中%表示任意多个字符,-表示任意一个字符.
create databases like '%-';
#查询建库语句
show create database;

3.修改数据库

#修改数据库(仅能修改选项,也就是字符集这些)
alter database `库名` [新选项];

4.删除数据库

#删除数据库(语法很简单,但后果很严重.一般你也没有权限,哈哈.)
drop database `库名`;

三.表的增删改查

1.创建表

#创建表前,先指定数据库
use `指定库名`;
#创建表的
create table `表名`(
`字段1` 字段1类型 字段1属性,
...
`字段N` 字段N类型 字段N属性);[选项]

其中的选项主要包括三大类:

  1. 字符集 charset=utf8 / GBK …
  2. 数据引擎 engine=innodb / mysiam
  3. 备注 comment='‘备注内容''

其它的字段类型和字段属性,后面有详细写到.

2.查询表

#查询所有表
show tables;
#条件查询
show tables like '%-';
#查询表结构
desc `表名`;
#查询建表语句
show create table `表名`;

3.修改表

#修改表选项
alter table `表名` [新选项];
#修改表名
rename table `旧表命` to `新表名`;
#修改表内的字段
alter table `表名` change `旧字段名` `新字段名` 新字段类型;
#添加新字段到字段末尾
alter table `表名` add `新字段名` 类型 属性;
#添加字段到对应字段后
alter table `表名` add `新字段名` 类型 属性 after `对应字段`
#添加字段到最前面
alter table `表名` add `新字段名` 类型 属性 first;

4.删除表

#如果表存在,则删除表,否则报错
drop table [if exists] `表名`;

四.记录的增删改查

1.插入记录

#插入记录
insert into `表名`(`字段1`,...`字段`) values('值1',...,'值N');
#当一次传入所有值时,可以省不写字段
insert into `表名` values('值1',...,'值N');
#当需一次传入多条记录时
insert into `表名`(`字段1`,...`字段`) values
('值1',...,'值N'),
('值1',...,'值N'),
...,
('值1',...,'值N');
#当需一次传入多条记录,且字段全传入时
insert into `student` values(值列表1),(值列表2),(值列表n);

2.查询记录(最常用)

#查询语法
select [选型] 字段列表 as 别名 from `表名` where 条件表达式;

1、条件表达式:

逻辑运算符:and or not

比较运算符:+ - * / < > = !=

2、选项:

all:查询所有,不写默认就是所有

distinct:去重.重复指查询后的数据里,记录的所有字段全部相同,才认定为重复.

as:别名.给查询后的字段设置一个别名,方便查阅.

常见的聚合函数:count(),Max(),Min(),Sum(),avg()

3、连表查询 join

1.内连接 inner join 
#将参与连接的两个表中符合连接条件的记录查询出来,不符合的过滤掉.
select * form `表1` inner join `表2` on 连接条件;
2.左外连接 left Join
#将参与连接的左表中即使不能匹配连接条件的记录也会查询出来,右表不符合的过滤掉
select * from `表1` left join `表2` on 连接条件;
3.右外连接 right join 
#将参与连接的右表中即使不能匹配连接条件的记录也会查询出来,左表不符合的过滤掉
select * from `表1` right join `表2` on 连接条件;

3.修改记录

#语法
update `表名` set `字段`='新值' where 条件表达式;

4.删除记录

#语法
delete from `表名` where 条件表达式;

五.字段类型

1.数字型

1.1整数型

tinyint:占用一个字节,一共能表示256个数

有符号:-128~127
无符号:0~255

int:占用4个字节

有符号:-21亿~21亿
无字符:0~42亿

1.2小数型

浮点数:

float(M,D):单精度浮点数
double(M,D):双精度浮点数

定点数:

decimal(M,D):数据不会丢失的小数类型,常用于记录货币

2.文本型

  1. char(M):定长字符,M表示最大的字符数.优势为运算速度快.常用在255个字符内的固定长度的字符.如:身份证,电话号码等.
  2. varchar(M):变长字符,M表示最大的字符数.优势为节省空间.常用在255个字符以内,长度不确定的字符.
  3. text:常用在256个字符以上的文本中

3.日期时间

  1. datetime:固定的日期时间
  2. timestamp:时间戳:当新增记录或更新记录时自动更新为当前系统时间,用于记录最后一次修改的时间或新插入记录的时间

六.字段属性

  1. not null:设置该字段的值不能为空,不写就是默认可以为空
  2. default 默认值:设置一个默认值,没有数据传入就是使用默认值.有数据传入则使用传入的值
  3. comment:备注用汉字备注字段,方便后期维护
  4. unique key:唯一值该字段的值不能重复,但可以为空
  5. primary key 主键:
    用于唯一标识一条记录
    一个表最能只能有一个主键
    不能为空
    不能重复
  6. auto_increment 自动增长:在新插入记录时,自动在本字段最大值的基础上加1,条件本字段的类型必须为整数型.常与主键一起使用,但不是必须与主键一起使用.

总结

到此这篇关于MySQL基础快速入门知识总结的文章就介绍到这了,更多相关MySQL基础入门内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

MySQL 相关文章推荐
MySQL入门命令之函数-单行函数-流程控制函数
Apr 05 MySQL
Navicat for MySQL的使用教程详解
May 27 MySQL
详细谈谈MYSQL中的COLLATE是什么
Jun 11 MySQL
MySQL如何使用使用Xtrabackup进行备份和恢复
Jun 21 MySQL
mysql中varchar类型的日期进行比较、排序等操作的实现
Nov 17 MySQL
一次SQL如何查重及去重的实战记录
Mar 13 MySQL
MySQL Server 层四个日志
Mar 31 MySQL
深入理解mysql事务隔离级别和存储引擎
Apr 12 MySQL
pt-archiver 主键自增
Apr 26 MySQL
mysql 获取相邻数据项
May 11 MySQL
MySQL8.0 Undo Tablespace管理详解
Jun 16 MySQL
Mysql中的触发器定义及语法介绍
Jun 25 MySQL
MySQL连接控制插件介绍
Sep 25 #MySQL
Mysql案例刨析事务隔离级别
Sep 25 #MySQL
MySQL定时备份数据库(全库备份)的实现
Sep 25 #MySQL
MySQL修改默认引擎和字符集详情
Sep 25 #MySQL
MySQL 用 limit 为什么会影响性能
Sep 15 #MySQL
一次MySQL启动导致的事故实战记录
Sep 15 #MySQL
MySQL中几种插入和批量语句实例详解
Sep 14 #MySQL
You might like
《OVERLORD》手游英文版即将上线 手机上也能扮演骨王
2020/04/09 日漫
sony ICF-2010 拆解与改装
2021/03/02 无线电
Php图像处理类代码分享
2012/01/19 PHP
php日历制作代码分享
2014/01/20 PHP
php 模拟 asp.net webFrom 按钮提交事件实例
2014/10/13 PHP
ThinkPHP5.1框架数据库链接和增删改查操作示例
2019/08/03 PHP
PHP pthreads v3在centos7平台下的安装与配置操作方法
2020/02/21 PHP
PHP实现简单注册登录系统
2020/12/28 PHP
JavaScript CSS修改学习第六章 拖拽
2010/02/19 Javascript
IE中document.createElement的iframe无法设置属性name的解决方法
2015/09/14 Javascript
Labelauty?jQuery单选框/复选框美化插件分享
2015/09/26 Javascript
Angular2中select用法之设置默认值与事件详解
2017/05/07 Javascript
vue中axios解决跨域问题和拦截器的使用方法
2018/03/07 Javascript
Angularjs中的$apply及优化使用详解
2018/07/02 Javascript
微信小程序非swiper组件实现的自定义伪3D轮播图效果示例
2018/12/11 Javascript
JQuery判断radio单选框是否选中并获取值的方法
2019/01/17 jQuery
微信小程序蓝牙连接小票打印机实例代码详解
2019/06/03 Javascript
JS模拟浏览器实现全局搜索功能
2019/09/11 Javascript
JavaScript的变量声明与声明提前用法实例分析
2019/11/26 Javascript
javascript实现前端分页效果
2020/06/24 Javascript
Python中几个比较常见的名词解释
2015/07/04 Python
Windows下Python2与Python3两个版本共存的方法详解
2017/02/12 Python
python条件变量之生产者与消费者操作实例分析
2017/03/22 Python
对Python 网络设备巡检脚本的实例讲解
2018/04/22 Python
django 多数据库配置教程
2018/05/30 Python
python爬虫之urllib库常用方法用法总结大全
2018/11/14 Python
Django 用户登陆访问限制实例 @login_required
2020/05/13 Python
python3 中时间戳、时间、日期的转换和加减操作
2020/07/14 Python
一款css实现的鼠标经过按钮的特效
2014/09/11 HTML / CSS
一套带答案的C++笔试题
2014/01/10 面试题
C# Debug和Testing相关面试题
2015/10/25 面试题
应聘护士自荐信
2013/10/21 职场文书
外贸员简历中的自我评价
2014/03/04 职场文书
规范化管理年活动总结
2014/08/29 职场文书
Python使用PyYAML库读写yaml文件的方法
2022/04/06 Python
Python实现批量将文件复制到新的目录中再修改名称
2022/04/12 Python