MYSQL笔记

数据库操作

  • where后面不可以跟聚合函数,having后可以进行聚合函数的判断。

从学生表中查询数学成绩大于70按性别分组且人数大于2的数据。

SELECT COUNT(id) as count,sex,avg(math) as 平均分 from student3 
where math > 70 GROUP BY sex HAVING count >2;
  • limit(0,3) 从第一条数据开始查3条数据 ---(分页)。
  • 数据库约束:主键约束:primary key、非空约束:not null、唯一约束:unique、外键约束:foreign key。创建表后添加约束用modify。

唯一约束unique

phone varchar(20) UNIQUE
  • change 可以更改列名 和 列类型 (每次都要把新列名和旧列名写上, 即使两个列名没有更改,只是改了类型)
    modify 只能更改列属性 只需要写一次列名。

  • mysql唯一约束中null不被约束。

  • not null约束可以用modify等删除;唯一约束等用drop index;主键用drop primary key;

范式

  • 第一范式:每个列是不可分割的原子数据项;
  • 第二范式:消除第一范式基础上的非主属性对主码的部分函数依赖;
  • 第三范式:在第二范式的基础上消除传递依赖。

范式主要解决数据冗余和数据修改造成的联动问题。
设计表时尽量分多个表记录不同的属性或者说是不同模块的属性。

数据库备份

  • mysqldump -u -p 数据库名 > 保存路径
  • source sql文件路径 还原数据库

多表查询

解决笛卡尔积问题

MYISAM和InnoDB

https://www.cnblogs.com/liqiangchn/p/9066686.html

https://www.runoob.com/w3cnote/mysql-different-nnodb-myisam.html

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。