MySQL命令大全和实例

文章目录

      • 1. 数据库管理
      • 2. 表操作
      • 3. 数据操作(CRUD)
      • 4. 条件查询与排序
      • 5. 聚合函数和分组
      • 6. 用户权限管理
      • 7. 其他操作
      • 8. 视图操作
      • 9. 索引操作
      • 10. 子查询与连接查询
      • 11. 插入多行数据
      • 12. 删除满足特定条件的表中所有数据
      • 13. 清空表(保留表结构)
      • 14. 查看当前数据库中的所有表
      • 15. 数据库备份与恢复(在shell中执行)
      • 16. 更新多个列
      • 17. 分页查询数据
      • 18. 复制表结构(不复制数据)
      • 19. 检查表是否存在
      • 20. 删除重复行
      • 21. 修改数据库字符集
      • 22. 查看服务器状态
      • 23. 查看当前会话变量
      • 24. 创建触发器
      • 25. 删除触发器
      • 26. 创建存储过程
      • 27. 查看事件调度器(定时任务)
      • 28. 删除事件调度器
      • 29. 创建分区表
      • 30. 修改表引擎

当然,以下按照功能分类列举MySQL命令大全的部分内容及其示例:

1. 数据库管理

  • 创建数据库
CREATE DATABASE my_database CHARACTER SET utf8 COLLATE utf8_general_ci;
  • 查看所有数据库
SHOW DATABASES;
  • 选择当前工作数据库
USE my_database;
  • 删除数据库
DROP DATABASE IF EXISTS my_database;

2. 表操作

  • 创建表
CREATE TABLE users (
    id INT AUTO_INCREMENT PRIMARY KEY,
    username VARCHAR(50) NOT NULL,
    email VARCHAR(100),
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
  • 查看表结构
DESCRIBE users;
  • 修改表结构
ALTER TABLE users ADD COLUMN last_login DATETIME;
  • 重命名表
RENAME TABLE users TO members;
  • 删除表
DROP TABLE users;

3. 数据操作(CRUD)

  • 插入数据
INSERT INTO users (username, email) VALUES ('JohnDoe', 'john@example.com');
  • 查询数据
SELECT * FROM users;

或者更复杂的查询:

SELECT username, COUNT(*) as total_entries FROM users GROUP BY username;
  • 更新数据
UPDATE users SET email = 'new@example.com' WHERE username = 'JohnDoe';
  • 删除数据
DELETE FROM users WHERE id = 1;

4. 条件查询与排序

  • 条件筛选
SELECT * FROM users WHERE age > 18 AND gender = 'M';
  • 排序结果
SELECT * FROM users ORDER BY username DESC;

5. 聚合函数和分组

  • 计算总数
SELECT COUNT(*) FROM users;
  • 求平均值
SELECT AVG(salary) FROM employees;
  • 分组统计
SELECT department, COUNT(*) FROM employees GROUP BY department;

6. 用户权限管理

  • 创建用户
CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';
  • 授予权限
GRANT SELECT, INSERT, UPDATE ON database_name.* TO 'newuser'@'%';
  • 撤销权限
REVOKE ALL PRIVILEGES ON database_name.* FROM 'newuser'@'%';
  • 更改用户密码
SET PASSWORD FOR 'newuser'@'%' = PASSWORD('new_password');

7. 其他操作

  • 事务处理
START TRANSACTION;
-- 执行一系列操作
COMMIT;
  • 备份与恢复(通常在Shell中执行):
# 备份整个数据库
mysqldump -u 用户名 -p 数据库名 > backup.sql

# 恢复数据库
mysql -u 用户名 -p 数据库名 < backup.sql

8. 视图操作

  • 创建视图
CREATE VIEW user_emails AS 
SELECT username, email FROM users;
  • 查询视图
SELECT * FROM user_emails;
  • 修改视图
CREATE OR REPLACE VIEW user_emails AS 
SELECT username, email, created_at FROM users;
  • 删除视图
DROP VIEW IF EXISTS user_emails;

9. 索引操作

  • 创建索引
CREATE INDEX idx_username ON users(username);
  • 查看索引
SHOW INDEX FROM users;
  • 删除索引
DROP INDEX idx_username ON users;

10. 子查询与连接查询

  • 子查询
SELECT * FROM orders WHERE customer_id IN (SELECT id FROM customers WHERE country = 'USA');
  • 内连接查询
SELECT customers.name, orders.order_date 
FROM customers 
INNER JOIN orders ON customers.id = orders.customer_id;

11. 插入多行数据

INSERT INTO users (username, email) VALUES
('User1', 'user1@example.com'),
('User2', 'user2@example.com'),
('User3', 'user3@example.com');

12. 删除满足特定条件的表中所有数据

DELETE FROM users WHERE age < 18;

13. 清空表(保留表结构)

TRUNCATE TABLE users;

14. 查看当前数据库中的所有表

SHOW TABLES;

15. 数据库备份与恢复(在shell中执行)

  • 备份单个表
mysqldump -u 用户名 -p 数据库名 表名 > table_backup.sql
  • 恢复单个表
mysql -u 用户名 -p 数据库名 < table_backup.sql

当然,接下来再介绍几个MySQL中的其他重要命令:

16. 更新多个列

UPDATE users 
SET email = 'newemail@example.com', age = 30 
WHERE username = 'JohnDoe';

17. 分页查询数据

SELECT * FROM users 
LIMIT 10 OFFSET 20;  -- 获取第21-30条记录

18. 复制表结构(不复制数据)

CREATE TABLE new_table LIKE old_table;

19. 检查表是否存在

SHOW TABLES LIKE 'users';

或者使用SQL表达式:

SELECT COUNT(*) FROM information_schema.tables WHERE table_name = 'users' AND table_schema = DATABASE();

20. 删除重复行

DELETE t1 FROM users t1, users t2 
WHERE t1.id < t2.id AND t1.username = t2.username;

或在较新版本的MySQL中使用DISTINCT关键字结合GROUP BYHAVING删除重复项:

CREATE TABLE deduplicated_users AS 
SELECT MIN(id) as id, username, email 
FROM users 
GROUP BY username, email 
HAVING COUNT(*) = 1;

-- 确认无误后,替换原表
DROP TABLE users;
RENAME TABLE deduplicated_users TO users;

21. 修改数据库字符集

ALTER DATABASE database_name CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

22. 查看服务器状态

SHOW STATUS;

23. 查看当前会话变量

SHOW SESSION VARIABLES;

当然,接下来再介绍几个MySQL中其他高级功能的命令示例:

24. 创建触发器

CREATE TRIGGER before_insert_users
BEFORE INSERT ON users
FOR EACH ROW
BEGIN
    SET NEW.email = LOWER(NEW.email);
END;

此触发器在插入新用户前自动将email字段转换为小写。

25. 删除触发器

DROP TRIGGER IF EXISTS before_insert_users;

26. 创建存储过程

DELIMITER //
CREATE PROCEDURE get_user_info(IN user_id INT)
BEGIN
   SELECT * FROM users WHERE id = user_id;
END //
DELIMITER ;

调用存储过程:

CALL get_user_info(1);

27. 查看事件调度器(定时任务)

SHOW EVENTS;
  • 创建事件调度器,每天凌晨1点更新所有用户的last_login时间:
CREATE EVENT update_last_login
ON SCHEDULE EVERY 1 DAY STARTS '2022-01-01 01:00:00'
DO 
UPDATE users SET last_login = CURRENT_TIMESTAMP;

-- 若要立即启用该事件(默认创建时禁用)
ALTER EVENT update_last_login ENABLE;

28. 删除事件调度器

DROP EVENT IF EXISTS update_last_login;

29. 创建分区表

CREATE TABLE sales (
    id INT NOT NULL,
    sale_date DATE,
    amount DECIMAL(10,2),
    PRIMARY KEY (id)
)
PARTITION BY RANGE (YEAR(sale_date)) (
    PARTITION p0 VALUES LESS THAN (2010),
    PARTITION p1 VALUES LESS THAN (2020),
    PARTITION p2 VALUES LESS THAN MAXVALUE
);

以上是在MySQL中使用分区表对数据进行逻辑分隔的例子。

30. 修改表引擎

ALTER TABLE table_name ENGINE=InnoDB;

更改表的存储引擎,例如从MyISAM改为InnoDB。

以上只是MySQL部分高级功能的简单展示,实际使用时请根据具体需求和场景选择合适的功能,并结合官方文档深入学习。

python推荐学习汇总连接:
50个开发必备的Python经典脚本(1-10)

50个开发必备的Python经典脚本(11-20)

50个开发必备的Python经典脚本(21-30)

50个开发必备的Python经典脚本(31-40)

50个开发必备的Python经典脚本(41-50)
————————————————

​最后我们放松一下眼睛
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

《人工智能行业发展趋势十大关键词:揭示未来科技浪潮》

人工智能&#xff08;AI&#xff09;作为当今科技领域最具前景的行业之一&#xff0c;正在取得飞速发展。让我们一起来看看人工智能行业的十大关键词&#xff0c;以了解其发展趋势。 大数据&#xff1a; 大数据是人工智能的重要基础。随着互联网和物联网的快速发展&#xff0c;…

四川古力未来科技公司:抖音小店的靠谱之选

在如今这个数字化时代&#xff0c;科技日新月异&#xff0c;电子商务发展迅猛。四川古力未来科技公司凭借其敏锐的市场洞察力&#xff0c;早已在抖音小店开设了官方店铺。那么&#xff0c;这家公司在抖音小店的运营情况如何&#xff1f;是否值得信赖&#xff1f;接下来&#xf…

❤ Uniapp使用四( 高阶使用配置和各种实现篇)

❤ Uniapp使用四( 复杂配置和各种实现篇) uniapp引入 vant 引入方式 1、下载vant源码 方式一&#xff1a;从 Vant 官网首页进入 GitHub下载对应版本的压缩包,将文件解压后备用,确保下载的压缩包里有dist 文件夹 2、创建 uniapp 项目,在根目录下新建 一个文件夹wxcomponents …

数据分析中常用的指标或方法

一、方差与标准差二、协方差三、皮尔逊系数四、斯皮尔曼系数 一、方差与标准差 总体方差 V a r ( x ) σ 2 ∑ i 1 n ( x i − x ˉ ) 2 n ∑ i 1 n x i 2 − n x ˉ 2 n E ( x 2 ) − [ E ( x ) ] 2 Var(x)\sigma^2\frac {\sum\limits_{i1}^{n} (x_i - \bar{x})^2} {n…

AMP“双系统”加持,飞凌嵌入式RK3568核心板强实时性再升级

如果要选出飞凌嵌入式最热门的几款产品&#xff0c;FET3568-C系列核心板一定榜上有名。这款高性价比的全能型核心板上市两年来已赢得了数千家客户的青睐。飞凌嵌入式也在不断对它进行升级——从“配置新增”到“100%国产化认证”再到“新系统适配”&#xff0c;以满足更多行业客…

Flutter GetX 之 国际化

今天给大家介绍一下 GetX 的国际化功能,在日常开发过程中,我们经常会使用到国际化功能,需要们的应用支持 国际化,例如我们需要支持 简体、繁体、英文等等。 上几篇文章介绍了GetX的 路由管理 和 状态管理,看到大家的点赞和收藏,还是很开心的,说明这两篇文章给大家起到了…

RPA发送预警短信,新加坡警方与4家银行联合,避免约6943万美元损失

近日&#xff0c;新加坡警方反诈骗中心&#xff08;ASC&#xff09;联合包括星展银行、大华银行、华侨银行和渣打银行在内的四家银行&#xff0c;共同运用机器人流程自动化&#xff08;RPA&#xff09;技术&#xff0c;针对就业、投资等类型的诈骗行为&#xff0c;有效识别受害…

编写RedisUtil来操作Redis

目录 ​编辑 Redis中文网 第一步&#xff1a;建springboot项目 第二步&#xff1a;导依赖 第三步&#xff1a;启动类 第四步&#xff1a;yml 第五步&#xff1a;Redis配置类 第六步&#xff1a;测试类 第七步&#xff1a;编写工具类 RedisUtil 第八步&#xff1a;编写…

MySQL视图索引基础练习

表定义 学生表&#xff1a;Student (Sno, Sname, Ssex , Sage, Sdept) 学号&#xff0c;姓名&#xff0c;性别&#xff0c;年龄&#xff0c;所在系 Sno为主键 课程表&#xff1a;Course (Cno, Cname,) 课程号&#xff0c;课程名 Cno为主键 学生选课表&#xff1a;SC (Sno, C…

码云星辰:未来运维的技术交响曲

&#x1f6a9;本文介绍 ​ 随着信息技术的迅猛发展&#xff0c;运维领域正经历着翻天覆地的变革。未来的运维工程师将需要拥有更广泛、更深入的技能&#xff0c;以适应日益复杂和多变的系统环境。本文将深入探讨运维未来的行业发展趋势&#xff0c;并详细分析需要掌握的关键技…

【性能优化】GSON解性能瓶颈分析

一、背景 GSON是Google提供的开源库&#xff0c;使用很便捷&#xff0c;但是在使用过程中也发现了其短板。在Bean类结构复杂时&#xff0c;进行反序列化耗时较长&#xff0c;尤其是很多在应用启动阶段需要反序列化一些内置的数据时&#xff0c;很让人头疼&#xff0c;通过抓Tra…

学生云服务器_学生云主机_学生云数据库_云+校园特惠套餐

腾讯云学生服务器优惠活动&#xff1a;轻量应用服务器2核2G学生价30元3个月、58元6个月、112元一年&#xff0c;轻量应用服务器4核8G配置112元3个月、352.8元6个月、646.8元一年&#xff0c;CVM云服务器2核4G3M公网带宽配置842.4元一年&#xff0c;腾讯云服务器网txyfwq.com分享…

力扣电话号码的组合

文章目录 题目说明做题思路代码实现代码解析 题目链接 题目说明 首先我们先分析一下这个题目题目中说呢先给出一个字符串这个字符串其实就是这个九键数字我们要按照要求将数字所代表的字符进行自由组合形成一个字符串并且这个字符串的长度和输入的数字字符串长度相同&#xff0…

element-ui tree树形结构全选、取消全选,展开收起

控制树形结构全选、取消全选&#xff0c;展开收起 <template><div><!-- 添加 ref"tree" 属性--><el-tree:data"data"show-checkboxdefault-expand-allnode-key"id"ref"tree"highlight-current:props"defa…

使用Python操纵Word自动编写离职报告

目录 一、背景介绍 二、技术原理 三、实现步骤 1、安装python-docx库 2、创建Word文档 3、添加标题和内容 4、添加表格和图片 5、设置样式和格式化文本 6、保存文档 四、注意事项与建议 总结 随着现代社会的发展&#xff0c;自动化和智能化已经成为各行各业追求的目…

Pytorch各种Dropout层应用于详解

目录 torch框架Dropout functions详解 dropout 用途 用法 使用技巧 参数 数学理论公式 代码示例 alpha_dropout 用途 用法 使用技巧 参数 数学理论公式 代码示例 feature_alpha_dropout 用途 用法 使用技巧 参数 数学理论 代码示例 dropout1d 用途 用…

每日一记:一个windows的bat脚本工具集

最近在工作上遇到要校验文件的问题&#xff0c;例如&#xff0c;下载了一个文件之后&#xff0c;通过查看文件的md5来校验文件是否完整&#xff0c;这个动作在linux上很简单&#xff0c;但在windows上也不难&#xff0c;可以通过 certutil 命令实现&#xff0c;该命令通常可用于…

vue流程图

效果图 组件 <template><div class="processBox" v-if="list.length"><div class="childs"><div class="child" v-for="(item,index) in list" :key="item.id +-child-+index"><div…

指定Top名校|管理学教师拜师香港理工大学院士麾下访学

X老师拟自费赴香港访学&#xff0c;并指定了香港Top5之内的高校。申请一个月后&#xff0c;我们落实了香港理工大学的访学职位&#xff0c;导师为香港工程科学院和国际系统与控制科学院的两院院士、讲座教授。 X老师背景&#xff1a; 申请类型&#xff1a;自费访问学者 工作背…

迷你洗衣机哪个牌子好用?家用小型洗衣机推荐

迷你洗衣机主要分为立式洗衣机、壁挂式洗衣机&#xff0c;在特定的情况下是能够为用户提供一定的方便的。就好比如说宝宝的衣物需要和大人的分开洗&#xff0c;或者我们日常都所要清洗内衣裤、袜子等等这些贴身的衣物&#xff0c;直接将这些小件的衣物放进到迷你洗衣机中分类单…