mysql数据管理--外键&数据的增删改
1.外键
1.1 外键管理:
主键:一个表中既可以有,也可以没有;如果有必须确保数据的唯一性
外键:可以有一个也可以有多个
主键所在的表叫做主表,外键所在的表叫做子表或者从表
1.2 创建外键:
方式一:建子表时指定外键约束
constraint FK_外键名 foreign key(子表引外键的列名) references 主表名(主表的引用的列名);
方式二:建表后修改
alter table 表名
add constranit 外键名 foreign key(子表引用外键的列名) references 主表名(要引用的主表的列名);
1.3 删除表与外键
删除表:删除有主外键关系的表时,要先删子表,再删主表
删除外键:
alter table 表名 drop foreigh key FK_外键名; //删除外键
alter table 表名 drop index FK_外键名; //删除索引
2.数据库数据管理
2.1 数据库意义
数据存储,数据管理
2.2 管理数据库数据的方法
通过SQLyog等管理工具管理数据库数据;
通过DML语句管理数据库数据
DML(数据操作语言):用于操作数据库对象中所包含的数据
INSERT ( 添加数据语句 )
UPDATE ( 更新数据语句 )
DELETE ( 删除数据语句 )
2.3 where条件子句:
2.4 增删改数据
2.4.1 添加数据:
语法:
INSERT INTO 表名 [ ( 字段1, 字段2, 字段3, … ) ] VALUES ( '值1', '值2', '值3', …),( '值1', '值2', '值3', …);
注:
字段或值之间用英文逗号隔开,[ ]包含的表示该部分可省略,但添加的值务必与表结构数据列顺序相对应,且数量一致;可同时插入多条数据,values 后用英文逗号隔开
2.4.2 修改数据:
语法:
UPDATE 表名 SET 列名 = value [ , column_name2 = value2, …. ] [ WHERE condition ];
注:
value 为修改后的数据,可以为变量、具体值、表达式或者嵌套的SELECT结果
condition为筛选条件,如不指定则修改该表的所有列数据
2.4.3 删除数据:
语法一:
DELETE FROM 表名 [ WHERE condition ];
注:condition为筛选条件,如不指定则删除该表的所有列数据
语法二:
TRUNCATE 表名 table_name;
相同:
都能删除数据、不删除表结构,但TRUNCATE 速度更快
不同:
使用TRUNCATE TABLE重新设置AUTO_INCREMENT计数器
使用TRUNCATE TABLE不会对事务有影响
注:
delete是将要删除的数据置空,但是仍占据位置,对于自增的数据,一之前的自增数据的最后一个为起点
truncate是清空表格