大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
1.外键的作用,主要有两个:
创新互联专注于嘉善企业网站建设,响应式网站,成都做商城网站。嘉善网站建设公司,为嘉善等地区提供建站服务。全流程按需制作网站,专业设计,全程项目跟踪,创新互联专业和态度为您提供的服务
一个是让数据库自己通过外键来保证数据的完整性和一致性
一个就是能够增加ER图的可读性
2.外键的配置
1)先创建一个主表,代码如下:
#创建表student,并添加各种约束
create table student
(
id int primary key , #主键约束
name varchar(20) , #唯一约束
age int NOT NULL, #非空约束
sex varchar(2) ,
address varchar(20) default '重庆' #默认约束
) ;
再通过一个外键,创建一个分数表,这样的话,就可以方便查询。代码如下:
#创建分数表
create table score
(
id int primary key ,
sid int ,
china int ,
history int,
english int,
constraint FK_sid foreign key(sid) references student(id) #通过外键创建链接
) ;
创建外键的方法有很多,其中最常见创建外键的格式是:constraint FK_*** foreign key(**) references 链接的外表
删除外键:
alter table drop foreign key '外键名'.
注意:
只有在定义外键时,用constraint 外键名 foreign key .... 方便进行外键的删除
主键是唯一标示这一行的,就好像你的身份证号一样,每个人只有一个,也是唯一能证明你是你的东西。外键是别人执行你的东西。也就是说如果一个人想和你有点关系怎么办,那就要关联起来,怎么关联起来,就通过外键啊
定义主键和外键主要是为了维护关系数据库的完整性,总结一下:
一、主键是能确定一条记录的唯一标识,比如,一条记录包括身份正号,姓名,年龄。身份证号是唯一能确定你这个人的,其他都可能有重复,所以,身份证号是主键。
外键用于与另一张表的关联。是能确定另一张表记录的字段,用于保持数据的一致性。比如,A表中的一个字段,是B表的主键,那他就可以是A表的外键。
必须加FN键配合,这样以来对于工作和游戏(比如魔兽)实为的不方便,下面我来介绍一下如何把F1,F2等键还原原来的功能。
1、开机出现logo(也就是Thinkpad字样)后,迅速按下F1键,进入BIOS。
2、找到CONFIG---Keyboard/Mouse----Change to "f1-f12 keys”,按回车更改为Legacy
3、然后按Fn+F10(改过的直接按F10)保存退出。
4、如果要更换为快捷键的,更改为另一选项即可。
安装MySQL
步骤 1):双击下载的 MySQL 安装文件,进入 MySQL 安装界面,首先进入“License Agreement(用户许可证协议)”窗口,选中“I accept the license terms(我接受系统协议)”复选框,单击“Next(下一步)”按钮即可。
有的会直接进入“Choosing a Setup Type(安装类型选择)”窗口,根据右侧的安装类型描述文件选择适合自己的安装类型,这里选择默认的安装类型,如图所示。
注意:图中列出了 5 种安装类型,分别是:
Developer Default:默认安装类型;
Server only:仅作为服务;
Client only:仅作为客户端;
Full:完全安装;
Custom:自定义安装类型。
步骤 2):根据所选择的安装类型安装 Windows 系统框架(framework),单击 Execute 按钮,安装程序会自动完成框架的安装,如图所示。
请点击输入图片描述
步骤 3):当弹出安装程序窗口时,勾选“我同意许可条款和条件”复选框,然后单击“安装”按钮,如图所示。
请点击输入图片描述
步骤 4):弹出“设置成功”的界面,表示该框架已经安装完成,单击“关闭”按钮即可。所有的框架安装均可参考本操作,如图所示。
请点击输入图片描述
步骤 5):安装完成后会在【status】列表下显示 Complete(安装完成)。所需框架均安装成功后,点击 Next 按钮,如图所示。
请点击输入图片描述
步骤 6):进入安装确认窗口,点击 Execute 按钮,开始 MySQL 各个组件的安装,如图所示。
请点击输入图片描述
步骤 7):开始安装 MySQL 文件,安装完成后在【Status】列表下显示 Complete,如图所示。
请点击输入图片描述
配置MySQL
MySQL 安装完成之后,需要对服务器进行配置,具体配置步骤如下:
步骤 1):在安装的最后一步中,点击 Next 按钮进入服务器配置窗口,进行配置信息的确认,确认后点击 Next 按钮,如图所示。
请点击输入图片描述
步骤 2):进入 MySQL 网络类型配置窗口,采用默认设置,点击 Next 按钮,如图所示。
请点击输入图片描述
步骤 3):进入 MySQL 服务器类型配置窗口,采用默认设置,点击 Next 按钮,如图所示。
请点击输入图片描述
上图中 3 个选项的具体含义如下:
Development Machine(开发机器):安装的 MySQL 服务器作为开发机器的一部分,在三种可选的类型中,占用的内存最少;
Server Machine(服务器):安装的 MySQL 服务器作为服务器机器的一部分,占用的内存在三种类型中居中;
Dedicated MySQL Server Machine(专用服务器):安装专用 MySQL 数据库服务器,占用机器全部有效的内存。
提示:初学者建议选择“Development Machine”选项,这样占用系统的资源比较少。
MySQL 端口号默认 3306,如果没有特殊需求一般不建议修改。继续点击 Next 按钮即可。
请点击输入图片描述
步骤 4):进入设置服务器的密码窗口,重复输入两次登录密码(建议字母数字加符号),点击 Next 按钮,如图所示。
请点击输入图片描述
提示:系统默认的用户名为 root,如果想添加新用户,可以单击“Add User(添加用户)”按钮进行添加。
步骤 5):进入服务器名称窗口设置服务器名称,这里无特殊需要也不建议修改。继续单击 Next 按钮,如图所示。
请点击输入图片描述
步骤 6):打开确认设置服务器窗口,点击 Execute 按钮完成 MySQL 的各项配置,如图所示。
请点击输入图片描述
注意:有些安装的时候会在“Starting the server”位置卡住不动,然后提示错误无法安装,可能是你下载的数据库版本过高与系统不匹配,可以降低数据库版本或者升级系统版本。
都检测通过后,继续点击 Finish、Next 安装就可以配置完成了。
步骤 7):最后打开 Windows 任务管理器对话框,可以看到 MySQL 服务进程 mysqld.exe 已经启动了,如图所示。
请点击输入图片描述
安装MySQL
步骤
1、双击下载的MySQL安装文件,进入MySQL安装界面,首先进入“License Agreement(用户许可证协议)”窗口,选中“I accept the license terms(我接受系统协议)”复选框,单击“Next(下一步)”按钮即可。有的会直接进入“Choosing a Setup Type(安装类型选择)”窗口,根据右侧的安装类型描述文件选择适合自己的安装类型,这里选择默认的安装类型,如图所示。
2、根据所选择的安装类型安装Windows系统框架(framework),单击Execute按钮,安装程序会自动完成框架的安装,如图所示。
3、当弹出安装程序窗口时,勾选“我同意许可条款和条件”复选框,然后单击“安装”按钮,如图所示。
4、弹出“设置成功”的界面,表示该框架已经安装完成,单击“关闭”按钮即可。所有的框架安装均可参考本操作,如图所示。
5、安装完成后会在【status】列表下显示Complete(安装完成)。所需框架均安装成功后,点击Next按钮,如图所示。
6、进入安装确认窗口,点击Execute按钮,开始MySQL各个组件的安装,如图所示。
7、开始安装 MySQL 文件,安装完成后在【Status】列表下显示 Complete,如图所示。
配置MySQL
MySQL安装完成之后,需要对服务器进行配置,具体配置步骤如下:步骤
1、在安装的最后一步中,点击Next按钮进入服务器配置窗口,进行配置信息的确认,确认后点击Next按钮,如图所示。
2、进入MySQL网络类型配置窗口,采用默认设置,点击Next按钮,如图所示。
3、进入MySQL服务器类型配置窗口,采用默认设置,点击Next按钮,如图所示。
4、MySQL端口号默认3306,如果没有特殊需求一般不建议修改。继续点击Next按钮即可。
5、进入设置服务器的密码窗口,重复输入两次登录密码(建议字母数字加符号),点击Next按钮,如图所示。
6、进入服务器名称窗口设置服务器名称,这里无特殊需要也不建议修改。继续单击Next按钮,如图所示。
7、打开确认设置服务器窗口,点击Execute按钮完成MySQL的各项配置,如图所示。
8、最后打开Windows任务管理器对话框,可以看到MySQL服务进程mysqld.exe已经启动了,如图所示。至此,就完成了Windows操作系统下MySQL数据库的安装和配置。
如果是对多个列增加 UNIQUE 约束,通过 ADD UNIQUE KEY 处理。
mysql CREATE TABLE test_unique(
- id INT,
- name VARCHAR(10),
- value VARCHAR(10)
- );
Query OK, 0 rows affected (0.08 sec)
mysql ALTER TABLE test_unique
- ADD UNIQUE KEY(name, value);
Query OK, 0 rows affected (0.13 sec)
Records: 0 Duplicates: 0 Warnings: 0
为已经添加好的数据表添加外键:
语法:alter table 表名 add constraint FK_ID foreign key(你的外键字段名) REFERENCES 外表表名(对应的表的主键字段名);
例: alter table tb_active add constraint FK_ID foreign key(user_id) REFERENCES tb_user(id)
//FK_ID是外键的名称
/*
CREATE TABLE `tb_active` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`title` varchar(100) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
`content` text CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
`user_id` int(11) NOT NULL,
PRIMARY KEY (`id`),
KEY `user_id` (`user_id`),
KEY `user_id_2` (`user_id`),
CONSTRAINT `FK_ID` FOREIGN KEY (`user_id`) REFERENCES `tb_user` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
*/
删除外键
语法: ALTER TABLE table-name DROP FOREIGN KEY key-id;
例: ALTER TABLE `tb_active` DROP FOREIGN KEY 'FK_ID'
自动键更新和删除:
外键可以保证新插入的记录的完整性,但是,如果在REFERENCES从句中已命名的表删除记录会怎么样?在使用同样的值作为外键的辅助表中会发生什么?
很明显,那些记录也应该被删除,否则在数据库中就会有很多无意义的孤立记录,MYSQL可以通过向FOREIGN KEY...REFERENCES修饰符添加一个ON DELETE 或ON UPDATE子句简化任务,它告诉了数据库在这种情况如何处理孤立任务。