精华内容
下载资源
问答
  • mysql 之foreign key

    2020-05-11 11:58:40
    这篇文章的外键语法没有论证 ...如图有两张表,classId 是T_Student的外键,是T_class 表的主键, 如果我们要删除T_class 表中classId为1的字段,程序是会报错的,因为t_student表中有数据和classId为1的字段关联

    外部关键字

    在以后我们统一将外部关键字叫做外键,外键就是另一张表中的主键。

    外键是副表上面的,依赖于主表的主键。

    外键作用

    答:外键的主要作用就是保持数据的一致性,完整性。

    外键约束的示例

    在这里插入图片描述
    这么设置外键呢,答案是看表与表之间的关系
    方法如下:
    左边是学生表,右边是班级表。一个学生是一个班级的,一个班级应该有多个学生,学生:班级应该是1:n的关系
    将主键放在1这个上面,外键放在n这个上面。
    如图有两张表,classId 是T_Student的 外键,是T_class 表的主键, 如果我们要删除T_class 表中classId为1的字段,程序是会报错的,因为t_student表中有数据和classId为1的字段关联了,是不能删除的,这样子就保证了数据的一致性和完整性。

    继续问:那怎么才能删除呢?
    接着答:需要先删除T__student表中classId为1的两个字段。

    如何给表添加外部关键字
    在MySQL中给表中字段添加外键约束的语法规则如下:

    CONSTRAINT 外键名 FOREIGN KEY 字段名 REFERENCES 主表名(主键名)
    举个例子:现在有两张表,t_emp、t_dept如下。
    t_emp表
    在这里插入图片描述
    t_dept表
    在这里插入图片描述
    字段名称 数据类型 备注
    id INT 员工编号
    name VARCHAR(22) 员工姓名
    deptId INT 部门ID(外键类型必须和对应主键类型一直)
    我们来创建两张表,并给员工表(t_emp)添加外键:

    CREATE TABLE t_dept
    (
    deptId INT PRIMARY KEY,
    name VARCHAR(22),
    location VARCHAR(50)
    );
    CREATE TABLE t_emp
    (
    id INT PRIMARY KEY,
    name VARCHAR(22),
    deptId INT,
    CONSTRAINT fk_emp_dept1 FOREIGN KEY(deptId) REFERENCES t_dept(deptId)
    );
    实际操作如图:
    在这里插入图片描述

    外键约束,外键字段,外键值

    外键约束:一种约束。
    外键字段:外键约束的字段。
    外键值:外键字段的值,可以为null。

    外键怎么分析

    外键是主副表的联系。主副表之间的关系是1:n。比如说班级表:学生表是1:n。一个班级有多个学生,那么关系就是1:n.

    主副表的创建,删除以及表中数据的删除,插入顺序。

    • 创建:先创建主表,再创建副表。
    • 删除:先删除附表,再删除主表。
    • 表中数据删除:先删除子表,再删除主表。
    • 表中数据的插入:先插入主表,再插入副表。

    外键和主键之间的关系。(很重要)

    子表中的外键必须依赖于主表中的字段必须要有唯一性约束,不能重复,不一定是主键。

    展开全文
  • Python核心编程第二版(中文)

    热门讨论 2015-04-23 16:40:13
    7.6.4 如何删除集合的成员和集合 7.7 集合类型操作符 7.7.1 标准类型操作符(所有的集合类型) 7.7.2 集合类型操作符(所有的集合类型) 7.7.3 集合类型操作符(仅适用于可变集合) 7.8 内建函数 7.8.1 ...
  • Python核心编程(中文第二版)

    热门讨论 2009-10-02 12:08:14
     10.10 (现在)为什么用异常   10.11 到底为什么要异常   10.12 异常和sys模块   10.13 相关模块   10.14 练习   第11章 函数和函数式编程   11.1 什么是函数?   11.1.1 函数vs过程   ...
  • 5.8.1 在SQL Server Management Studio中删除数据库 145 5.8.2 Drop database语句删除数据库 146 5.9 收缩数据库 146 5.9.1 自动收缩数据库 147 5.9.2 手动收缩数据库 147 5.9.3 手动收缩数据库文件 149 ...
  • 2009达内SQL学习笔记

    2010-02-10 19:46:58
    select:从一个或多个表中检索一个或多个数据列。包含信息:想选择什么表,从什么地方选择。必须有From子句。(最常用) 当从多张表里查询的时候,会产生笛卡尔积;可用条件过滤它。 当两个表有相同字段时必须加...
  • MySQL命令大全

    2018-01-15 11:19:17
    6、删除表中数据 命令:delete from 表名 where 表达式 例如:删除表 MyClass中编号为 的记录 mysql> delete from MyClass where id=1; 7、修改表中数据:update 表名 set 字段=新值,…where 条件 mysql> ...
  • MYSQL常用命令大全

    2011-05-30 13:31:24
    6、删除表中数据 命令:delete from 表名 where 表达式 例如:删除表 MyClass中编号为1 的记录 mysql> delete from MyClass where id=1; 7、修改表中数据:update 表名 set 字段=新值,… where 条件 mysql> update ...
  • 用什么关键字修饰同步方法? stop()和suspend()方法为何不推荐使用? 56 2、sleep() 和 wait() 有什么区别? 56 3、当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法? 56 4、线程...
  • 图书管理系统毕业设计+源码-java

    千次下载 热门讨论 2012-05-06 13:45:09
    例如,表中检索所有命名为Products的记录,输入Select *from products。现在我们已经检索出了一个记录集,必须使用DataBinder控件或DataGrid控件绑定它。为该datasource控件命名为DataSource1,然后在设置它的...
  • SQL语法大全

    2014-03-30 11:00:11
    sql="select * from 数据 where 字段名 like \'%字段值%\' order by 字段名 [desc]" sql="select top 10 * from 数据 where 字段名 order by 字段名 [desc]" sql="select * from 数据 where 字段名 in (\'值...
  • 日期类型 date 7字节 用于存储表中的日期和时间数据,取值范围是公元前4712年1月1日至公元9999年12月31日,7个字节分别表示世纪、年、月、日、时、分和秒 二进制数据类型 row 1~2000字节 可变长二进制数据,在具体...
  • 7.7 GROUPING()来扩展报告 186 7.8 使用GROUPING_ID()来扩展报告 187 7.9 GROUPING SETS与ROLLUP() 191 7.10 GROUP BY局限性 193 7.11 小结 196 第8章 分析函数 197 8.1 示例数据 197 8.2 分析函数剖析 198...
  • 7.7 GROUPING()来扩展报告 186 7.8 使用GROUPING_ID()来扩展报告 187 7.9 GROUPING SETS与ROLLUP() 191 7.10 GROUP BY局限性 193 7.11 小结 196 第8章 分析函数 197 8.1 示例数据 197 8.2 分析函数剖析 198...
  •  Access左连接语法(最近开发要用左连接,Access帮助什么都没有,网上没有Access的SQL说明,只有自己测试, 现在记下以备后查)  语法 select table1.fd1,table1,fd2,table2.fd2 From table1 left join table2 on table1...
  • 28.SQLSERVER服务器,给定 table1 有两个字段 ID、LastUpdateDate,ID表示更新的事务号, LastUpdateDate表示更新时的服务器时间,请使用一句SQL语句获得最后更新的事务号 答:Select ID FROM table1 Where ...
  • 8.3.3 指针删除空间 102 8.4 动态内存 103 8.4.1 内存泄漏 103 8.4.2 在堆创建对象 104 8.4.3 在堆中删除对象 105 8.4.4 访问堆的数据成员 105 8.4.5 在构造函数开辟内存空间 106 8.4.6 对象在栈...
  • 新生代什么要分为Eden和Survivor。 4.4.5 JVM一次完整的GC流程是怎样的,对象如何晋升到老年代,说说你知道的几种主要的JVM参数。 4.4.6 你知道哪几种垃圾收集器,各自的优缺点,重点讲下cms和G1,包括原理...
  • 最新Java面试宝典pdf版

    热门讨论 2011-08-31 11:29:22
    用什么关键字修饰同步方法? stop()和suspend()方法为何不推荐使用? 29 47、sleep() 和 wait() 有什么区别? 30 48、同步和异步有何异同,在什么情况下分别使用他们?举例说明。 32 49. 下面两个方法同步吗?(自己...
  • 1.12 关键字auto到底有什么用途? 类型定义(typedef) 1.13 对于用户定义类型,typedef和#define有什么区别? 1.14 我似乎不能成功定义一个链表。我试过typedefstruct{char*item;NODEPTRnext;}*NODEPTR;但是编译器...
  • Java面试宝典2010版

    2011-06-27 09:48:27
    用什么关键字修饰同步方法? stop()和suspend()方法为何不推荐使用? 47、sleep() 和 wait() 有什么区别? 48、同步和异步有何异同,在什么情况下分别使用他们?举例说明。 49. 下面两个方法同步吗?(自己发明) ...
  • arcgis工具

    2012-10-22 22:37:31
    使用一个属性字段作为超链 在内容表中右击包含一个超链接字段的图层,然后点击properties ,单击Display选项卡。选中Supprt Hyper3. Hyperlinks using field选项,单击下拉箭头并点击一个字段。 单击Document or URL...
  • 用什么关键字修饰同步方法? stop()和suspend()方法为何不推荐使用? 29 47、sleep() 和 wait() 有什么区别? 30 48、同步和异步有何异同,在什么情况下分别使用他们?举例说明。 32 49. 下面两个方法同步吗?(自己...
  • 《你必须知道的495个C语言问题》

    热门讨论 2010-03-20 16:41:18
    1.12 关键字auto到底有什么用途? 7 类型定义(typedef) 7 1.13 对于用户定义类型,typedef 和#define有什么区别? 7 1.14 我似乎不能成功定义一个链表。我试过typedef struct{char *item; NODEPTR next;}* ...
  • 1.12 关键字auto到底有什么用途? 7 类型定义(typedef) 7 1.13 对于用户定义类型,typedef 和#define有什么区别? 7 1.14 我似乎不能成功定义一个链表。我试过typedef struct{char *item; NODEPTR next;}* ...
  • asp.net知识库

    2015-06-18 08:45:45
    将数据库表中的数据生成Insert脚本的存储过程!!! 2分法-通用存储过程分页(top max模式)版本(性能相对之前的not in版本极大提高) 分页存储过程:排序反转分页法 优化后的通用分页存储过程 sql语句 一些Select检索高级...
  • 4.1.6 删除表中的列 131 4.1.7 报告表信息 132 4.1.8 删除表 132 4.2 排序规则基础 133 4.2.1 查看排序规则元数据 133 4.2.2 指定列的排序规则 134 4.3 键 134 4.3.1 创建有主键的表 135 4.3.2 为...
  • 1.1.3 数据、记录、字段、查询、SQL、索引和键 3 1.2 MySQL 4 1.3 MySQL的不足 6 1.4 MySQL的版本编号 7 1.4.1 Alpha、Beta、Gamma、Production(Generally Available) 8 1.4.2 按版本编号排列的MySQL功能...
  • 新增一个下载记录和几个字段。 1 修改表名为小写。可以使用这样的SQL语句: rename table HBDX_BASEINFO to hbdx_baseinfo; 2 修改字段名为小写。这个可以手动修改。使用SQL语句修改的方法暂时没有找到统一的。...
  • jdbc基础和参考

    2014-01-08 13:04:17
    1.写一条恒成立的select语句,无论你输入的条件是什么,总是能讲表中的所有数据输出 select id,last_name from s_emp where '1' ='1'; where 1=1; findByOption(Integer age,String province,String gender){ ...

空空如也

空空如也

1 2 3
收藏数 49
精华内容 19
关键字:

删除表中字段要用什么关键字