Mysql中如果表和表之间建立的外键约束,则无法删除表及修改表结构 解决方法是在Mysql中取消外键约束: SET FOREIGN_KEY_CHECKS=0; 然后将原来表的数据导出到sql语句,重新创建此表后,再把数据使用sql导入, 然后再设置外键约束: SET FOREIGN_KEY_CHECKS=1;…
快速删除: CMD命令 SET FOREIGN_KEY_CHECKS=0;去除外键约束 truncate table 表名;…
MySQL数据库操作中,Delete与Truncate两个命令都可以删除一个数据表中的全部数据,使用办法分别是: DELETE FROM t_question TRUNCATE TABLE t_question 但两种命令对数据表操作后,当添加数据时,实际效果还是不同的.Delete命令只是删除里面的记录,当插入新记录时,自增主键仍然在已经删除的记录基础上进行自增,即不会回到从1开始的情况:而Truncate命令则是重构了数据表,所以,使用Truncate命令后的数据表,当插入新记录时,自增主键…
外键的定义语法:[CONSTRAINT symbol] FOREIGN KEY [id] (index_col_name, ...)    REFERENCES tbl_name (index_col_name, ...)    [ON DELETE {RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT}]    [ON UPDATE {RESTRICT | CASCADE | SET NULL | NO ACTION | SET DE…
1.什么是外键约束 外键约束(foreign key)就是表与表之间的某种约定的关系,由于这种关系的存在,我们能够让表与表之间的数据,更加的完整,关连性更强. 关于数据表的完整性和关连性,可以举个例子 有二张表,一张是用户表,一张是订单表: 1.如果我删除了用户表里的用户,那么订单表里面跟这个用户有关的数据,就成了无头数据了,不完整了. 2.如果我在订单表里面,随便插入了一条数据,这个订单在用户表里面,没有与之对应的用户.这样数据也不完整了. 如果有外键的话,就方便多了,可以不让用户删除数据,或…
转自: http://www.maomao365.com/?p=813 在制作 MSSQL同步工具的时候,发现由于主外键的约束,导致数据同步异常,所有我们需要把 读数据库里面的主外键约束,进行批量删除操作. 1 如何批量查询数据库的主外键? 在MSSQL2005以上版本中,系统提供一个系统视图 sys.foreign_keys 可以查询出系统所有的外键约束2 如何批量删除数据库的主外间键? -----------------------------------------------------…
前面的文章中讲解了外键的基础知识和操作,上一篇文章讲解了sqlalchemy的基本操作.前面两篇文章都是作为铺垫,为下面的文章打好基础.记得初一时第一次期中考试时考的不好,老爸安慰我说:“学习是一个循序渐进的过程”,而我的就是按照这样思路来学习数据库外键.首先是了解外键基础理论,然后是sqlalchemy基本操作,最后才到sqlalchemy操作外键. sqlalchemy体现的外键特性 外键回顾: 外键的出现是因为两张表之间需要有关联,为了保证数据的完整性和唯一性而产生的.有外键时会有两张以上…
添加主键约束: ALTER TABLE GA_AIRLINE ADD CONSTRAINT PK_AIRLINE_ID PRIMARY KEY(AIRLINE_ID); 有三种形式的外键约束: 1.普通外键约束(如果存在子表引用父表主键,则无法删除父表记录) 2.级联外键约束(可删除存在引用的父表记录,而且同时把所有有引用的子表记录也删除) 3.置空外键约束(可删除存在引用的父表记录,同时将子表中引用该父表主键的外键字段自动设为NULL,但该字段应允许空值) 这三种外键约束的建立语法如下: 例如…
一.约束的分类 1.实体约束 实体约束是关于行的,比如某一行出现的值不允许出现在其他行,例如主键约束. 2.域约束 域约束是关于列的,对于所有行,某一列有那些约束,例如检查约束. 3.参照完整性约束 若果某列的值必须与其他列的值匹配,那就意味着需要一个参照完整性约束,例如外键约束. 二.约束命名 1.系统创建约束名称 Sql Server我们不提供约束名称,会自动创建名称,但是创建的名称不是很有用.比如: 主键约束名:PK_Student_134351F,  检查约束名:CK_Student_5…
今天在工作中遇到的问题,在删除一个表时报错,发现有外键约束,所以不能删除,查了下发现需要取消外键约束. SET GLOBAL FOREIGN_KEY_CHECKS=0;全局取消外键约束 SET SESSION FOREIGN_KEY_CHECKS=0;会话取消外键约束 如果有不当的地方欢迎指出!…
一.分表.外键.级联.多对一 二.多对多 三.一对一 一.分表.外键.级联.多对一 将部门数据与员工数据放到同一张表中会造成 数据重复 结构混乱 扩展维护性差 需要分表 create table dept(id int primary key auto_increment,name char(20),job char(20)); create table emp(id int primary key auto_increment,name char(20),gendr char,age int,…
MVC M: model 模型 与数据库交互 V: view 视图 HTML C:controller 控制器 流程 和 业务逻辑 MTV M:model ORM T:template 模板 HTML V:view 视图 业务逻辑 Django中的视图 FBV  def add_publisher(request,*args,**kwargs):  # 逻辑  return  response urls.py   url(r'^add_publisher',add_publisher ) CBV…
测试脚本配置 ''' 当你只是想测试django中的某一个文件内容 那么你可以不用书写前后端交互的形式而是直接写一个测试脚本即可 脚本代码无论是写在应用下的test.py还是单独开设py文件都可以 ''' # 测试环境的准备 去manage.py中拷贝前四行代码到测试文件 然后自己写两行 impor…
本博将对主键.外键.MySql数据库约束和联结表的相关特性进行总结和实战 1. 主键 表中的每一行都应该具有可以唯一标识自己的一列(或一组列),而这个承担标识作用的列称为主键 如果没有主键,数据的管理会十分混乱.比如会存在多条一模一样的记录,删除和修改特定行十分困难 (1)哪些列可以作为主键? 任何列都可以作为主键,只要它满足以下条件: a. 任何两行都不具有相同的主键值,就是说这列的值都互不相同 b. 每个行都必须具有一个主键值,主键列不允许设置为NULL c. 主键列的值不建议进行修改和更新…
文章目录 1.数据库基础 1.1 数据库(database) 1.2 表(table) 1.3 列和数据类型 1.4 行 1.5 主键 2.什么是SQL 3.创建后续练习所需数据库.表(MySQL8.0.16) 3.1 创建数据库 3.2 创建数据库表 3.2.1开始创建数据库表 3.2.2 为各表定义主.外键约束 3.3 插入数据 1.数据库基础 SQL是一种专门用来与数据库沟通的语言,因此在学习SQL之前,我们应该对数据库和数据库技术的某些基本概念有所了解. 本节主要介绍数据库及数据库技术的…
<SQL必知必会>学习笔记(二) 咱们接着上一篇的内容继续.这一篇主要回顾子查询,联合查询,复制表这三类内容. 上一部分基本上都是简单的Select查询,即从单个数据库表中检索数据的单条语句,但是实际应用中的业务逻辑往往会非常复杂,所以会用到一些比较复杂的查询,如子查询,联合查询. 1.子查询 当一个查询是另一个查询的条件时,称为子查询.但是说到子查询又不的不说它与嵌套查询两者的区别,下面一张图来说明 下面再用一条sql语句来说明他们的关系. 其中在查询中又分为嵌套子查询和相关子查询,他们之间…
春节放假没事,找了本电子书mysql必知必会敲了下.用的工具是有道笔记的markdown文档类型. 下面是根据大纲已经敲完的章节,可复制到有道笔记的查看,更美观. # 第一章 了解SQL## 什么是SQL#### SQL(Structured Query Language)机构化查询语言,是一种专门与数据库通信的语言.***### 什么是数据库?  #### 数据库是一个以某种有组织的方式存储的数据集合. 数据库(database):保存有组织数据的容器(通常是一个文件或一组文件)  *** #…
目录 第1章 了解数据库 1.1 数据库基础 1.1.1 什么是数据库 1.1.2 表 1.1.3 列和数据类型 1.1.4 行 1.1.5 主键 1.2 什么是SQL 第2章 MySQL简介 2.1 什么是MySQL 2.1.1 客户机-服务器软件 2.1.2 MySQL版本 2.2 MySQL工具 2.2.1 mysql命令行实用程序 2.2.2 使用Navicat 第3章 使用MySQL 3.1 连接 3.2 选择数据库 3.3 了解数据库和表 第4章 检索数据 4.1 SELECT语句…
Edit Mysql 必知必会 第一章 理解SQL 什么是数据库 数据库(database) 保存有组织的数据的容器 什么是表  一组特定类型的数据的结构化清单 什么是模式  数据库和表的布局及特性的信息 什么是列  表中的一个字段,所有的表都是由一个或者多个列组成 什么是数据类型  所容许的数据类型, 每个表的每个字段都有指定的字段和类型. 什么是行  表中的一个记录 什么是主键  一列或者一组列,其值能够唯一区分表中每一行 主键的规则  主键不能重复 主键不能为空 什么是SQL  结构化查询…
ORM 操作 必知必会13条 import os # if __name__ == '__main__': # 当前文件下执行 os.environ.setdefault('DJANGO_SETTINGS_MODULE','orm_p.settings') import django django.setup() # 初始设置 脚本 加载了Django环境 from app01 import models ret = models.Person.objects.all() # QuerySet…
SQL必知必会 总结(一) 第 1 课 了解SQL 1.数据库(database): 保存有组织的数据容器(通常是一个文件或一组文件). 2.数据库管理系统(DBMS): 数据库软件,数据库是通过 DBMS 创建和操纵的容器. 3.表(table): 某种特定类型数据的结构化清单. 4.表名: 使表名成为唯一的,实际上是数据库名和表名等的组合.也就是说,虽然在相同的数据库中不能两次使用相同的表名,但在不同的数据库中完全可以使用相同的表名. 5.列(column): 表中的一个字段.所有表都是由一…
一.SQL语句语法 ALTER TABLE ALTER TABLE 用来更新已存在表的结构. ALTER TABLE tablename (ADD|DROP column datatype [NULL|NOT NULL] [CONSTRAINTS], ... ); COMMIT COMMIT 用来将事物写入数据库. COMMIT [TRANSACTION]; CREATE INDEX CREATE INDEX 用于在一个或多个列上创建索引. CREATE INDEX indexname ON t…
以前 mysql 用的不是很多, 2 天看了一遍 mysql 必知必会又复习了一下基础.  200 页的书,很快就能看完, 大部分知识比较基础, 但还是了解了一些以前不知道的知识点.自己做一个备份,随时查看. 命令:sql 不区分大小写,语句大写,列.表名小写是一种习惯连接命令:mysql -u user_name –h example.mysql.alibabalabs.com –P3306 –pxxxxquithelp show; // 查看所有 show 命令show databases;…
MySql必知必会 2017-12-21 意义:记录个人不注意的,或不明确的,或不知道的细节方法技巧,此书250页 登陆: mysql -u root-p -h myserver -P 9999 SHOW STATUS,用于显示广泛的服务器状态信息 DESCRIBE tableName;是SHOW COLUMNS FROM tableName;的一种快捷方式 SHOW CREATE DATABASE和SHOW CREATE TABLE,分别用来显示创建特定数据库或表的MySQL语句 SHOW G…
from django.test import TestCase # Create your tests here. import os import sys if __name__ == "__main__": os.environ.setdefault("DJANGO_SETTINGS_MODULE", "day53.settings") import django django.setup() from app01 import model…
单表查询 补充一个知识点:在models.py建表是 create_time = models.DateField() 关键字参数: 1.auto_now:每次操作数据,都会自动刷新当前操作的时间 2.auto_now_add:在创建数据的时候,会自动将创建的时间记录下来,后续的修改不影响该字段 增.删.改.查 增 方式1:create book_obj =models.Book.objects.create(title='三国',price=19.99,create_time='2019-11…
MySQL必知必会 ​ 了解SQL 什么是数据库:数据库(database)保存有阻止的数据的容器,可以把数据库想象成一个文件柜. 什么是表:表(table) 某种特定类型结构的结构化清单,数据库中的表的名字是唯一的. 什么是列:列(column)表中的一个字段.所有表都是有一个或多个列组成的,理解列的最好办法是将数据库表想象为一个网格,网格中每一列存储着一条特定信息.例如,编号,地址,邮政编码. 什么是行:行(row) 表中的数据是按行存储的,所保存的每个记录存储在自己的行内,例如,每一行存储…
参考书籍: BookName:<SQL必知必会(第4版)> BookName:<Mysql必知必会(第4版)> Author: Ben Forta 说明:本书学习笔记 1.了解SQL 1.1 数据库基础 1.1.1 数据库 数据库是一个以某种有组织的方式存储的数据集合,即保存有组织的数据的容器(通常是一个文件或一组文件). 数据库软件应称为数据库管理系统(DBMS). 1.1.2 表 表是一种结构化的文件,可用来存储某种特定类型的数据. 模式,关于数据库和表的布局及特性的信息. 1…
MySQL备忘 目录 目录 使用MySQL 检索数据 排序检索数据 过滤数据 数据过滤 用通配符进行过滤 用正则表达式进行搜索 创建计算字段 使用数据处理函数 数值处理函数 汇总数据 分组数据 使用子查询 作为计算字段使用子查询 联结表 创建高级联结 组合查询 全文本搜索 插入数据 更新和删除数据 使用MySQL mysql -u<usr> -p -h<host> -P <port> 分别指明用户名,主机名,端口号 show columns from <table…