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