写点什么

MySQL 最全基础大整理(建议收藏)1️⃣

作者:XiaoLin_Java
  • 2022 年 1 月 21 日
  • 本文字数:2323 字

    阅读完需:约 8 分钟

MySQL最全基础大整理(建议收藏)1️⃣

一、SQL 介绍

1.1、SQL 概述

    人和人交流需要语言,人和数据库交流也需要语言,而这个专门特定为程序员和数据库打交道的语言就是 SQL 语言。


    SQL:结构化查询语言(Structured Query Language)。是关系型数据库标准语言。 特点:简单,灵活,功能强大。

1.2、SQL 包含的 6 个部分

1.2.1、数据查询语言(DQL)

    其语句,也称为“数据检索语句”,用以从表中获得数据,确定数据怎样在应用程序给出。保留字 SELECT 是 DQL(也是所有 SQL)用得最多的动词,其他 DQL 常用的保留字有WHEREORDER BYGROUP BYHAVING。这些 DQL 保留字常与其他类型的 SQL 语句一起使用。

1.2.2、数据操作语言(DML)

    其语句包括动词 INSERTUPDATEDELETE。它们分别用于添加,修改和删除表中的行。也称为动作语言。

1.2.3、数据定义语言(DDL)

    其语句包括动词 CREATE 和 DROP。在数据库中创建新表或删除表(CREAT TABLE DROP TABLE);为表加入索引等。DDL 包括许多与人数据库目录中获得数据有关的保留字。它也是动作查询的一部分。

1.2.4、事务处理语言(TPL)

    它的语句能确保被 DML 语句影响的表的所有行及时得以更新。TPL 语句包括BEGIN TRANSACTIONCOMMITROLLBACK

1.2.5、数据控制语言(DCL)

    它的语句通过GRANTREVOKE获得许可,确定单个用户和用户组对数据库对象的访问。某些 RDBMS 可用GRANTREVOKE控制对表单个列的访问。

1.2.6、指针控制语言(CCL)

    它的语句,像DECLARE CURSORFETCH INTOUPDATE WHERE CURRENT用于对一个或多个表单独行的操作。

1.3、书写规则

  1. 数据库中,SQL 语句大小写不敏感. 如: select、SELECT.、SeleCt,为了提高可读性,一般关键字大写,其他小写

  2. SQL 语句可单行或多行书写,用分号来分辨是否结束。

  3. 合理利用空格和缩进使程序易读

二、表和 ORM

2.1、表

​     二维表是 同类实体 的各种 属性的集合,每个实体对应于表中的一行,在关系中称为元组,相当于通常的一条记录; 表中的列表示属性,称为 Field,相当于通常记录中的一个数据项,也叫列、字段。 行: 表示一个实体,一条记录 列: 字段,数据项。

2.2、表和对象的关系(ORM)

​ ORM: Oject Reraltional Mapping : 对象表的映射


​     在开发中,我们需要将表中的数据查询出来保存到内存中,或者把内存中的数据保存到数据库中,此时就需要将数据表的数据和 Java 中的对象进行映射关联起来。这种映射关联就称为 ORM 思想。



三、MySQL 服务

3.1、MySQL 服务

​ 打开数据库连接之前:一定要保证 MySQL 服务已经开启了。


net start命令开启一个服务,如:net start MySQL。


net stop 命令关闭一个服务器,如:net stop MySQL

3.2、连接 MySQL

方式一


​ 进入 MySQL 自带的客户端, 在命令行中输入密码。


方式二


​ 在运行(win + r 进入 cmd )中输入命令。


格式:mysql -u 账户 -p 密码 -h 数据库服务器安装的主机 -P 数据库端口


mysql -uroot -padmin -h127.0.0.1 -P3306
复制代码


    若连接的数据库服务器在本机上,并且端口是 3306。 则可以简写: mysql -uroot -padmin。

四、数据库基础

4.1、数据库基本操作

  1. 查看数据库服务器存在哪些数据库.:SHOW DATABASES

  2. 使用指定的数据库.:USE database_name

  3. 查看指定的数据库中有哪些数据表:SHOW TABLES

  4. 创建指定名称的数据库.:CREATE DATABASE database_name

  5. 删除数据库:DROP DATABASE database_name

4.2、存储引擎

    MySQL 中的数据用各种不同的技术存储在文件(或者内存)中。这些技术中的每一种技术都使用不同的存储机制、索引技巧、锁定水平并且最终提供不同的功能和能力。 通过选择不同的技术,你能够获得额外的速度或者功能,从而改善你的应用的整体功能。


​     简单来说,存储引擎是表的存储方式。


​     MySQL 常用存储引擎:


  • MyISAM:拥有较高的插入,查询速度,但不支持事务,不支持外键。

  • InnoDB:支持事务,支持外键,支持行级锁定,性能较低。最安全


    InnoDB 存储引擎提供了具有提交、回滚和崩溃恢复能力的事务安全。但对比 MyISAM,处理效率差,且会占用更多的磁盘空间以保留数据和索引。一个系统,特别是金融系统,没有事务是很恐怖的事情,一般都要选择 InnDB。


五、MySQL 列的常用类型

5.1、最常用的类型

5.2、整数类型

    整数类型有宽度指示器,作用是指定位宽。


    例如:某字段类型为 INT(3),保证少于 3 个值,从数据库检索出来时能够自动地用 0 填充,需设置填充,默认不填充。


宽度指示器不影响列存值得范围。一般不指定位宽。



.png)]

5.3、小数 类型

FLOAT[(s,p)] DOUBLE[(s,p)]: 小数类型,可存放实型和整型 ,精度 (p) 和范围 (s)。


DECIMAL : 高精度类型,金额货币优先选择。


5.4、字符类型

  • ​ char(size) : 定长字符,0 - 255 字节,size 指 N 个字符数,若插入字符数超过设定长度,会被截取并警告。

  • ​ varchar(size): 变长字符,0 - 255 字节,从 MySQL5 开始支持 65535 个字节,若插入字符数超过设定长度,在非严格模式下会被截取并警告。



    一般存储大量的字符串,比如文章的纯文本,可以选用 TEXT 系列类型,这个系列都是变长的。


    注意: 在 MySQL 中,字符类型必须指定长度,值要使用 单引号引起来。 相当于 Java 中字符(String,StringBuilder/StringBuffer);


5.5、日期类型

    常用日期和时间类型: DATE、DATETIME。


    注意: 在 MySQL 中,日期时间值使用单引号引起来。 相当于 Java 中 Date,Calender。


5.6、二进制类型

    二进制类型主要用于存放图形、声音和影像,二进制对象,0-4GB。


    开发中,我们一般存储二进制文件保存路径,所以以上的类型非特殊需求不会使用。


    BIT,一般存储 0 或 1,存储是 Java 中的 boolean/Boolean 类型的值(需要使用)。



用户头像

XiaoLin_Java

关注

问啥啥都会,干啥啥不行。 2021.11.08 加入

问啥啥都会,干啥啥不行。🏆CSDN原力作者🏆,🏆掘金优秀创作者🏆,🏆InfoQ签约作者🏆

评论

发布
暂无评论
MySQL最全基础大整理(建议收藏)1️⃣