mysql

1.数据库相关概念

名称 全称 简称
数据库 存储数据的仓库,数据是有组织的进行存储 DataBase(DB)
数据库管理系统 操纵和管理数据库的大型软件 Database Management System(DBMS)
SQL 操作关系数据库的编程语言,定义了一套操作关系数据库统一标准 Structured Query Language(SQL)
  • 主流的关系型数据库管理系统

    Oracle 、MySQl、SQL server、PostgreSQL

2.MySQL数据库

1.客户端链接

方式一:MySQL提供的客户端命令工具

QQ截图20220512165146

QQ截图20220512165212

方式二:系统自带的命令行工具执行指令

QQ截图20220512165501

2.关系型数据库(DBMS)

概念:建立在关系模型基础上,由多张相互连接的二维表组成的数据库

特点:

1.使用表存储数据,格式统一,便于维护

2.使用SQL语言操作,标准统一,使用方便

3.数据模型

QQ截图20220512170201

3.SQL

1.SQL通用语法

1.SQL语句可以单行或多行书写,以分号结尾

2.SQL语句可以使用空格/缩进来增强语句的可读性

3.MySQL数据库的SQL语句不区分大小写,关键字建议使用大写

4.注释:

  • 单行注释:-- 注释内容 或 # 注释内容(MySQL特有)
  • 多行注释:/* 注释内容 */

2.SQL分类

分类 全称 说明
DDL Data Definition Language 数据定义语言,用来定义数据库对象(数据库,表,字段)
DML Data Manipulation Language 数据操作语言,用来对数据库表中的数据进行增删改
DQL Data Query Language 数据查询语言,用来查询数据库中表的记录
DCL Data Control Language 数据控制语言,用来创建数据库用户、控制数据库的访问权限

3.DDL

1.DDL-数据库操作

1.查询

查询所有数据库
SHOW DATABASES;
查询当前数据库
SELECT DATABASE();

2.创建

CREATE DATABASE[IF NOT NULL] 数据库名 [DEFAULT CHARSET 字符集] [COLLATE 排序规则];

3.删除

DROP DATABASE[IF EXISTS]数据库名;

4.使用

USE 数据库名;

2.DDL-表操作-查询

1.查询当前数据库所有表

SHOW TABLES;

2.查询表结构

DESC 表名;

3.查询指定表的见表语句

SHOW CREATE TABLE 表名;

3.DDL-表操作-创建

CREATE TABLE 表名{
	字段1 字段1类型[COMMENT 字段1注释],
	字段2 字段2类型[COMMENT 字段2注释],
	字段3 字段3类型[COMMENT 字段3注释],
	.........
	字段n 字段n类型[COMMENT 字段n注释]
}[COMMENT 表注释];

4.DDL-表操作-数据类型

数值类型、字符串类型、日期时间类型

QQ截图20220512195524

QQ截图20220512202521

QQ截图20220512202941

5.DDL-表操作-修改

  • 添加字段
ALTER TABLE 表名 ADD 字段名 类型(长度)[COMMENT 注释] [约束];
  • 修改字段
ALTER TABLE 表名 MODIFY 字段名 新数据类型(长度);
  • 修改字段名和字段类型
ALTER TABLE 表名 CHANGE 旧字段名 新字段名 类型(长度) [COMMENT 注释] [约束];
  • 删除字段
ALTER TABLE 表名 DROP 字段名;
  • 修改表名
ALTER TABLE 表名 RENAME TO 新表名;

6.DDL-表操作-删除

  • 删除表
DROP TABLE[IF EXISTS] 表名;
  • 删除指定表,并重新创建该表
TRUNCATE TABLE 表名;

4.DML

1.DML-介绍

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

2.DML-添加数据

1.给指定字段添加数据

insert into 表名 (字段名1,字段名2,....) values (值1,值2,...);

2.给全部字段添加数据

insert into 表名 values (值1,值2,...);

3.批量添加数据

insert into 表名 (字段名1,字段名2,....) values (值1,值2,...),(值1,值2,....),(值1,值2,...);
insert into 表名 values (值1,值2,...),(值1,值2,...),(值1,值2,...);

3.DML-修改数据

update 表名 set 字段名1=1,字段名2=2,...[where 条件];

4.DML-删除数据

delete from 表名 [where 条件];

QQ截图20220515135026

5.DQL

1.DQL-介绍

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

查询关键字:**[select]()**

2.DQL-语法

select 
	字段列表
from
	表名列表
where
	条件列表
group by
	分组字段列表
having
	分组后条件列表
order by
	排序字段列表
limit 
	分页参数

QQ截图20220515140541

3.DQL-基本查询

1.查询多个字段

select 字段1,字段2,字段3,.... from 表名;
select * from 表名;

2.设置别名

select 字段1[as 别名1],字段2[as 别名2],.... from 表名;

3.去除重复记录

select distinct 字段列表 from 表名;

4.DQL-条件查询

1.语法

select 字段列表 from 表名 where 条件列表;

2.条件

QQ截图20220515154200

5.DQL-聚合函数

1.介绍

将一列数据作为一个整体,进行纵向计算

2.常见聚合函数

函数 功能
count 统计数量
max 最大值
min 最小值
avg 平均值
sum 求和

3.语法

select 聚合函数(字段列表)from 表名;

(所有的null值不参与聚合函数运算)

6.DQL-分组查询

1.语法

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

2.where和having区别

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

注意:

7.DQL-排序查询

1.语法

select 字段列表 from 表名 order by 字段1 排序方式1,字段2 排序方式2

2.排序方式

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

8.DQL-分页查询

语法

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

注意:

9.DQL-执行顺序

select				4
	字段列表
from    			1
	表名列表
where    			2
	条件列表
group by    		3
	分组字段列表
having    			
	分组后条件列表
order by    		5
	排序字段列表
limit     			6
	分页参数

6.DCL

1.DCL-介绍

DCL英文全称是Data Control Language(数据控制语言),用来管理数据库用户、控制数据库访问权限。

2.DCL-管理用户

1.查询用户

use mysql;
select * from user;

2.创建用户

create user '用户名' @ '主机名' identified by '密码';

3.修改用户密码

alter user '用户名' @ '主机名' identified with mysql_native_password by '新密码';

4.删除用户

drop user '用户名' @ '主机名';

注意:

QQ截图20220516203822

3.DCL-权限控制

MySQL中定义了很多种权限,但是常用的就以下几种:

QQ截图20220516204138

1.查询权限

show grants for '用户名' @ '主机名'

2.授予权限

grant 权限列表 on 数据库名.表名 to '用户名' @ '主机名'

3.撤销权限

revoke 权限列表 on 数据库名.表名 from '用户名' @ '主机名'

注意:

QQ截图20220516204956

4.函数

函数:是指一段可以直接被另一段程序调用的程序或代码。

1.字符串函数

MySQL中内置了很多字符串函数,常用的几个如下:

QQ截图20220517154456

select 函数(参数);

2.数值函数

常见的数值函数如下:

QQ截图20220517195124

select 函数(参数);

3.日期函数

常见的日期函数如下:

QQ截图20220517200233

select 函数(参数);

4.流程函数

流程控制函数在SQL语句中实现条件筛选,从而提高语句的效率

QQ截图20220517201500

QQ截图20220517202343

5.约束

6.多表查询

7.事务

posted @   小郑头  阅读(31)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示