外键的概念:
一个表的主键在另外一个表中出现,在另外一个表中称为外键
作用:表间的数据插入、更新的时候的一种约束
创建外键:
已经存在的表建立外键:
alter table 表名 add foreign key (当前表的字段) references 表名(字段)
创建表的时候建立外键
create table goods_test ( id int primary key auto_increment, name varchar(150) not null, cate_id int unsigned not null, brand_id int unsigned not null,
? foreign key (cate_id) references goods_cates(id),
? foreign key (brand_id) references goods_brands(id)
? );
删除外键:
视图: 虚拟表,仅仅支持查询,把复杂SQL语句的功能封装起来的一个虚表
创建视图
create view 视图名 as select .....
注意: 视图名一般是以v_ 开头
查询视图
show tables;
使用视图
视图只能用来查询
查询时和使用普通表效果一致
select * from v_goods_info;
删除视图
drop view 视图的名称;
事务概念:事务Transaction,是指作为一个基本工作单元执行的一系列SQL语句的操作,要么全成功,要不全失败
作用:要么完全地执行,要么完全地都不执行
事务的特征 ACID:
使用步骤:
开启事务
begin;
操作数据库
insert update delete
确认修改
commit;
回滚
rollback;
索引作用:提升查询效率
索引的使用:
查看索引 show index from 表名
创建索引: crete index 索引名 on 表名(表中的字段名(字段长度))
如果字段是字符串类型,需要指定长度
如果字段不是字符串类型,可以不指定长度
删除索引: drop index 索引名 on 表名;
创建用户
create user ‘用户名‘@‘主机‘ identified by ‘密码‘
授权
grant 权限 on 数据库.表 to ‘用户名‘@‘主机‘;
刷新权限
flush privileges;
修改用户权限
grant 权限 on 数据库.表 to ‘用户名‘@‘主机’ with grant option;
修改用户密码
知道密码,改新密码
alter user ‘用户名‘@‘主机’ identified by ‘新密码‘;
忘记密码,重置密码
删除用户
drop user ‘用户名‘@‘主机‘;
delete from user where user=‘‘ and host=‘‘