mysql笔记

char(8),是定长,使用场景,存储身份证号,一定是18位
varchar(18),是可变长度,最多18位
decimal(5,3),总共5位数,小数占3位

primary key = unique + not null

一对一

create table husband(
id int auto_increment primary key,
name varchar(100)
);

create table wife(
id int auto_increment primary key,
name varchar(100),
hid int unique,
foreign key(hid) references husband(id)
)

一对一的关系通过建立外键表,加上unique形成
一对多的关系只通过建立外键表即可
多对多的关系通过建立中间表

数据库的设计规范:

第一范式:有主键来区分每一行
第二范式:每一行的属性应跟主键有关系,依赖主键
第三范式:在一个关系中不重复出现已在其他关系中出现的属性(非主键信息)

内连接两种写法:

内连接连不上不连!

两个表之间加上inner join,

select e.empno,e.ename,d.dname,e.deptno from EMP e,DEPT d
where e.deptno = d.deptno;

或者两个表之间加上 逗号

select e.empno,e.ename,d.ename,e.deptno
from EMP e inner join DEPT d
on e.deptno = d.deptno;


外连接:

select * from EMP e right outer join DEPT d
on e.deptno = d.deptno;
select * from EMP e left outer join DEPT d
on e.deptno = d.deptno;
外连接连不上将外键表对应行置为空

视图:

create view stuscore(stuscore为任意名字) as
select 语句
作用:
1.提高了重用性,就像一个函数
2.对数据库重构,却不影响程序的运行
3.提高了安全性能,可以对不同的用户
4.让数据更加清晰

事务:

所谓事务,它是一个操作序列,这些操作要么都执行,要么都不执行,它是一个不可分割的工作单位,事务是数据库维护数据一致性的单位,在每个事务结束时,都能保持数据一致性

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

推荐阅读更多精彩内容

  • mysql数据库中 :database : 文件夹table : 数据表(数据文件) 进入mysqlmysql -...
    赋闲阅读 581评论 0 0
  • 笔记: 一、聚合函数:计数 最大值 最小值 平均数 求和 1.计数 COUNT() 忽略NULL值 方式1:COU...
    凤之鸠阅读 5,290评论 0 1
  • 引出 •请思考如下问题? –查询所有员工的每个月工资总和,平均工资? –查询工资最高和最低的工资是多少? –查询公...
    C_cole阅读 7,317评论 0 3
  • 小的时候,自己比较皮,就跑出去在小树林玩,黄昏时候比较昏暗,树影斑斑驳驳,走着走着突然想到了喜欢吃人的大妖怪...
    南下北执阅读 361评论 3 7
  • 从去年开始,每天晚上都会做一些奇奇怪怪的梦,难得的是清晨起床梦中发生的一切都记得清楚,梦到古代城墙中的后妃,即...
    有恃无恐ly阅读 94评论 0 0