mysql外键设置sql语句,SQL Server 2008之SQL语句外键
xin3721网络学院为广大学员,准备了丰富了教学视频。为了更好的让大学配合视频进行学习,拓展学员的知
识面,我站特整理了大量的,技术文章,供学员参考。因此本教案需配合视频教程学习,
视频教程地址为:vb.net教程
外来键是一个(或数个)指向另外一个表格主键的栏位。外来键的目的是确定资料的参考完整性(referential integrity)。换言之,只有被准许的资料值才会被存入资料库内。
举例来说,假设我们有两个表格:一个 CUSTOMER 表格,里面记录了所有顾客的资料;另一个 ORDERS 表格,里面记录了所有顾客订购的资料。在这里的一个限制,就是所有的订购资料中的顾客,都一定是要跟在 CUSTOMER 表格中存在。在这里,我们就会在 ORDERS 表格中设定一个外来键,而这个外来键是指向 CUSTOMER 表格中的主键。这样一来,我们就可以确定所有在 ORDERS 表格中的顾客都存在 CUSTOMER 表格中。换句话说,ORDERS表格之中,不能有任何顾客是不存在于 CUSTOMER 表格中的资料。
这两个表格的结构将会是如下:
CUSTOMER 表格栏位名
性质
SID
主键
Last_Name
First_Name
ORDERS 表格
栏位名
性质
Order_ID
主键
Order_Date
Customer_SID
外来键
Amount
在以上的例子中,ORDERS 表格中的 customer_SID 栏位是一个指向 CUSTOMERS 表格中 SID 栏位的外来键。
以下列出几个在建置 ORDERS 表格时指定外来键的方式:
MySQL:
CREATE TABLE ORDERS
(Order_ID integer,
Order_Date date,
Customer_SID integer,
Amount double,
Primary Key (Order_ID),
Foreign Key (Customer_SID) references CUSTOMER(SID));
Oracle:
CREATE TABLE ORDERS
(Order_ID integer primary key,
Order_Date date,
Customer_SID integer references CUSTOMER(SID),
Amount double);
SQL Server:
CREATE TABLE ORDERS
(Order_ID integer primary key,
Order_Date datetime,
Customer_SID integer references CUSTOMER(SID),
Amount double);
以下的例子则是藉着改变表格架构来指定外来键。这里假设 ORDERS 表格已经被建置,而外来键尚未被指定:
MySQL:
ALTER TABLE ORDERS
ADD FOREIGN KEY (customer_sid) REFERENCES CUSTOMER(sid);
Oracle:
ALTER TABLE ORDERS
ADD (CONSTRAINT fk_orders1) FOREIGN KEY (customer_sid) REFERENCES CUSTOMER(sid);
SQL Server:
ALTER TABLE ORDERS
ADD FOREIGN KEY (customer_sid) REFERENCES CUSTOMER(sid);
mysql外键设置sql语句,SQL Server 2008之SQL语句外键相关推荐
- SQL Server 2008中SQL增强之三:Merge(在一条语句中使用Insert,Update,Delete)
SQL Server 2008中SQL增强之三:Merge(在一条语句中使用Insert,Update,Delete) SQL Server 2008提供了一个增强的SQL命令Merge,用法参看MS ...
- 结局就在附近! (对于SQL Server 2008和SQL Server 2008 R2)
介绍 (Introduction) As with everything else, all good things must come to an end. After hanging around ...
- SQL Server 2008中SQL应用系列及BI学习笔记系列--目录索引 @邀月
邀月 的数据库学习 http://www.cnblogs.com/downmoon/archive/2011/03/10/1980172.html SQL Server 2008中SQL应用系列及BI ...
- SQL Sever 各版本下载 SQL Server 2012下载SQL Server 2008下载SQL Server 2005 下载SQL Server 2000 下载...
SQL Server 2016简体中文企业版 文件名:cn_sql_server_2016_enterprise 64位下载地址:ed2k://|file|cn_sql_server_2016_ent ...
- SQL Server 2008中SQL之WaitFor
SQL Server 2008中SQL应用系列--目录索引 在SQL Server 2005以上版本中,在一个增强的WaitFor命令,其作用可以和一个job相当.但使用更加简捷. 看MSDN: ht ...
- SQL Sever 各版本下载 SQL Server 2012下载SQL Server 2008下载SQL Server 2005 下
SQL Sever 各版本下载 SQL Server 2012下载SQL Server 2008下载SQL Server 2005 下载SQL Server 2000 下载 SQL Server 20 ...
- sql2008和2012区别_SQL server 2008 和SQL server 2012 的优势
SQL server 2008 和SQL server 2012 的优势 SQL server 数据库有SQL server 2008.SQL server 2012.SQL server 2014. ...
- sql服务器状态已停止,SQL SERVER 2008 SSMS - SQL Server Management Studio 已停止工作
Overall summary: Final result: 已通过 Exit code (Decimal): 0 Exit message: ...
- sql server 2008 年累计数_Windows Server 2008 和 SQL Server 2008将终止支持 迁移至Azure 微软提供3年免费技术支持...
点击上方蓝色字关注我们~ 迁移至 Azure 并利用免费扩展安全更新.了解有关支持终止建议的更多信息,请使用浏览器访问: https://www.microsoft.com/zh-cn/sql-ser ...
最新文章
- 网课谁的最好_报补习班,还是“上网课”?利用课余时间提高成绩,网课更加适合...
- OpenCV图像发现轮廓函数findContours()的使用
- pthread_join函数
- Eclipse导入类库【Java】
- GARFIELD@09-11-2004
- mysql java 问题_【Java】连接MySQL问题总结
- 洛谷——P1075 [NOIP2012 普及组] 质因数分解
- 电机不动 米兔机器人_深度解密米兔积木机器人八大黑科技
- PDF预览之PDFObject.js总结
- ResHacker使用小解
- Python实现视频转代码舞
- 奢华酒店品牌美高梅将入驻上海西岸;ClinChoice昆翎完成1.5亿美元融资 | 美通企业日报...
- 一定要独立,一定要争气
- line-height的理解
- 更改Linux系统的主机名(hostname)两种实用的方法
- java中Scanner类用法的详解
- 下级对上级回复已阅知_阅示、阅知、阅悉之间有什么区别
- 极简html4网页布局,浅淡极简的网页设计:少即多
- 安大计算机学院李伟教授,安徽大学高教所研究生导师聘任仪式在我校举行
- C语言从菜鸟到笨鸟 第一天
热门文章
- jQuery 计时器(jquery timers)简单应用
- Python读写ini文件的封装类
- linux常用特殊符号
- ExecutorService源码解读
- 哈工大C语言公开课练兵编程(二)
- 小波基函数构造matlab,五种常见小波基函数及其matlab实现全解.docx
- java byte 正数最大_关于JAVA中Byte类型的取值范围的推论(*零为正数,-128在计算机中的表示方法...)...
- faster rcnn resnet_RCNN, Fast R-CNN 与 Faster RCNN理解及改进方法
- python如何使用字典_Python-如何使用点“。” 访问字典成员?
- 生活质量衡量系统_数据质量与数据质量八个维度指标