【MySQL成神之路】MySQL常用语法总结

news2025/5/20 19:36:23

目录

MySQL 语法总结

数据库操作

表操作

数据操作

查询语句

索引操作

约束

事务控制

视图操作

存储过程和函数

触发器

用户和权限管理

数据库操作

  • 创建数据库

CREATE DATABASE database_name; 
  • 选择数据库

USE database_name; 
  • 删除数据库

DROP DATABASE database_name; 

表操作

  • 创建表

CREATE TABLE table_name ( column1 datatype constraints, column2 datatype constraints, ... PRIMARY KEY (column_name) ); 
  • 修改表结构

ALTER TABLE table_name ADD column_name datatype; ALTER TABLE table_name MODIFY COLUMN column_name new_datatype; ALTER TABLE table_name DROP COLUMN column_name; 
  • 删除表

DROP TABLE table_name; 

数据操作

  • 插入数据

INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...); 
  • 更新数据

UPDATE table_name SET column1 = value1, column2 = value2, ... WHERE condition; 
  • 删除数据

DELETE FROM table_name WHERE condition; 

查询语句

  • 基本查询

SELECT column1, column2, ... FROM table_name WHERE condition ORDER BY column_name [ASC|DESC] LIMIT number; 
  • 聚合函数

SELECT COUNT(*) FROM table_name; SELECT SUM(column_name) FROM table_name; SELECT AVG(column_name) FROM table_name; SELECT MAX(column_name) FROM table_name; SELECT MIN(column_name) FROM table_name; 
  • 分组查询

SELECT column_name, COUNT(*) 
FROM table_name 
GROUP BY column_name HAVING condition; 
  • 连接查询

内连接 SELECT a.column1, b.column2 FROM table1 a INNER JOIN table2 b ON a.key = b.key;
左连接 SELECT a.column1, b.column2 FROM table1 a LEFT JOIN table2 b ON a.key = b.key;
右连接 SELECT a.column1, b.column2 FROM table1 a RIGHT JOIN table2 b ON a.key = b.key; 
  • 子查询

SELECT column_name FROM table_name WHERE column_name IN (SELECT column_name FROM another_table); 

索引操作

  • 创建索引

CREATE INDEX index_name ON table_name (column_name); 
  • 创建唯一索引

CREATE UNIQUE INDEX index_name ON table_name (column_name); 
  • 删除索引

DROP INDEX index_name ON table_name; 

约束

  • 主键约束

CREATE TABLE table_name ( id INT PRIMARY KEY, ... ); 
  • 外键约束

CREATE TABLE orders ( order_id INT PRIMARY KEY, customer_id INT, FOREIGN KEY (customer_id) REFERENCES customers(customer_id) ); 
  • 非空约束

CREATE TABLE table_name ( column_name datatype NOT NULL, ... ); 
  • 唯一约束

CREATE TABLE table_name ( column_name datatype UNIQUE, ... ); 
  • 默认值

CREATE TABLE table_name ( column_name datatype DEFAULT default_value, ... ); 

事务控制

  • 开始事务

START TRANSACTION; 
  • 提交事务

COMMIT; 
  • 回滚事务

ROLLBACK; 

视图操作

  • 创建视图

CREATE VIEW view_name AS SELECT column1, column2, ... FROM table_name WHERE condition; 
  • 使用视图

SELECT * FROM view_name; 
  • 删除视图

DROP VIEW view_name; 

存储过程和函数

  • 创建存储过程

DELIMITER // CREATE PROCEDURE procedure_name(IN param1 datatype, OUT param2 datatype) BEGIN -- SQL语句 END // DELIMITER ; 
  • 调用存储过程

CALL procedure_name(param1, @param2); 
  • 创建函数

DELIMITER // CREATE FUNCTION function_name(param1 datatype) RETURNS datatype BEGIN -- SQL语句 RETURN value; END // DELIMITER ; 
  • 调用函数

SELECT function_name(param1); 

触发器

  • 创建触发器

DELIMITER // CREATE TRIGGER trigger_name BEFORE/AFTER INSERT/UPDATE/DELETE ON table_name FOR EACH ROW BEGIN -- 触发器逻辑 END // DELIMITER ; 
  • 删除触发器

DROP TRIGGER trigger_name; 

用户和权限管理

  • 创建用户

CREATE USER 'username'@'host' IDENTIFIED BY 'password'; 
  • 授予权限

GRANT ALL PRIVILEGES ON database_name.* TO 'username'@'host'; GRANT SELECT, INSERT ON database_name.table_name TO 'username'@'host'; 
  • 撤销权限

REVOKE ALL PRIVILEGES ON database_name.* FROM 'username'@'host'; 
  • 删除用户

DROP USER 'username'@'host'; 
  • 刷新权限

FLUSH PRIVILEGES; 

以上是MySQL的基本语法总结,涵盖了数据库、表、数据操作、查询、索引、约束、事务、视图、存储过程、函数、触发器以及用户权限管理等各个方面。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux动静态库制作与原理

什么是库 库是写好的现有的,成熟的,可以复用的代码。现实中每个程序都要依赖很多基础的底层库,不可能每个人的代码都从零开始,因此库的存在意义非同寻常。 本质上来说库是一种可执行代码的二进制形式,可以被操作系统…

ffmpeg 把一个视频复制3次

1. 起因, 目的: 前面我写过,使用 python 把一个视频复制3次但是速度太慢了,我想试试看能否改进。而且我想换一种新的视频处理思路,并试试看速度如何。 2. 先看效果 效果就是能行,而且速度也快。 3. 过程: 代码 1…

GPT/Claude3国内免费镜像站更新 亲测可用

无限次使用:无限制的提问次数,不设上限,随心所欲。 无需魔法、稳定流畅:操作简便,无需复杂设置,即可享受稳定流畅的服务。 手机和电脑均能用:轻松适配手机和电脑,使用体验更佳。 …

Python:操作Excel按行写入

Python按行写入Excel数据,5种实用方法大揭秘! 在日常的数据处理和分析工作中,我们经常需要将数据写入到Excel文件中。Python作为一门强大的编程语言,提供了多种库和方法来实现将数据按行写入Excel文件的功能。本文将详细介绍5种常见的Python按行写入Excel数据的方法,并附上…

Redis进阶知识

Redis 1.事务2. 主从复制2.1 如何启动多个Redis服务器2.2 监控主从节点的状态2.3 断开主从复制关系2.4 额外注意2.5拓扑结构2.6 复制过程2.6.1 数据同步 3.哨兵选举原理注意事项 4.集群4.1 数据分片算法4.2 故障检测 5. 缓存5.1 缓存问题 6. 分布式锁 1.事务 Redis的事务只能保…

12.vue整合springboot首页显示数据库表-实现按钮:【添加修改删除查询】

vue整合springboot首页显示数据库表:【添加修改删除查询】 提示:帮帮志会陆续更新非常多的IT技术知识,希望分享的内容对您有用。本章分享的是node.js和vue的使用。前后每一小节的内容是存在的有:学习and理解的关联性。【帮帮志系…

bisheng系列(一)- 本地部署(Docker)

目录 一、导读 二、说明 1、镜像说明 2、本节内容 三、docker部署 1、克隆代码 2、运行镜像 3、可能的错误信息 四、页面测试 1、注册用户 2、登陆成功 3、添加模型 一、导读 环境:Ubuntu 24.04、Windows 11、WSL 2、Python 3.10 、bisheng 1.1.1 背景…

如何用Python批量解压ZIP文件?快速解决方案

如何用Python批量解压ZIP文件?快速解决方案 文章目录 **如何用Python批量解压ZIP文件?快速解决方案**代码结果详细解释 话不多说,先上干货!!! 代码 import os import zipfiledef unzip_file(dir_path: str…

DriveGenVLM:基于视觉-语言模型的自动驾驶真实世界视频生成

《DriveGenVLM: Real-world Video Generation for Vision Language Model based Autonomous Driving》2024年8月发表,来自哥伦比亚大学的论文。 自动驾驶技术的进步需要越来越复杂的方法来理解和预测现实世界的场景。视觉语言模型(VLM)正在成…

企业标准信息公共服务平台已开放标准通编辑器访问入口

标准通 数字化标准编辑器 专业、高效、便捷 企业标准信息公共服务平台 近日,企业标准信息公共服务平台已开放标准通编辑器访问入口,可进入官网指定版块使用! 核心功能亮点 解决企业痛点 传统标准编制,需反复核对格式、逐条…

进阶-数据结构部分:1、数据结构入门

飞书文档https://x509p6c8to.feishu.cn/wiki/HRLkwznHiiOgZqkqhLrcZNqVnLd 一、存储结构 顺序存储 链式存储 二、常用数据结构 2.1、栈 先进后出 场景: 后退/前进功能:网页浏览器中的后退和前进按钮可以使用栈来实现。在浏览网页时,每次…

React 19中useContext不需要Provider了。

文章目录 前言一、React 19中useContext移除了Provider&#xff1f;二、使用步骤总结 前言 在 React 19 中&#xff0c;useContext 的使用方式有所更新。开发者现在可以直接使用 作为提供者&#xff0c;而不再需要使用 <Context.Provider>。这一变化简化了代码结构&…

Json schema校验json字符串(networknt/json-schema-validator库)

学习链接 json-schema官网 - 英文 jsonschemavalidator 可在线校验网站 networknt的json-schema-validator github地址 networknt的json-schema-validator 个人gitee地址 - 里面有md文档说明和代码示例 JSON Schema 入门指南&#xff1a;如何定义和验证 JSON 数据结构 JS…

交易所开发:构建功能完备的金融基础设施全流程指南

交易所开发&#xff1a;构建功能完备的金融基础设施全流程指南 ——从技术架构到合规安全的系统性解决方案 一、开发流程&#xff1a;从需求分析到运维优化 开发一款功能完备的交易所需要遵循全生命周期管理理念&#xff0c;涵盖市场定位、技术实现、安全防护和持续迭代四大阶…

Axure疑难杂症:统计分析页面引入Echarts示例动态效果

亲爱的小伙伴,在您浏览之前,烦请关注一下,在此深表感谢! Axure产品经理精品视频课已登录CSDN可点击学习https://edu.csdn.net/course/detail/40420 课程主题:统计分析页面引入Echarts示例动态效果 主要内容:echart示例引入、大小调整、数据导入 应用场景:统计分析页面…

展锐Android14及更新版本split_build编译方法

更改split_build.py文件内容后按照下面方法编译&#xff1a; zip -r sys/vendor/sprd/release/split_build.zip sys/vendor/sprd/release/split_build/ rm -r sys/vendor/sprd/release/split_build/ cp -r vnd/vendor/sprd/release/split_build/ sys/vendor/sprd/release/cd s…

青少年ctf平台应急响应-应急响应2

题目&#xff1a; 当前服务器被创建了一个新的用户&#xff0c;请提交新用户的用户名&#xff0c;得到的结果 ssh rootchallenge.qsnctf.com -p 30327 这个命令用于通过 SSH 协议连接到指定的远程服务器。具体解释如下&#xff1a; ssh&#xff1a;这是在 Unix-like 系统中…

k8s监控方案实践补充(二):使用kube-state-metrics获取资源状态指标

k8s监控方案实践补充&#xff08;二&#xff09;&#xff1a;使用kube-state-metrics获取资源状态指标 文章目录 k8s监控方案实践补充&#xff08;二&#xff09;&#xff1a;使用kube-state-metrics获取资源状态指标一、Metrics Server简介二、kube-state-metrics实战部署1. 创…

基于SpringBoot的小型民营加油站管理系统

作者&#xff1a;计算机学姐 开发技术&#xff1a;SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等&#xff0c;“文末源码”。 专栏推荐&#xff1a;前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码、微信小程序源码 精品专栏&#xff1a;…

技术架构缺乏灵活性,如何应对变化需求?

技术架构缺乏灵活性会导致企业在面临市场变化、用户需求演化或新技术出现时难以及时响应&#xff0c;直接影响产品更新速度与竞争力。要有效应对变化需求&#xff0c;需要从引入模块化架构设计、推动微服务拆分、加强架构治理与决策机制、构建中台与平台化能力等方面系统推进。…