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

追求适度,才能走向成功;人在顶峰,迈步就是下坡;身在低谷,抬足既是登高;弦,绷得太紧会断;人,思虑过度会疯;水至清无鱼,人至真无友,山至高无树;适度,不是中庸,而是一种明智的生活态度。

导读:本篇文章讲解 【MySQL】重要基操集合,来看看你忘了吗?,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

目录

基础操作

展示数据库

创建数据库

使用数据库

删除数据库

展示当前数据库的表名

查看表结构

创建表

删除表

表的增删查改

新增记录

查询记录

修改记录

删除记录

约束

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;

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由半码博客整理,本文链接:https://www.bmabk.com/index.php/post/130452.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
半码博客——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!