【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;
相关文章:

【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 KE…...

【玩玩Vue】使用el-menu作为菜单时,通过一二级路由控制菜单高亮
原文作者:我辈李想 版权声明:文章原创,转载时请务必加上原文超链接、作者信息和本声明。 文章目录 前言一、Vue路由二、路由一级控制高亮(常用)1.vue中路由文件2.网址样式3.Vue文件4.$route的内容 三、路由二级控制高亮…...
9.2 【C语言】使用结构体数组
一个结构体变量中可以存放一组有关联的数据(如一个学生的学号、姓名、成绩等数据),如果有10个学生需要参加运算,显然应该用数组,这就是结构体数组。 9.2.1 定义结构体数组 例9.3 有三个候选人,每个选民只…...

leetcode原题: 最小值、最大数字
题目1:最小值 给定两个整数数组a和b,计算具有最小差绝对值的一对数值(每个数组中取一个值),并返回该对数值的差 示例: 输入:{1, 3, 15, 11, 2}, {23, 127, 235, 19, 8} 输出:3&…...
Prompt2Model: Generating Deployable Models from Natural Language Instructions
本文是LLM系列文章,针对《 Prompt2Model: Generating Deployable Models from Natural Language Instructions》的翻译。 Prompt2Model:从自然语言指令生成可部署模型 摘要1 引言2 Prompt2Model框架3 参考实现4 实验设置5 实验结果6 讨论与结论不足道德…...
前端埋点 sendBeacon 替代方式
看英文文档真的很重要 sendBeacon 限制比较多, 容易跨域, 跨域时候还必须指定请求头, 不能使用通配符来解决跨域 文档地址 文档里面说 fetch 其实可以代替 sendBeacon 原文: Note: For use cases that need the ability to send requests with methods other than POST, or …...

面试官问我MySQL和MariaDB的联系和区别,这我能不知道?
🏆作者简介,黑夜开发者,CSDN领军人物,全栈领域优质创作者✌,CSDN博客专家,阿里云社区专家博主,2023年6月CSDN上海赛道top4。 🏆数年电商行业从业经验,历任核心研发工程师…...

1.网络空间搜素引擎
网络空间搜素引擎 https://cybermap.kaspersky.com/cn 世界所以带有ip的网络设备互联组成的空间叫做网络空间 地址 :shodan.io 简介 : 这句话还是有点东西得 。 区别: 平常得搜素引擎主要搜网页,shadan可以搜所以带有ip地址…...

《安富莱嵌入式周报》第321期:开源12导联便携心电仪,PCB AI设计,150M示波器差分探头,谷歌全栈环境IDX,微软在Excel推出Python
周报汇总地址:嵌入式周报 - uCOS & uCGUI & emWin & embOS & TouchGFX & ThreadX - 硬汉嵌入式论坛 - Powered by Discuz! 视频版: https://www.bilibili.com/video/BV1ju4y1D7A8/ 《安富莱嵌入式周报》第321期:开源12导…...
前端开发必备的网站
前端开发必备的网站及官网 说明: 这里记录了我本人平时开发所用到的网站,对我还是有帮助的,后续会接着补充进来,一方面是为了记录,另一方面也可以帮助到大家… 网站名称及描述网址Elememt-ui (组件库)Elememt-ui&…...

Java运行时jar时终端输出的中文日志是乱码
运行Jar时在控制台输出的中文日志全是乱码,这是因为cmd/bash默认的编码是GBK,只要把cmd的编码改成UTF-8即可 两种方式修改:临时修改和注册表永久修改 临时修改 只对当前的cmd页面有效,关闭后重新打开都会恢复成GBK, 打开cmd&am…...

Vue框架--Vue中el和data的两种写法
data与el的2种写法 1.el有2种写法 (1).new Vue时候配置el属性。 (2).先创建Vue实例,随后再通过vm.$mount(#root)指定el的值。 2.data有2种写法 (1).对象式 (2).函数式 如何选择:目前哪种写法都可以,以后学习到组件时ÿ…...

【数据结构】 二叉树面试题讲解->贰
文章目录 🌏引言🎄[二叉树遍历](https://www.nowcoder.com/practice/4b91205483694f449f94c179883c1fef?tpId60&&tqId29483&rp1&ru/activity/oj&qru/ta/tsing-kaoyan/question-ranking)🐱👤题目描述&#…...
C和SystemVerilog联合仿真
想要联合仿真一个c程序和verilog表示的硬件,可以用如下方法(DPI): 先写一个.c文件funcs.c #include <stdio.h> #include "svdpi.h"extern int sayHello();void something() {printf("something\n");s…...

15-mongodb
一、 MongoDB 简介 1 什么是 MongoDB MongoDB 是一个基于分布式文件存储的数据库。由 C语言编写。在为 WEB 应用提供可扩展的高性能数据存储解决方案。 MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系…...

CSS学习笔记02
CSS笔记02 美化网页元素 为什么要美化网页 目的: 有效的传递页面信息美化网页、页面漂亮、才能吸引用户突显页面的主题提高用户的体验 span标签 span标签是短语内容的通用行内容器,它本身并没有任何特殊语义。 通常我们使用span标签来把我们想要重…...
为什么Java接口可以多继承,而类不可以?
个人主页:金鳞踏雨 个人简介:大家好,我是金鳞,一个初出茅庐的Java小白 目前状况:22届普通本科毕业生,几经波折了,现在任职于一家国内大型知名日化公司,从事Java开发工作 我的博客&am…...
自动化信息收集工具 水泽 使用教程
自动化信息收集工具 水泽 使用教程 1.水泽简介&安装2.使用教程3.测试使用1.水泽简介&安装 一条龙服务,只需要输入根域名即可全方位收集相关资产,并检测漏洞。也可以输入多个域名、C段IP等 开发语言:Python3 水泽下载地址 安装前置准备: 当前用户对该目录有写权…...
2023年全国职业院校技能大赛(高等职业教育组)“信息安全管理与评估”理论技能答案
理论技能与职业素养(100分) 2023年全国职业院校技能大赛(高等职业教育组) “信息安全管理与评估”理论技能 【注意事项】 1.理论测试前请仔细阅读测试系统使用说明文档,按提供的账号和密码登录测试系统进行测试&am…...

MATLAB 动态图GIF
MATLAB 动态图GIF 前言一、创建动态图(动态曲线、动态曲面)1. 创建动画曲线(MATLAB animatedline函数)2. 创建动画曲面 二. 保存动态图三、完整示例1. 动态曲线( y s i n ( x ) ysin(x) ysin(x))2. 动态曲…...

linux之kylin系统nginx的安装
一、nginx的作用 1.可做高性能的web服务器 直接处理静态资源(HTML/CSS/图片等),响应速度远超传统服务器类似apache支持高并发连接 2.反向代理服务器 隐藏后端服务器IP地址,提高安全性 3.负载均衡服务器 支持多种策略分发流量…...

(十)学生端搭建
本次旨在将之前的已完成的部分功能进行拼装到学生端,同时完善学生端的构建。本次工作主要包括: 1.学生端整体界面布局 2.模拟考场与部分个人画像流程的串联 3.整体学生端逻辑 一、学生端 在主界面可以选择自己的用户角色 选择学生则进入学生登录界面…...

K8S认证|CKS题库+答案| 11. AppArmor
目录 11. AppArmor 免费获取并激活 CKA_v1.31_模拟系统 题目 开始操作: 1)、切换集群 2)、切换节点 3)、切换到 apparmor 的目录 4)、执行 apparmor 策略模块 5)、修改 pod 文件 6)、…...
k8s从入门到放弃之Ingress七层负载
k8s从入门到放弃之Ingress七层负载 在Kubernetes(简称K8s)中,Ingress是一个API对象,它允许你定义如何从集群外部访问集群内部的服务。Ingress可以提供负载均衡、SSL终结和基于名称的虚拟主机等功能。通过Ingress,你可…...

cf2117E
原题链接:https://codeforces.com/contest/2117/problem/E 题目背景: 给定两个数组a,b,可以执行多次以下操作:选择 i (1 < i < n - 1),并设置 或,也可以在执行上述操作前执行一次删除任意 和 。求…...
【git】把本地更改提交远程新分支feature_g
创建并切换新分支 git checkout -b feature_g 添加并提交更改 git add . git commit -m “实现图片上传功能” 推送到远程 git push -u origin feature_g...
工业自动化时代的精准装配革新:迁移科技3D视觉系统如何重塑机器人定位装配
AI3D视觉的工业赋能者 迁移科技成立于2017年,作为行业领先的3D工业相机及视觉系统供应商,累计完成数亿元融资。其核心技术覆盖硬件设计、算法优化及软件集成,通过稳定、易用、高回报的AI3D视觉系统,为汽车、新能源、金属制造等行…...
CSS设置元素的宽度根据其内容自动调整
width: fit-content 是 CSS 中的一个属性值,用于设置元素的宽度根据其内容自动调整,确保宽度刚好容纳内容而不会超出。 效果对比 默认情况(width: auto): 块级元素(如 <div>)会占满父容器…...
#Uniapp篇:chrome调试unapp适配
chrome调试设备----使用Android模拟机开发调试移动端页面 Chrome://inspect/#devices MuMu模拟器Edge浏览器:Android原生APP嵌入的H5页面元素定位 chrome://inspect/#devices uniapp单位适配 根路径下 postcss.config.js 需要装这些插件 “postcss”: “^8.5.…...

技术栈RabbitMq的介绍和使用
目录 1. 什么是消息队列?2. 消息队列的优点3. RabbitMQ 消息队列概述4. RabbitMQ 安装5. Exchange 四种类型5.1 direct 精准匹配5.2 fanout 广播5.3 topic 正则匹配 6. RabbitMQ 队列模式6.1 简单队列模式6.2 工作队列模式6.3 发布/订阅模式6.4 路由模式6.5 主题模式…...