mysql


在每次登陆mysql的时候都应该要选择数据库不然会不知道是进入哪个

主键 Primary key

表中经常有一个列或列的组合,其值能唯一地标识表中的每一行。这样的一列或多列称为表的主键,通过它可强制表的实体完整性。比如银行中的账目,卡号就是主键
每个表必须有,取值不能为空值,不能重复
主键不需要再定义 not null 、unique 的约束条件
有两列主键时也都不可为空
多列设计主键时 在最下面 输入primary key(列1,列2),或者在需要设计主键的每列后面都加上primary key。

外键 Foreign key

关系型数据库中的一条记录中有若干个属性,若其中某一个属性组(注意是组)能唯一标识一条记录,该属性组就可以成为一个主键
比如
学生表(学号,姓名,性别,班级)
其中每个学生的学号是唯一的,学号就是一个主键
课程表(课程编号,课程名,学分)
其中课程编号是唯一的,课程编号就是一个主键
成绩表(学号,课程号,成绩)
成绩表中单一一个属性无法唯一标识一条记录,学号和课程号的组合才可以唯一标识一条记录,所以 学号和课程号的属性组是一个主键
成绩表中的学号不是成绩表的主键,但它和学生表中的学号相对应,并且学生表中的学号是学生表的主键,则称成绩表中的学号是学生表的外键
同理 成绩表中的课程号是课程表的外键 取值可以为空

若不为空值,取值一定是对应的表的主键的取值(是存在的)
外键与对应的主键的数据类型必须完全一致

先理解了主外键后 再来了解mysql输入的
MySQL数据库中存储小数使用浮点数和定点数来表示 float(单精度) double(双精度) decimal(定点数类型,用固定的小数位数)
binary 二进制 var binary 可变二进制 blob 二进制大对象(保存视频大的内容)
desc(describe) employees 查看表的结构

基础操作

在这里插入图片描述

create table departments(departmentid int primary key,
depatmentname varchar(20) not null,
note varchar(100))
在这里插入图片描述

查询表格的结构

desc dapartments;
在这里插入图片描述

添加外键

alter table employees add constraint fk_emp foreign key (departmentid) references departments(departmentid);
为employees添加外键 外键名称(对应的列)参照 主键的表(对应的名称)
在这里插入图片描述

修改字段的数据类型

alter table 表名 modify 字段名 数据类型;
alter table employees modify gender enum(‘男’,‘女’); 枚举型
在这里插入图片描述

修改字段名

alter table 表名 change 旧字段名 新字段名 数据类型;
alter table employees change gender sex enum(‘男’,‘女’);
在这里插入图片描述

设置默认值

use yggl;
alter table employees alter sex set default ‘男’在这里插入图片描述

索引

最后顺带提一下索引
(先输数据再建索引)
对数据库表中的一列或多列的值进行排序的一种结构

分类

普通(index),唯一(uniqe),空间,多列,单列,全文(fulltext),

普通索引

create index idx_name on employees(name desc); //desc 降序 asc 升序(默认)
create index 索引名 on 表(列 升/降序)

唯一索引

create unique index idx_name on employees(name desc);

全文索引

只能建在字符型的字段上面,在一大段上根据字段定位到某条数据上
create fulltext index idx_name on employees(name desc);

删除索引

drop index index_name on employees;
drop index 索引名称 on 表

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值