sql的外键
建立外键的语句:
alter table user_order add foreign key (username) references user_info (username) on delete cascade on update cascade;(username为user_info的主键)
特点:主键值不允许为空,不允许重复。外键中的值都在主键中。可以设置删除更新是否关联。
定义主键和外键主要是为了维护关系数据库的完整性,总结一下:
一、主键是能确定一条记录的唯一标识,比如,一条记录包括身份正号,姓名,年龄。身份证号是唯一能确定你这个人的,其他都可能有重复,所以,身份证号是主键。
外键用于与另一张表的关联。是能确定另一张表记录的字段,用于保持数据的一致性。比如,user_order表中的一个字段username,是user_info表的主键username,那他就可以是表user_order的外键。
SQL的主键和外键的作用:
外键取值规则:空值或参照的主键值。
(1)插入非空值时,如果主键表中没有这个值,则不能插入。
(2)更新时,不能改为主键表中没有的值。
(3)删除主键表记录时,你可以在建外键时选定外键记录一起级联删除还是拒绝删除。
(4)更新主键记录时,同样有级联更新和拒绝执行的选择。
简而言之,SQL的主键和外键就是起约束作用。
执行sql脚本
1.导出sql脚本
mysqldump -u 用户名 -p 数据库名 > 存放位置
mysqldump -u root -p test > c:/a.sql
2.导入sql脚本
mysql -u 用户名 -p 数据库名 < 存放位置
mysqldump -u root -p test < c:/a.sql
CREATE DATABASE `test2` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci