一、数据类型

1.1 数值类型

MySQL基础知识_表名

其中,score DECIMAL(4,1)表示整数部分和小数部分的长度为4,保留1位小数。

1.2 字符串类型

MySQL基础知识_表名_02

1.3 日期类型

MySQL基础知识_表名_03

根据需求创建表(设计合理的数据类型、长度)

设计一张员工信息表,要求如下:

1.编号(纯数字)

2.员工工号(字符串类型,长度不超过10位)

  1. 员工姓名(字符串类型,长度不超过10位)

4.性别(男/女,存储一个汉字)

5.年龄(正常人年龄,不可能存储负数)

  1. 身份证号(二代身份证号均为18位,身份证中有X这样的字符)

7.入职时间(取值年月日即可)

MySQL基础知识_聚合函数_04


二、操作数据

2.1 通用语法及分类

MySQL基础知识_聚合函数_05

2.2 DDL(数据定义语言)

MySQL基础知识_聚合函数_06

2.2.1 数据库操作

MySQL基础知识_表名_07

注意事项
  • UTF8字符集长度为3字节,有些符号占4字节,所以推荐用utf8mb4字符集

2.2.2 表操作

MySQL基础知识_聚合函数_08

2.3 DML(数据操作语言)

MySQL基础知识_聚合函数_09

2.3.1 添加数据

MySQL基础知识_字段_10

MySQL基础知识_聚合函数_11

MySQL基础知识_聚合函数_12


注意事项
  • 字符串和日期类型数据应该包含在引号中
  • 插入的数据大小应该在字段的规定范围内

2.3.2 更新和删除数据

MySQL基础知识_表名_13


2.4 DQL(数据查询语言)

MySQL基础知识_表名_14

MySQL基础知识_表名_15

2.4.1 基础查询

MySQL基础知识_聚合函数_16

2.4.2 条件查询

SQL语句:

SELECT 字段列表 FROM 表名 WHERE 条件列表;

条件:

MySQL基础知识_字段_17

MySQL基础知识_聚合函数_18

2.4.3 聚合查询(聚合函数)

MySQL基础知识_表名_19

SQL语句

SELECT 聚合函数(字段列表) FROM 表名;

2.4.4 分组查询

SQL语句

SELECT 字段列表 FROM 表名 [ WHERE 条件 ] GROUP BY 分组字段名 [ HAVING 分组后的过滤条件 ];

where 和 having 的区别:

  • 执行时机不同:where是分组之前进行过滤,不满足where条件不参与分组;having是分组后对结果进行过滤。
  • 判断条件不同:where不能对聚合函数进行判断,而having可以。

注意事项

执行顺序:where > 聚合函数 > having

分组之后,查询的字段一般为聚合函数和分组字段,查询其他字段无任何意义

2.4.5 排序查询

SQL语句:

SELECT 字段列表 FROM 表名 ORDER BY 字段1 排序方式1, 字段2 排序方式2;

排序方式:

  • ASC: 升序(默认)
  • DESC: 降序
注意事项

如果是多字段排序,当第一个字段值相同时,才会根据第二个字段进行排序

2.4.6 分页查询

SQL语句

SELECT 字段列表 FROM 表名 LIMIT 起始索引, 查询记录数;

注意事项

  • 起始索引从0开始,起始索引 = (查询页码 - 1) * 每页显示记录数
  • 分页查询是数据库的方言,不同数据库有不同实现,MySQL是LIMIT
  • 如果查询的是第一页数据,起始索引可以省略,直接简写 LIMIT 10
DQL执行顺序

FROM -> WHERE -> GROUP BY -> SELECT -> ORDER BY -> LIMIT

2.5 DCL

MySQL基础知识_表名_20

注意事项
  • 主机名可以使用 % 通配
权限控制

常用权限:

MySQL基础知识_字段_21

MySQL基础知识_字段_22

注意事项
  • 多个权限用逗号分隔
  • 授权时,数据库名和表名可以用 * 进行通配,代表所有