mySQL 命令语句

本文详细介绍了MySQL的基础命令行操作、常用的SQL语句如创建和删除数据库表、查询、聚合函数、链接表、索引管理和触发器的基本概念及使用。涵盖了事务处理、数据操作和数据库结构维护等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 一,基础命令行

## 命令行(管理员) Mysql -uroot -p

 ##密码 123456

 二,常用sql语句

## 建库                     create database XXX。

## 切换库                   use XXX;

## 查看库                    show databases

## 删除库                   drop database xXX

## 建表                       Create table()

## 展示所有表              Show tables;

## 展示xxx表                 Show create table XXXX;

## 展示表                      Select * from XXX。

## 展示框架                   Desc XXXX。

## 删除xxx表                  drop table XXX

## 不重复的                      distinct

## 降序                               select * from xxx order by xxx desc

## 升序                             select * from xxx order by xxx asc

## 只显示前num行                 select * from xxx limit num

## 插入 insert

## insert into 表名 (字段…,…) values(值…,…)

## insert into 表名 values(值…,…)

## 更新 update

## 删除 delete

三,查找目标

## SELECT 查询字段 FROM 表名 WHERE 条件(条件查询) 

##

## 查找对应目标

## 模糊查询

四,函数

## --------1,聚合函数

## COUNT             统计函数

## MAX(*)               最大值函数

## MIN (*)               最小值函数

## AVG(*)               平均值函数

## SUM(*)              累计值函数(∑)

## 分组 group by having

1.对表中记录按照字段进行分组

2.用聚合函数对每个分组进行查

询或计算

五,链接表

链接多表a,b,c

SELECT * FROM a,b,c
WHERE a.sno=b.sno AND b.cno=c.cno;

(即将两表相同的部分链接起来,放在条件中)

## 联合查询union

将两个或两个以上的select语句的

查询结果合并成一个结果集合显示

## 交叉查询 cross join

返回连接表中所有数据行的笛卡尔积

## 内连接inner join

特点

1.两表中找到链接条件

2.找链接条件相匹配的行

## 外连接(左连接 右连接 全连接)

1.列出与连接条件匹配的行

2.列出左表,或者右表,或者整个表中 所有符合搜索条件的数据行

## 子查询 查询的条件是另一个select语句的结果

例子

六,delimiter

    delimiter//  切换结束符为//

七,SQL语句

开启手动处理事务模式

 set autocommit = false;

展示事务模式

## show variables like 'autocommit';

## 0 为关闭,1为开启

## set autocommit=0;

## 开始事务(推荐)

## start transaction;

## 查看当前表的数据

## select * from t_stu_detail;

## 删除整张表的数据

## delete from t_stu_detail;

## 查询该表数据,发现显示删除后的结果

## select * from t_stu_detail;

## 回滚

## rollback

## 查看当前表的数据,发现又回来了

## select * from t_stu_detail;

## 删除整张表的数据

## ## delete from t_stu_detail;

## 提交事务

## commit;

## 查看当前表的数据,发现真删除了

## select * from t_stu_detail;

## 插入一条记录

## INSERT INTO t_stu_detail VALUES

## (1, '123456789012345678', '1990-01-21', '12345678901', 'a@163.com', '北七家');

## 保存还原点1

## savepoint point1;

## 插入一条记录

## INSERT INTO t_stu_detail VALUES

## (2, '123456789012345677', '1990-02-21', '12345678902', 'b@163.com', '北七家');

## 保存还原点2

## savepoint point2;

## 查看当前效果

## select * from t_stu_detail;

## 回滚到某个还原点

## rollback to point1;

## 提交事务

## commit;

## 清空表

## truncate t_stu_detail;

## 回滚,对于truncate无法回滚

## rollback;

## 修改表结构

## alter table t_stu_detail add description varchar(50);

## 回滚,对于修改表结构的语句无法回滚

## rollback;

八,索引

【总结步骤】
第一步:
    开启观察
     set profiling =on;

第二步:
      建立索引
      create index 名字 on 表名(字段)


(****查看索引***

show index from 表名


第三步
      使用索引字段进行查询
      select * from aa where ok="字段"

第四步
      删除索引
      drop  index 索引名 on 表名
第五步
        使用索引字段进行查询
      select * from aa where ok="字段"
第六步
      查看sql语句 观察索引的速度
       show profiles;

九,触发器

一、基本概念

触发器是一种特殊类型的存储过程,它不同于存储过程,主要是通过事件触发而被执行的,即不是主动调用而执行的;而存储过程则需要主动调用其名字执行

触发器:trigger,是指事先为某张表绑定一段代码,当表中的某些内容发生改变(增、删、改)的时候,系统会自动触发代码并执行。
 

二、作用
  1. 可在写入数据前,强制检验或者转换数据(保证护数据安全)
  2. 触发器发生错误时,前面用户已经执行成功的操作会被撤销,类似事务的回滚
     
三、创建触发器

基本语法

delimiter 自定义结束符号
create trigger 触发器名字 触发时间 触发事件
on 表
for each rowbegin-- 触发器内容主体,每行用分号结尾
end自定义的结束符合
delimiter;

on 表
for each
:触发对象,触发器绑定的实质是表中的所有行,因此当每一行发生指定改变时,触发器就会发生
 

触发时间

当 SQL 指令发生时,会令行中数据发生变化,而每张表中对应的行有两种状态:数据操作前和操作后

  • before:表中数据发生改变前的状态
  • after:表中数据发生改变后的状态

PS:如果 before 触发器失败或者语句本身失败,将不执行 after 触发器(如果有的话)
 

触发事件

触发器是针对数据发送改变才会被触发,对应的操作只有

  • INSERT
  • DELETE
  • UPDATE
     
注意事项
  • 在 MySQL 5 中,触发器名必须在每个表中唯一,但不是在每个数据库中唯一,即同一数据库中的两个表可能具有相同名字的触发器
  • 每个表的每个事件每次只允许一个触发器,因此,每个表最多支持 6 个触发器,before/after insert、before/after delete、before/after update
四、查看触发器
1.查看全部触发器

语法:show triggers;
 

2.查看触发器的创建语句

语法:show create trigger 触发器名字;

五、触发触发器

基本语法:drop trigger 触发器名字

触发不是自动手动触发的,而是在对应的事件发生后才会触发。比如我们创建的触发器,只有在对订单表进行数据操作的时候,触发器才会执行

六、删除触发器

触发器不能修改,只能删除

语法:drop trigger + 触发器名字

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值