目录
基础操作
展示数据库
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