【MySQL】基础语法总结

MySQL 基础语句

一、DDL 数据库定义语言

1.1CREATE 创建

1.1.1 创建数据库

语法结构

CREATE DATABASE database_name;

示例

CREATE DATABASE demo;

1.1.2 创建表

语法结构

CREATE TABLE 表名 (1 数据类型,2 数据类型,...
);

示例

CREATE TABLE new_user (id INT PRIMARY KEY,name VARCHAR(50),age INT
);

1.1.3 创建视图

语法格式

create view <视图名> as select查询语句

示例

create view user_view as select id,user_id,user_name from `user`select * from user_view

1.1.4 创建索引

索引名建议以 idx开头。

语法格式

CREATE INDEX 索引名 ON 表名 (列名);

示例

CREATE INDEX idx_user_id ON user (user_id);

可通过explain进行验证

explain select * from user where user_id = 'wu'

在这里插入图片描述

1.2 ALTER 修改

1.2.1 添加列

语法结构

ALTER TABLE 表名 ADD 列名 数据类型;

示例

ALTER TABLE user ADD age int(11) DEFAULT null COMMENT '年龄';

1.2.2 删除列

语法结构

ALTER TABLE 表名 DROP 列名;

示例

ALTER TABLE user DROP user_age;

1.2.3 修改列名

语法结构

ALTER TABLE 表名 CHANGE 旧列名 新列名 数据类型;

示例

ALTER TABLE user CHANGE age user_age int(11) DEFAULT null COMMENT '新年龄';

1.2.4 修改列数据类型

语法结构

ALTER TABLE 表名 MODIFY 列名 新数据类型;

示例

ALTER TABLE user MODIFY user_age varchar(16);

1.2.5 修改表名

语法结构

ALTER TABLE 表名 RENAME TO 新表名;

示例

ALTER TABLE user RENAME TO new_user;

1.2.6 创建索引

语法结构

ALTER TABLE 表名 ADD INDEX 索引名 (列名);

示例

ALTER TABLE user ADD INDEX idx_user_id (user_id);

1.2.7 删除索引

语法结构

ALTER TABLE 表名 DROP INDEX 索引名;

示例

ALTER TABLE user DROP INDEX idx_user_id;

1.3 DROP 删除

1.3.1 删除库

语法结构

DROP DATABASE 数据库名称

示例

DROP DATABASE demo

1.3.2 删除表

语法结构

DROP TABLE 表名;

示例

DROP TABLE new_user;

1.3.3 删除视图

语法结构

DROP VIEW view_name;

示例

DROP VIEW user_view;

二、DML 数据库操作语言

2.1 INSERT

2.1.1 插入单条

    INSERT INTO USER (user_id,user_name,create_time,dept_id) VALUES('sa','saname',now(),1)

2.1.2 插入多条

INSERT INTO USER (user_id,user_name,create_time,dept_id
)
VALUES('sa1', 'saname1', now(), 1),('sa2', 'saname2', now(), 1),('sa3', 'saname3', now(), 1)

2.2 UPDATE

UPDATE USER
SET dept_id = 2
WHEREuser_id = 'sa2'

2.3 DELETE

delete from user where user_id = 'sa1'

三、DQL 数据库查询语言

3.1 基础语法结构

select <列名>
from <表名>
where <筛选条件>
group by <列名>
having <聚合筛选条件>
order by <排序字段>
limit <条数限制>

3.2 常见的查询语句

3.2.1 条件查询

大于、小于、不等于

大于

select * from user  where id > 5

小于

select * from user  where id < 5

不等于

select * from user  where id != 5select * from user  where id <> 5
BETWEEN 介于两者范围之内

注意:是包括在内,如下所示 大于等于,而不是大于

select * from user  where id BETWEEN 1 and 3
select * from user  where id >=1 and id <=3
In 在某个范围之内
select * from user  where id in (1,2,4)

3.2.2 逻辑查询

AND
select * from user  where id = 2 and user_id = 'wu'
OR
select * from user  where id =1 or user_id = 'wu'

3.2.3 DISTINCT 查询不重复

select DISTINCT(user_name) from user 

3.2.4 Like 模糊查询

select * from user  where user_id like 'sa%'

3.2.5 Order 排序

倒序

select * from user  order by id DESC

顺序

select * from user  order by id ASC

3.2.6 GROUP BY 分组

select * from user GROUP BY dept_id

3.2.7 HAVING 分组限制

select * from user GROUP BY dept_id HAVING id > 1

3.2.8 LIMIT 限制条数

select * from user limit 0,10;select * from user limit 1;

3.3 连接查询

3.3.1 内连接

在这里插入图片描述

SELECT*
FROMUSER t1
INNER JOIN dept t2 ON t1.dept_id = t2.id

3.3.2 全连接

查询出左表和右表所有数据,但是去除两表的重复数据;

在这里插入图片描述

SELECT*
FROMUSER t1
FULL JOIN dept t2 ON t1.dept_id = t2.id

以上代码执行会出现错误,因为MYSQL 不支持全连接!!!

3.3.3 左连接

左连接是左边表的所有数据都有显示出来,右边的表数据只显示共同有的那部分,没有对应的部分只能补空显示,所谓的左边表其实就是指放在left join的左边的表;

在这里插入图片描述

    select * from user t1 left join dept t2 on t1.dept_id  = t2.id

3.3.4 右连接

右连接正好是和左连接相反的,这里的右边也是相对right join来说的,在这个右边的表就是右表;

在这里插入图片描述

    select * from user t1 right join dept t2 on t1.dept_id  = t2.id   

3.4 常用函数

3.4.1 聚合函数

count

示例

select count(1) from userselect count(*) from userselect count(id) from user
sum

示例

select sum(id) from user
max、min

示例

select max(id) from userselect min(id) from user

3.4.2 LENGTH 字符长度

示例

select user_id , LENGTH(user_id) from user

3.4.3 CASE WHEN 分支函数

语法结构

CASE WHEN condition1 THEN result1WHEN condition2 THEN result2...ELSE result
END

示例

SELECTCASE WHEN dept_id is NULL THEN '无部门'ELSE '有部门'END as DeptId,user_id,user_nameFROMUSER;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/104132.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【strstr函数的介绍和模拟实现——超详细版】

strstr函数的介绍和模拟实现 strstr函数的介绍 资源来源于cplusplus网站 strstr函数声明&#xff1a; char *strstr( const char *str1, const char *str2 ); 它的作用其实就是&#xff1a; 在字符串str1中查找是否含有字符串str2&#xff0c;如果存在&#xff0c;返回str2在…

go-zero直连与etcd服务注册中心

go-zero中直连方式 在使用grpc是最重要的就是pb文件了&#xff0c;生成的pb文件&#xff0c;通过pb文件可以生成grpc的客户端和服务端&#xff0c;那么客户端和服务端就可以直连了&#xff0c;再次基础上可以引入etcd实现服务注册。 所有的代码都需要开发者编写&#xff0c;包…

7 个适合初学者的项目,可帮助您开始使用 ChatGPT

推荐&#xff1a;使用 NSDT场景编辑器快速搭建3D应用场景 从自动化日常任务到预测复杂模式&#xff0c;人工智能正在重塑行业并重新定义可能性。 当我们站在这场人工智能革命中时&#xff0c;我们必须了解它的潜力并将其整合到我们的日常工作流程中。 然而。。。我知道开始使…

企业架构LNMP学习笔记21

URL重写&#xff1a; ngx_http_rewrite_module 模块用于使用PCRE正则表达式更改请求URI&#xff0c;返回重定向&#xff0c;以及有条件地选择配置。 return 该指令用于结束结束规则的执行并返回状态码给客户端。 403 Forbidden.服务器已经理解请求,但是拒绝执行它 404 Not…

音频——I2S DSP 模式(五)

I2S 基本概念飞利浦(I2S)标准模式左(MSB)对齐标准模式右(LSB)对齐标准模式DSP 模式TDM 模式 文章目录 DSP formatDSP A时序图逻辑分析仪抓包 DSP B时序图逻辑分析仪抓包 DSP format DSP/PCMmode 分为 Mode-A 和 Mode-B 共 2 种模式。不同芯⽚有的称为 PCM mode 有的称为 DSP m…

ms17-010(永恒之蓝)漏洞复现

目录 前言 一、了解渗透测试流程 二、使用nmap工具对win7进行扫描 2.1 2.2 2.3 2.4 2.5 三、尝试ms17-010漏洞利用 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 3.10 3.11 四、结果展示 4.1 4.2 4.3 4.4 4.5 总结 前言 ms17-010&#xff08;永恒之蓝&am…

说说分布式系统容器化

继上一篇浅谈高并发分布式架构演进路径&#xff0c;单体服务完成分布式架构改造&#xff0c;转型为微服务。随着微服务数量的急剧增加&#xff0c;跨应用、跨系统的调用越来越多&#xff0c;调用关系和依赖关系日益复杂&#xff0c;这种复杂性增加了系统的设计、实施和维护的难…

【精品】NLP自然语言处理学习路线(知识体系)

当前&#xff0c;大规模预训练语言模型的强大对话问答、文本生成能力&#xff0c;将自然语言处理&#xff08;NLP&#xff09;的研究和应用推向了新一轮的热潮。NLP是计算机科学、人工智能和语言学等学科交叉的前沿领域。NLP的应用和研究范围非常的广泛&#xff0c;个人是没有找…

群晖NAS教程(二十四)、利用ContainerManager安装jellyfin

群晖NAS教程(二十四)、利用ContainerManager安装jellyfin 一、下载nyamisaka/jellyfin镜像 二、运行jellyfin容器并配置 容器名称可以随便填写 这里映射端口设置为8096&#xff0c;并且映射了两个配置文件夹和一个电影的目录。 点击完成。 这里看到已经运行起来了。 三、jelly…

Vue项目案例-头条新闻

目录 1.项目介绍 1.1项目功能 1.2数据接口 1.3设计思路 2.创建项目并安装依赖 2.1创建步骤 2.2工程目录结构 2.3配置文件代码 3.App主组件开发 3.1设计思路 3.2对应代码 4.共通组件开发 4.1设计思路 4.2对应代码 5.头条新闻组件开发 5.1设计思路 5.2对应代码 …

降低LLM的幻觉风险:实用策略与技术

一、前言 近年来&#xff0c;大语言模型的快速发展为构建更智能和更人性化的AI系统提供了很多可能性。像GPT-3.5、GPT-4、Bard、Claude 2和LLaMa 2等大语言模型 (LLM) 在个人助理或聊天机器人应用领域展示了强大的潜力&#xff0c;可以生成流畅而令人惊叹的响应来回答用户的问…

【无源谐波滤波器通常用于电力系统中的谐波抑制】用于抑制电力系统谐波的无源谐波滤波器(Simulink实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…