【MySQL】重要基操集合,来看看你忘了吗?

本文详细介绍了基础数据库操作,如创建、展示、删除数据库,以及表的增删改查、约束管理。涵盖null约束、唯一性约束、默认值和主键外键等关键概念,并深入讲解了查询操作、事务处理等高级主题。

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

目录

基础操作

展示数据库

创建数据库

使用数据库

删除数据库

展示当前数据库的表名

查看表结构

创建表

删除表

表的增删查改

新增记录

查询记录

修改记录

删除记录

约束

null约束

unique唯一约束

default默认值约束

primary key主键约束

foreign key外键约束

深入查询操作

插入查询结果

聚合查询

分组查询

联合查询

内连接

外连接

事务



基础操作

展示数据库

show databases;

创建数据库

//创建数据库
create database 数据库名;
//若系统中没有数据库task,则创建数据库task,有则不创建;
create database if not exists 数据库名(假设名为:task);

使用数据库

//对数据库里的表信息操作前一定要先用此指令
use 数据库名;

删除数据库

//删库操作,务必小心!
drop database 数据库名;

展示当前数据库的表名

show tables;

查看表结构

desc 表名;

创建表

//以下不光可以创建两个,还可以创建多个
create table 表名(
    字段名 类型,
    字段名 类型,
);

删除表

//删表操作,务必小心
drop table 表名;

表的增删查改

新增记录

insert into 表名 values(值,值...)

查询记录

//从where开始后面可以限制,也可以不限制
select 列名/表达式/as 别名 from 表名 where 条件 order by 列名 limit N offer M;
//查看表所有记录
select * from 表名;

修改记录

//where之后与查表相同
//修改属于高危操作,务必小心
update 表名 set 列名 = 值, 列名 = 值... where 条件...;

删除记录

//高危操作,务必小心
delete from 表名 where 条件;

约束

null约束

//某列不能为null值
not null;
//例子
ID int not null;

unique唯一约束

//保证具有唯一值
unique;
//例如
ID int unique;

default默认值约束

//例如当math为空时,默认值为"缺考"
math int default "缺考";

primary key主键约束

/**
*使其值具有唯一性,一个表中只能有一个主键约束,
*并且不能为空,相当于unique + not null;
*/
//例如将ID设置为主键
ID int primary key;
//整数类型,也可以搭配自增长auto_increment使用,插入数据若不给字段给值,将最大值+1;
//例如将ID设置为自增主键
ID int primary key auto_increment;

foreign key外键约束

//用于约束其他表的主键和本表中的外键的对应关系
//例如,一个班级表classes中的班级classId为主键(不一定使主键,但必须是唯一索引),学生表中的外键ID与之相联
//那么在学生表创建的结尾就要加上
//方法一:
foreign key (ID) references classes(classId);
//方法二(直接在字段和属性名后加上外键):
id int references classes(classId)

深入查询操作

插入查询结果

//将一个表的查询结果插入到另一个表中(列名可以不同,但是类型和数量必须相同)
insert into 被插入的表 (可以规定列) select (若前面规定列,这里要对应列) from 被查询的表;

聚合查询

//查询数据数量
count(数据);
//给查询到的数据求和,若不是数字输出0
sum(数据);
//给查询到的数据求平均值,若不是数字输出0
avg(数据);
//给查询到的数据求最大值,若不是数字输出0
max(数据);
//给查询到的数据求最小值,若不是数字输出0
min(数据);
//例如查询语文成绩总分(其他函数用法类比即可)
select max(Chinese) from 被查询的表;
                                //同时这个后面可以配合where语句

分组查询

//将值相同的分成一组,搭配着查询(select ... from ...)来用,写在条件前后,效果不一样
group by 需要被分组的列名
//若要对分组后的条件进行筛选需要用having语句,对分组前的数据进行筛选用where语句

联合查询

//通过笛卡尔积,对不同表之间的数据进行排列组合,最后可以通过连接条件和其他条件进行筛选
select 列名 from 表名1 , 表名2... 
//或者
select 列名 from 表名1 join 表名2 on 条件 

内连接

//第一种写法
select 列名 from 表A join 表B on 连接条件...
//第二种写法
select 列名 from 表A inner join 表B on 连接条件...

外连接

//左外连接
select 列名 from 表A left join 表B on 连接条件... 
//右外连接
select 列名 from 表A right join 表B on 连接条件...

事务

-- 开启事务
start transaction;

-- 执行业务逻辑

-- 提交事务
commit;

-- 回滚事务
rollback;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

陈亦康

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值