mysql考试复习
基础创建
字段自动编号auto_increment
( 单词补充:increment 定期的加薪; 增量; 增加)
考点
添加自增
alter table [表名] modify [字段(id)] int primary key auto_increment
添加自增起始值
alter table t_test1 auto_increment = 1000;
栗子:https://www.cnblogs.com/fooobabar/p/11132926.html
查询
select distinct * from 表(对表去重复查询)
(单词补充:distinct 有区别的,明显的,独特的)
查询每个专业的男生人数、女生人数、总人数,已经学生总人数
select 专业名,性别,count(*) as '人数' from xs group by 专业名,性别 with rollup
(单词补充:rollup 归纳总和)
select 专业名,count(*) as '学生数' from xs group by 专业名 having count(*)>10;

case 字段
when 字段条件1 then '名字1'(满足后命名)
when 字段条件2 then '名字2'(满足后命名)
end (结束)
连接多表
表1 join 表2 on 表1.id=表2.id join 表3 on 表2.id=表3.id (注意三表链接中间表要和其他两表有关系)
例题
select Name,Address, case InCome
when InCome>3000 then '高收入'
when InCome<=3000 and InCome>=2000 then '中等收入'
when InCome>3000 then '高收入'
end as '收入水平'
from employees join salary on employees.employeesid=salary.employeesid;

事务
show variables like 'autocommit';查看自动提交事务autocommit
两种
第一种
1.设置为不自动提交事务
set autocommit=0;
2.可以设置回滚点(保存点)rollback to 回滚点--回滚点下面的事务就不执行
savepoint 名1;
rollback 名1;
3.用commit;提交事务
4.set autocommit=1;根据条件修改回来
第二种
1.用begin;语句开始
2.可以设置回滚点(保存点)rollback to 回滚点--回滚点下面的事务就不执行(同上)
3.用commit提交事务
约束
唯一约束 unique
主键约束 primary key
外键约束 constraint 外键名 foreign key( 列名 ) references 外表( 列名 )
DROP TABLE IF EXISTS students;
CREATE TABLE students(
id INT ,
s_name VARCHAR(10) not null,# 非空约束
s_sex CHAR(1) default '男', # 默认约束
s_seat INT,
age INT ,
teacher_id INT ,
#上面是列级约束,下面有表级约束
CONSTRAINT pk PRIMARY KEY(id), #主建约束,pk是起的名,后面一样
CONSTRAINT uq UNIQUE(s_seat), #唯一约束
CONSTRAINT ck CHECK(s_sex='男' OR s_sex='女'), #检查约束
考点
CONSTRAINT fk_students_teacher FOREIGN KEY(teacher_id) REFERENCES teacher(id) #外键约束
);
这里是修改时两边修改。
栗子:https://blog.csdn.net/qq_42402854/article/details/84714934
视图注意事项:
1有表 2有权限 3不含form子查询 4表的视图和表只能有一个order by ,5 limit也是
create or replace view view_name[(字段1...)]
as
select语句
存储过程
delimiter //
create procedure do_query(in num1 integer,in num2 integer,out c1 char(6))
begin
if num1>num2 then
set c1='大于';
elseif num1<num2 then
set c1='小于';
else set c1='等于';
end if;
end//
delimiter ;
call do_query()
select...into
select 列名 into 变量名 from 表 where...
把列值赋值给变量
case when then
delimiter $$
create procedure xscj.result
(in str varchar(4), out sex varchar(4) )
begin
case str
when 'm' then set sex='男';
when 'f' then set sex='女';
else set sex='无';
end case;
end$$
delimiter ;
或者
case
when str='m' then set sex='男';
when str='f' then set sex='女';
else set sex='无';
end case;
mysql考试复习的更多相关文章
- Unity3D学习笔记(十三):委托、考试复习
委托:比较什么时候用委托好 下课案例:不用下课铃 1.ClassManager需要拿到所有教室的引用,课堂管理者应该只负责计时并告知每间教室 2.每间教室应该是由当班老师负责是否需要下课,而课堂管 ...
- python期末考试复习
期末考试复习 补修的python跟着大一一起学,考试肯定不会出难,于是就敲了一些代码,把他们放到博客上,来记录一下 代码都是一段一段的,且python代码不是很多,所以我都写到了一个文件里,作为练习 ...
- Mysql 索引复习笔记
之前学习索引后由于一直没怎么用,所以也只是粗略看了一下,最近发现索引的用处很大,并且也很多知识点,在此做复习记录. 什么是索引? 百度百科是这样描述的: 索引是为来加速对表中数据行中的检索而创建的一种 ...
- mysql基础复习(SQL语句的四个分类),
( ...
- MYSQL 函数复习
数学函数 ABS(X) 返回X的绝对值 SQRT(x) 返回非负数X的二次方根 MOD(x,y) 返回x被y除后的余数 CEIL(x) ...
- mysql - 语法复习与学习
//本月的第一天,最后一天 $start=date('Y-m-01', strtotime(date("Y-m-d"))); echo date('Y-m-d', strtotim ...
- MySQL基础复习
三范式定义 1NF:每个数据项都是最小单元,不可分割,其实就是确定行列之后只能对应一个数据. 2NF:每一个非主属性完全依赖于候选码(属性组的值能唯一的标识一个元组,但是其子集不可以). 3NF: ...
- mysql总复习
目录 数据库操作 库操作 表操作 数据行操作 表关系操作 单表操作 外键创建 多表联查 pymysql模块 索引 主键索引 唯一索引 普通索引 数据库操作 库操作 create database 库名 ...
- mysql高级复习
MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构.可以得到索引的本质:索引是数据结构,可以简单理解为“排好序的快速查找数据结构”. 数据本身之外,数据库还维护着一 ...
随机推荐
- 6411. 【NOIP2019模拟11.06】上网
题目描述 Description Input Output 若无解,则输出"Impossible". 否则第一行输出"Possible",第二行输出 n 个正整 ...
- PHP培训教程 PHP里10个鲜为人知但却非常有用的函数
php里有非常丰富的内置函数,很多我们都用过,但仍有很多的函数我们大部分人都不熟悉,可它们却十分的有用.这篇文章里,兄弟连小编列举了一些鲜为人知但会让你眼睛一亮的PHP函数. levenshtein( ...
- mysql WHERE语句 语法
mysql WHERE语句 语法 作用:如需有条件地从表中选取数据,可将 WHERE 子句添加到 SELECT 语句.珠海大理石平尺 语法:SELECT 列名称 FROM 表名称 WHERE 列 运算 ...
- Bugku 杂项 又一张图片,还单纯吗
又一张图片,还单纯吗 下载后,用binwalk打开图片 使用foremost 2.png进行分离 得到图片 关于foremost foremost [-v|-V|-h|-T|-Q|-q|-a|-w-d ...
- [CSP-S模拟测试]:回家(塔尖)
题目传送门(内部题7) 输入格式 第一行一个整数$T$,表示共$T$组数据.对于每组数据,第一行两个数$n,m$表示有$n$个建筑物,$m$条道路.接下来$m$行,每行两个整数$u,v$,表示第$u$ ...
- Hadoop 服务SYS CPU过高导致宕机问题
最近某hadoop集群多次出现机器宕机,现象为瞬间机器的sys cpu增长至100%,机器无法登录.只能硬件重启,ganglia cpu信息如下: 首先怀疑有用户启动了比较奇葩的job,导致不合理的系 ...
- 修改docker默认网段
一. 修改普通docker run启动的容器的网段 https://blog.51cto.com/13670314/2345518?source=dra https://blog.csdn.net/w ...
- view组件
view标签的属性值: hover-class:按下的点击态 属性值:字符串 如果:hover-class="none" 按下就没有点击态 hover-stop-pro ...
- CSS - 视觉格式化模型(Visual formatting model)
几个概念 块:block,一个抽象的概念,块与块之间在垂直方向上按照顺序依次堆叠. 行内:inline,一个抽象的概念,行内与行内之间在水平方向上按照顺序依次堆叠(会有换行). 元素:element, ...
- jQuery测试错题解析
1. JavaScript中实现回车切换效果是利用了event对象的( )属性. A.Tab B.keyCode C.KeyCode D.KeyDown 解析:实现回车切换效果是keyCode属性.故 ...