一个小时学会mysql数据库_一个小时学会MySQL数据库 (7)

125d730a8147516754cad1b9feec7d50.png

4.5.3、修改表结构

如果想向现有的表中添加一列,则可以修改表结构:

94142cc2b88e7e572cf6ed7ebf9aaaef.png

4.5.4、外键

afc25b7ba9df39d34e0d9115204d3152.png

上面这个学生表是有些问题的:

a)、不便于修改,比如教室换成了305教室,则每个学员都要修改

b)、数据冗余,大量的重复数据

将表拆分成两个,分解后问题解决,如下图所示:

1b2e33ceee2ced0c45fc540d0fcf9876.png

这里的班级编号就是外键,可以空,但不为空时他的值一定在要引用表中存在。如果学生表中的编号是主键这里就不应该重复,外键则可以重复也允许为空。

添加外键:

班级表:

d17698b0db9189da3b3b54afa9c9896c.png

学生表:

c250e44db1a86ec5de41596f65bac343.png

添加外键:

e708081dca0c85a776ec2c9f9082425f.png

删除与更新时可以实现级联更新与删除,当更新设置为CASCADE时主键变化引用主键的表也会一起变化,当删除设置为CASCADE时删除主键表,引用的记录都将被删除。

4.5.5、唯一键

唯一键,也称(唯一约束),和主键的区别是可以为有多个唯一键并且值可以为NULL,但NULL也不能重复,也就是说只能有一行的值为NULL。它会隐式的创建唯一索引。

设置方法:索引 –> 添加索引 –>  栏位名 添加你想设置唯一约束的列 –> 索引类型选择 Unique

afc0445bd71b316d472c0e569c8ef3ee.png

4.6、上机练习

1、请创建一个新的数据库叫HR,在HR数据库中添加EMP表,EMP表的表结构如下所示

1bed1318a6c188df734a999af12ac8d5.png

e836299df8798e8e0fbe7cbe300a0c28.png

2.根据上面的表结构完成表的创建,表名为emp

3.在表中添加5条以上的数据

4.完成下列查询要求

4.1.查询所有员工信息

4.2.查询所有工资介于2000-5000间的员工姓名、职位与工资

4.3.查询所有姓“张”的员工

4.4.按工资降序查询出2014年到2015年间入职的员工

4.5.将工资普遍上调20%

4.6.将工资低于3000元的员工奖金修改为工资的2.8倍

4.7.删除编号为5或者姓“王”的员工

五、使用SQL访问MySQL数据库

5.1、增加数据

insert 语句可以用来将一行或多行数据插到数据库表中, 使用的一般形式如下:

Insert into 表名(字段列表) values (值列表);

insert [into] 表名 [(列名1, 列名2, 列名3, ...)] values (值1, 值2, 值3, ...);

insert into students values(NULL, "张三", "男", 20, "18889009876");

有时我们只需要插入部分数据, 或者不按照列的顺序进行插入, 可以使用这样的形式进行插入:

insert into students (name, sex, age) values(“李四”, “女”, 21);

5.2、查询数据

select 语句常用来根据一定的查询规则到数据库中获取数据, 其基本的用法为:

select 字段名 from 表名称 [查询条件];

查询学生表中的所有信息:select * from students;

查询学生表中所有的name与age信息:select name, age from students;

也可以使用通配符 * 查询表中所有的内容, 语句: select * from students;

5.2.1、表达式与条件查询

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值