MySQL数据库(六)

本文详细介绍了数据库设计中的ER模型、主键和外键的概念,以及一对一、一对多、多对多的关系类型。涵盖了视图的创建与作用,存储过程的定义和调用,以及事务的使用以确保数据一致性。同时提到了数据量单位的转换关系。
摘要由CSDN通过智能技术生成

1. 数据库设计方法

ER模型:表和表的关联关系

2. 概念

  • 主键:是用于在表中唯一的标识一个字段
  • 外键:外键是在另一个表主键,通过使用外键可以将两个表关联起来

3. 关系的类型

  • 一对一
  • 一对多
  • 多对多

例:

create table tb2(                             #创建表tb2
classid int primary key,                      #第一个字段
name char(30))                                #第二个字段


create table tb1(                             #创建表tb1
id int primary key,                           #第一个字段
name char(30),                                #第二个字段
classid int,                                  #第三个字段
foreign key(classid) references tb2(classid)) 
                                          #将classid字段转换成外键,指向tb2表的classid这个字段

4. 视图

视图:view

  • 可以认为是一张表
  • 但是这张存在内存中的虚表,断电后会消失

4.1 作用

通过视图可以让用户只能访问数据库中一部分数据(给用户授权)

命令格式:create view 视图名 as select 语句

例:创建视图,授权给用户指定的数据

create view new1 as select * from students where stuid<10
grant all on hellodb.new1 to "jerry"@"localhost" identified by"123"

5. 存储过程

作用:快速向数据库写入大量的测试数据

5.1 定义存储过程格式

delimiter //                          #存储过程的开头,定义一个符号
  create procedure 存储过程()           #定义存储过程名字
  begin                                #开始
 sql 语句
end//

6. 调用/使用存储过程

call 存储过程名()

例:

delimter //                                        #定义开头
create procedure m1()                              #创建存储过程m1
       begin                                       #开始存储过程
            decclare i int;                        #declare定义变量i,类型是整型
            set i=0;                               #设置将i的值为0
            while i<1000 do                        #当i小于1000时执行循环
              insert into tb1(name)values (i);     #向表中插入数据
              set i=i+1;                           #将i的值+1
            end while;                             #循环结束
        end //                                     #定义结束
delimiter;
call ()                                            #调用存储过程

7. 事物

  • 将多个sql语句组合成一个整体,这个整体就是一个事物
  • 事物中的所有语句要么都执行,要么都不执行
  • 事物中的语句,如果只有部分执行成功,那么就需要将这个事物进行回滚操作
  • 回滚:将数据恢复到执行之前的状态
  • 通过使用事物,可以保证数据的一致性

7.1 事物的操作

  • 提交事物
  • 回滚事件
  • 提交事物:

让事物中的sql语句真正的生效

如果是使用了事物,那么在事物提交之前,其他用户是看不到事物中的操作的

  • 回滚事物:

将数据恢复到执行之前的状态

通过使用事物,可以保证数据的一致性

操作的命令格式

begin          #启动事物
commit         #提交事物,提交之后事物自动结束
rollback       #回滚事物,回滚之后事物自动结束

这里做个额外补充:

1B=8b

1KB=1024B

1MB=1024KB

1GB=1024MB

1TB=1024GB

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值