云计算百科
云计算领域专业知识百科平台

【MYSQL基础语法总结】

SQL语句

SQL:结构化查询语言。一门操作关系型数据库的编程语言,定义操作所有关系型数据库的统一标准。SQL语句根据其功能被分为四大类:DDL、DML、DQL、DCL 。

分类

全称

说明

DDL

Data Definition Language

数据定义语言,用来定义数据库对象(数据库,表,字段)

DML

Data Manipulation Language

数据操作语言,用来对数据库表中的数据进行增删改

DQL

Data Query Language

数据查询语言,用来查询数据库中表的记录

DCL

Data Control Language

数据控制语言,用来创建数据库用户、控制数据库的访问权限

DDL语句

数据库操作

我们在进行数据库设计,需要使用到刚才所介绍SQL分类中的DDL语句。

DDL英文全称是Data Definition Language(数据定义语言),用来定义数据库对象(数据库、表)。

DDL中数据库的常见操作:查询、创建、使用、删除。

查询数据库
  • 查询所有数据库

  • 查询当前数据库

创建数据库
  • 语法:

 使用数据库
  • 语法:

删除数据库
  • 语法:

表操作

包含四个部分:创建表、查询表、修改表、删除表。

创建
  • 语法:

  • 注意: [ ] 中的内容为可选参数; 最后一个字段后面没有逗号

表操作-其他操作

可以跳过,直接看后面的绿色文字

表结构的查询、修改、删除操作

  • 修改数据库表结构的具体语法:

添加字段

修改字段

删除字段

修改表名

删除表结构

关于表结构的查看、修改、删除操作,工作中一般都是直接基于图形化界面操作。

约束

  • 概念:所谓约束就是作用在表中字段上的规则,用于限制存储在表中的数据。
  • 作用:就是来保证数据库当中数据的正确性、有效性和完整性。(后面的学习会验证这些)
  • 在MySQL数据库当中,提供了以下5种约束:

约束

描述

关键字

非空约束

限制该字段值不能为null

not null

唯一约束

保证字段的所有数据都是唯一、不重复的

unique

主键约束

主键是一行数据的唯一标识,要求非空且唯一

primary key

默认约束

保存数据时,如果未指定该字段值,则采用默认值

default

外键约束

让两张表的数据建立连接,保证数据的一致性和完整性

foreign key

注意:约束是作用于表中字段上的,可以在创建表/修改表的时候添加约束。

主键自增:auto_increment

  • 每次插入新的行记录时,数据库自动生成id字段(主键)下的值
  • 具有auto_increment的数据列是一个正数序列开始增长(从1开始自增)

数据类型

主要分为三类:数值类型、字符串类型、日期时间类型。

1). 数值类型

类型

大小

有符号(SIGNED)范围

无符号(UNSIGNED)范围

描述

TINYINT

1byte

(-128,127)

(0,255)

小整数值

SMALLINT

2bytes

(-32768,32767)

(0,65535)

大整数值

MEDIUMINT

3bytes

(-8388608,8388607)

(0,16777215)

大整数值

INT/INTEGER

4bytes

(-2147483648,2147483647)

(0,4294967295)

大整数值

BIGINT

8bytes

(-2^63,2^63-1)

(0,2^64-1)

极大整数值

FLOAT

4bytes

(-3.402823466 E+38,3.402823466351 E+38)

0 和 (1.175494351 E-38,3.402823466 E+38)

单精度浮点数值

DOUBLE

8bytes

(-1.7976931348623157 E+308,1.7976931348623157 E+308)

0 和 (2.2250738585072014 E-308,1.7976931348623157 E+308)

双精度浮点数值

DECIMAL

依赖于M(精度)和D(标度)的值

依赖于M(精度)和D(标度)的值

小数值(精确定点数)

2). 字符串类型

类型

大小

描述

CHAR

0-255 bytes

定长字符串(需要指定长度)

VARCHAR

0-65535 bytes

变长字符串(需要指定长度)

TINYBLOB

0-255 bytes

不超过255个字符的二进制数据

TINYTEXT

0-255 bytes

短文本字符串

BLOB

0-65 535 bytes

二进制形式的长文本数据

TEXT

0-65 535 bytes

长文本数据

MEDIUMBLOB

0-16 777 215 bytes

二进制形式的中等长度文本数据

MEDIUMTEXT

0-16 777 215 bytes

中等长度文本数据

LONGBLOB

0-4 294 967 295 bytes

二进制形式的极大文本数据

LONGTEXT

0-4 294 967 295 bytes

极大文本数据

char 与 varchar 都可以描述字符串,char是定长字符串,指定长度多长,就占用多少个字符,和字段值的长度无关 。而varchar是变长字符串,指定的长度为最大占用长度 。相对来说,char的性能会更高些。

3). 日期时间类型

类型

大小

范围

格式

描述

DATE

3

1000-01-01 至 9999-12-31

YYYY-MM-DD

日期值

TIME

3

-838:59:59 至 838:59:59

HH:MM:SS

时间值或持续时间

YEAR

1

1901 至 2155

YYYY

年份值

DATETIME

8

1000-01-01 00:00:00 至 9999-12-31 23:59:59

YYYY-MM-DD HH:MM:SS

混合日期和时间值

TIMESTAMP

4

1970-01-01 00:00:01 至 2038-01-19 03:14:07

YYYY-MM-DD HH:MM:SS

混合日期和时间值,时间戳

DML语句

DML英文全称是Data Manipulation Language(数据操作语言),用来对数据库中表的数据记录进行增、删、改操作。

增加(insert)

语法

修改(update)

语法

删除(delete)

语法

DQL语句(重要)

介绍

DQL英文全称是Data Query Language(数据查询语言),用来查询数据库表中的记录。

查询关键字:SELECT

语法

DQL查询语句,语法结构如下:

基本查询

在基本查询的DQL语句中,不带任何的查询条件。

语法如下:

  • 查询多个字段

条件查询

语法:

常用的比较运算符如下:

比较运算符

功能

>

大于

>=

大于等于

<

小于

<=

小于等于

=

等于

<> 或 !=

不等于

between … and …

在某个范围之内(含最小、最大值)

in(…)

在in之后的列表中的值,多选一

like 占位符

模糊匹配(_匹配单个字符, %匹配任意个字符)

is null

是null

常用的逻辑运算符如下:

逻辑运算符

功能

and 或 &&

并且 (多个条件同时成立)

or 或 ||

或者 (多个条件任意一个成立)

not 或 !

非 , 不是

注意:查询为NULL的数据时,不能使用 = null 或 !=null 。得使用 is null 或 is not null。

聚合函数

常用聚合函数:

函数

功能

count

统计数量

max

最大值

min

最小值

avg

平均值

sum

求和

  • count :按照列去统计有多少行数据。
    • 在根据指定的列统计的时候,如果这一列中有null的行,该行不会被统计在其中。
  • sum :计算指定列的数值和,如果不是数值类型,那么计算结果为0
  • max :计算指定列的最大值
  • min :计算指定列的最小值
  • avg :计算指定列的平均值

分组查询

语法:

select  字段列表  from  表名  [where 条件]  group by 分组字段名  [having 分组后过滤条件];

  • 案例1:根据性别分组 , 统计男性和女性员工的数量

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

where与having区别(面试题)

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

排查查询

排序在日常开发中是非常常见的一个操作,有升序排序,也有降序排序。

语法:

分页查询

分页查询语法:

select  字段列表  from  表名  limit  起始索引, 查询记录数 ;

如果查询的是第1页数据,起始索引可以省略,直接简写为:limit 条数

欢迎 👍点赞✍评论⭐收藏,欢迎指正

赞(0)
未经允许不得转载:网硕互联帮助中心 » 【MYSQL基础语法总结】
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!