外键

Oracle:关闭开启所有外键

强颜欢笑 提交于 2019-12-01 16:20:10
请使用sqlplus或者plsql的命令窗口执行语句,如果是plsql,请使用命令窗口,在末尾敲入/,然后回车即可。 1.关闭所有外键 SET SERVEROUTPUT ON SIZE 50000 BEGIN for c in (select 'ALTER TABLE '||TABLE_NAME||' DISABLE CONSTRAINT '||constraint_name||' ' as v_sql from user_constraints where CONSTRAINT_TYPE='R' or CONSTRAINT_TYPE='C') loop DBMS_OUTPUT.PUT_LINE(C.V_SQL); begin EXECUTE IMMEDIATE c.v_sql; exception when others then dbms_output.put_line(sqlerrm); end; end loop; end; 2.开启所有外键 SET SERVEROUTPUT ON SIZE 50000 begin for c in (select 'ALTER TABLE '||TABLE_NAME||' ENABLE CONSTRAINT '||constraint_name||' ' as v_sql from user_constraints where

drf--序列化组件

坚强是说给别人听的谎言 提交于 2019-12-01 15:29:27
drf-->ModelSerializer: 相关: 1.setting配置; 2.路由分发,路由相关; 3.自定义异常处理; 4.model相关; 5.serializers序列化相关; 6.view相关; settings.py INSTALLED_APPS = [ ... 'rest_framework', ] DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'dg_proj', 'USER': 'root', 'PASSWORD': '123', } } LANGUAGE_CODE = 'zh-hans' TIME_ZONE = 'Asia/Shanghai' USE_I18N = True USE_L10N = True USE_TZ = False MEDIA_URL = '/media/' MEDIA_ROOT = os.path.join(BASE_DIR, 'media') 项目名下__init__文件中 import pymysql pymysql.install_as_MySQLdb() View Code 路由相关 # 主路由 from django.conf.urls import url, include from django.contrib import

drf框架 - 序列化组件 | ModelSerializer

╄→гoц情女王★ 提交于 2019-12-01 15:07:49
ModelSerializer 序列化准备: 配置 settings.py # 注册rest_framework框架 INSTALLED_APPS = [ ... 'rest_framework' ] # 配置mysql数据库 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'db10', 'USER': 'root', 'PASSWORD':'root', } } ​ """ 任何__init__.py文件中 import pymysql pymysql.install_as_MySQLdb() """ ​ # 国际化 LANGUAGE_CODE = 'zh-hans' TIME_ZONE = 'Asia/Shanghai' USE_I18N = True USE_L10N = True USE_TZ = False ​ # 配置静态文件 MEDIA_URL = '/media/' MEDIA_ROOT = os.path.join(BASE_DIR, 'media') 路由 # 主路由: from django.conf.urls import url, include from django.contrib import admin from django.views

2019最新整理PHP面试题附答案

自作多情 提交于 2019-12-01 10:23:57
1、什么事面向对象?主要特征是什么? 面向对象是程序的一种设计方式,它利于提高程序的重用性,使程序结构更加清晰。主要特征:封装、继承、多态。 2、SESSION 与 COOKIE的区别是什么,请从协议,产生的原因与作用说明? A、http无状态协议,不能区分用户是否是从同一个网站上来的,同一个用户请求不同的页面不能看做是同一个用户。 B、SESSION存储在服务器端,COOKIE保存在客户端。Session比较安全,cookie用某些手段可以修改,不安全。Session依赖于cookie进行传递。 禁用cookie后,session不能正常使用。Session的缺点:保存在服务器端,每次读取都从服务器进行读取,对服务器有资源消耗。Session保存在服务器端的文件或数据库中,默认保存在文件中,文件路径由php配置文件的session.save_path指定。Session文件是公有的。 3、HTTP 状态中302、403、 500代码含义? 一二三四五原则:(即一:消息系列;二:成功系列; 三:重定向系列;四:请求错误系列;五:服务器端错误系列。) 302:临时转移成功,请求的内容已转移到新位置 403:禁止访问 500:服务器内部错误 401:代表未授权。 4、请写出数据类型(int char varchar datetime text)的意思;请问 varchar 和

Navicat MYSQL 建立关联表 保存时遇到 cannot add foreign key constraint

牧云@^-^@ 提交于 2019-12-01 10:05:20
首先建立user表,如下图 然后建立message表,userid用作外键,关联user表的id 点击上面的外键按钮,添加外键如下 结果保存时报错: cannot add foreign key constraint 最后查找发现user表中的id和message表中的userid定义的属性不一样,如下,一个选择了无符号,一个没选,两个选一样的,按照上面添加外键的方法就解决问题了: 来源: https://www.cnblogs.com/greenteaone/p/11678467.html

mysql基本命令

大城市里の小女人 提交于 2019-12-01 09:42:09
开启和关闭mysql服务 Windows下开启和关闭mysql服务 1 net start mysql # 开启mysql服务 2 net stop mysql # 关闭mysql服务 没有重启mysql服务这个命令。 Linux下 1 service mysql start | stop | restart | status start 启动服务 stop 停止服务 restart 重启服务 status 查看服务状态 登录mysql数据库 1 mysql -h hostname -u username -p 如何hostname是本机的话,要替换为127.0.0.1或者是localhost 例子:mysql -h localhost -uroot -p 这样输完之后会换行让你输密码,我们也可以直接把密码写在-p后面,当然这样不安全。 更改root密码 1 /usr/bin/mysqladmin -u root password '123456' 执行完这条命令后,root的密码改为123456。 添加新的用户 先用root登进数据库,然后 1 mysql > GRANT ALL PRIVILEGES ON *.* TO jack@localhost IDENTIFIED BY '123456' WITH GRANT OPTION; 格式:grant 权限 on 数据库.* to

select_related与prefetch_related

余生长醉 提交于 2019-12-01 08:36:25
# select_related与prefetch_related # # select_related帮你直接连表操作 查询数据 括号内只能放外键字段 # # res = models.Book.objects.all().select_related('publish') # # for r in res: # # print(r.publish.name) # # res = models.Book.objects.all().select_related('publish__xxx__yyy__ttt') # # print(res) # # res = models.Book.objects.all() # """ # select_related:会将括号内外键字段所关联的那张表 直接全部拿过来(可以一次性拿多张表)跟当前表拼接操作 # 从而降低你跨表查询 数据库的压力 # # 注意select_related括号只能放外键字段(一对一和一对多) # res = models.Book.objects.all().select_related('外键字段1__外键字段2__外键字段3__外键字段4') # """ # # prefetch_related 不主动连表 # res = models.Book.objects.prefetch_related(

常见的五种约束

柔情痞子 提交于 2019-12-01 07:57:17
1. 主键约束(Primay Key Coustraint) 唯一性,非空性 2. 外键约束 (Foreign Key Counstraint)需要建立两表间的关系并引用主表的 3. 唯一约束 (Unique Counstraint)唯一性,可以空,但只能有一个 4. 默认约束 (Default Counstraint)该数据的默认值 5. 检查约束 (Check Counstraint)对该列数据的范围、格式的限制(如:年龄、性别等) 1 . Primary Key 约束 在表中常有一列或多列的组合,其值能唯一标识表中的每一行。 这样的一列或多列成为表的主键(PrimaryKey)。一个表只能有一个主键,而且主键约束中的列不能为空值。只有主键列才能被作为其他表的外键所创建。 创建主键约束可以右键单击表,选择设计 。 选中要创建主键的列,然后单击上面的小钥匙。 也可以右键需要创建主键的列,然后单击小钥匙。 2 . Foreign Key 约束 外键约束是用来加强两个表(主表和从表)的一列或多列数据之间的连接的。创建外键约束的顺序是先定义主表的主键,然后定义从表的外键。也就是说只有主表的主键才能被从表用来作为外键使用,被约束的从表中的列可以不是主键,主表限制了从表更新和插入的操作。 右键单击需要设置外键的列(此时的表是作为从表在外键中出现),选择关系。 接下来点击添加 -->

Nodejs ORM框架Sequelize快速入门

拜拜、爱过 提交于 2019-12-01 05:22:17
Nodejs ORM框架Sequelize快速入门 什么是ORM? 简单的讲就是对SQL查询语句的封装,让我们可以用OOP的方式操作数据库,优雅的生成安全、可维护的SQL代码。直观上,是一种Model和SQL的映射关系。 const User = sequelize.define('user', { id: { type: Sequelize.INTEGER, allowNull: false, autoIncrement: true, primaryKey: true }, email: { type: Sequelize.STRING, allowNull: false, validate: { isEmail: true }, unique: true } }) CREATE TABLE IF NOT EXISTS `users` ( `id` INTEGER PRIMARY KEY AUTOINCREMENT, `email` VARCHAR(255) NOT NULL UNIQUE `createdAt` DATETIME NOT NULL, `updatedAt` DATETIME NOT NULL, UNIQUE (email) ); 那么什么是Sequelize? Sequelize是一款基于Nodejs功能强大的异步ORM框架。 同时支持PostgreSQL,

使用Sequelize连接数据库

亡梦爱人 提交于 2019-12-01 05:18:39
Sequelize.js是一款针对nodejs的ORM框架。 使用nodejs连接过数据库的人肯定对数据库不陌生了。如果是直接链接,需要自己建立并管理连接,还需要手动编写sql语句。简单的项目到是无所谓,可是一旦项目设计的东西比较复杂,表比较多的时候整个sql的编写就非常的消耗精力。 在Java、c#等语言中已经有轻量的数据库框架或者解决方案了。在nodejs中我推荐Sequelize。它是一个很成熟的框架,在速度和性能上也非常有优势。而其中最关键的地方就在于,日常开发只需要管理对象的创建、查询方法的调用等即可,极少需要编写sql语句。这一个好处就是省去了复杂的sql语句维护,同时也避免了因sql而引起的不必要的bug。 Sequelize是针对node.js和io.js提供的ORM框架。具体就是突出一个支持广泛,配置和查询方法统一。它支持的数据库包括:PostgreSQL、 MySQL、MariaDB、 SQLite 和 MSSQL。 本文中测试以及API展示地址: github地址 演示 Sequelize的调用突出一个简单快捷。具体情况可以感受一下下面的代码。如果有过开发经验的可以略过。 Table1.findById( 23 ); //select a,b,c,d from table1 where id=23; Table1.findAll({ where:{a: