sql增加字段

【Django】ORM操作#1 -- 2019-08-17 06:11:59

时光毁灭记忆、已成空白 提交于 2019-11-27 14:37:59
目录 一、介绍 概念 由来 优势 劣势 总结 二、Django中的ORM Django项目使用MySQL Model 快速入门 1. AutoField 2. IntegerField 3. CharField 4. ForeignKey 5. DateField 6. DateTimeField 7. dalate() 字段合集 ORM字段与数据库字段对应关系 自定义字段 字段参数 1. null 2. unique 3. db_index 4. default 5. DateField 与 DateTimefield 四、关系字段 一对多 ForeignKey 字段参数 一对一 OneToOneField 字段参数 多对多 ManyToManyField 字段参数 多对多关系的三种方式 元消息 原文: http://blog.gqylpy.com/gqy/260 "@ 补充:数据迁移与反迁移 # 迁移: python manage.py makemigrations # 纪录变成 python manage.py migrate # 迁移到数据库 # 反迁移: python manage.py inspectdb > models.py 执行后,会在执行的文件内写入模型类(文件可随意指定) 一、介绍 概念 对象关系映射(Object Relational Mapping

orm,思路详解

萝らか妹 提交于 2019-11-27 13:38:18
第一部分 from mysql_singleton import MySql # 先创建字段类 class Field(object): def __init__(self, name, column_type, primary_key, default): self.name = name self.column_type = column_type self.primary_key = primary_key self.default = default # 我们在创建一个简短的字段类 # 比如int类型的字段类 class IntegerField(Field): def __init__(self, name, column_type="int", primary_key=False, default=0): # 一定要调用父类的__init__方法 super().__init__(name, column_type, primary_key, default) # 在定义一个str字段的类 class StringField(Field): def __init__(self, name, column_type="varchar(32)", primary_key=False, default=None): # 一定要调用父类的__init__方法 super()._

mysql数据库总结。

前提是你 提交于 2019-11-27 12:12:15
mysql MySQL语法 MySQL采用结构化查询语言SQL (Structured Query Language)语言来操作数据库 SQL语句必须以 ; 结束 SQL语句分类 DDL(数据定义语言): create、drop、alter、truncate DQL(数据查询语言): select、show DML(数据操作语言): insert、update、delete DCL (数据控制语言): grant、revoke、begin transaction、commit、roolback MySQL存储引擎 MySQL数据表类型由存储引擎来决定,主要有6种类型:InnoDB 、BDB、MyISAM、ISAM、、Heap、Merge InnoDB 支持事务 支持外键 不支持数据压缩 写速度较慢 MySQL5.5开始支持全文索引 占用更多的内存和磁盘空间来保留数据和索引 MyISAM 不支持事务 不支持外键 访问速度快 支持全文索引 数据库的备份还原 #方法一 mysqldump -h服务器 -P端口 -u用户名 -p密码 数据库名称 > 备份文件路径 source 备份文件路径 #方法二 直接备份数据库文件(注意:这种方法不适用于InnoDB存储引擎的表,而对于MyISAM存储引擎的表很方便。同时,还原时MySQL的版本最好相同) #方法三 使用第三方工具 例如:Navicat

转载 数据库性能优化策略

余生长醉 提交于 2019-11-27 09:50:38
博客原文链接:https://www.cnblogs.com/studynote/p/8079154.html 一、数据库设计6大范式 大家都听说过:数据库设计有几种范式,其中最主要满足第三范式. 1.第一范式(1NF):属性不可分 第一范式是最基本的范式。如果数据库表中的所有字段值都是不可分解的原子值,就说明该数据库表满足了第一范式。 2.第二范式(2NF):满足1NF,完全函数依赖 第二范式需要确保数据库表中的每一列都和主键相关,而不能只与主键的某一部分相关(主要针对联合主键而言)。也就是说在一个数据库表中,一个表中只能保存一种数据,不可以把多种数据保存在同一张数据库表中。 3.第三范式(3NF):满足2NF,消除传递依赖 第三范式需要确保数据表中的每一列数据都和主键直接相关,而不能间接相关。 4.BC范式(BCNF):符合3NF,并且,主属性不依赖于主属性。 若一个关系达到了第三范式,并且它只有一个候选码,或者它的每个候选码都是单属性,则该关系自然达到BC范式。 5.第四范式(4NF):符合BCNF,要求把同一表内的多对多关系删除。 6.第五范式(5NF):符合4NF,将一个table尽可能的分割成小的块,以排除在table中所有冗余的数据。 二、规范化与反规范化 没有最好的设计,只有最合适的设计,所以不要过分注重理论。 在数据库的设计中,数据应当按两种类别进行组织

mysql-first day

☆樱花仙子☆ 提交于 2019-11-27 09:48:43
数据库用户名: root 密码: mysql -- 在sql 文件中表示注释 -- 数据库的操作 -- 链接数据库 mysql -uroot -pmysql -- 退出数据库 exit -- 查看创建数据库 show databases; 必须有s -- 查看当前正在使用的数据库 select database(); # NULL指的是空 -- 使用数据库 use jing_dong; -- sql语句最后需要有分号;结尾 -- 显示数据库版本 select verison() -- 显示时间 select now() -- 创建数据库 create create database demo; -- 指定字符集 不是 utf-8 create database demo charset=utf8; # 必须是utf8字符集 -- 查看数据库的创建语句 show create database demo; -- 删除数据库 drop database demo; -- 数据表的操作 -- 查看当前数据库中所有表 show tables; -- 创建表 -- unsigned 没有符号, 没有负数 -- auto_increment表示自动增长 -- 创建一个学生的数据表(id、name、age、high、gender、cls_id) -- create table 数据表名字 (字段

ERP 系统数据库设计规范

大城市里の小女人 提交于 2019-11-27 03:23:34
数据库设计规范是个技术含量相对低的话题,只需要对标准和规范的坚持即可做到。当系统越来越庞大,严格控制数据库的设计人员,并且有一份规范书供执行参考。在程序框架中,也有一份强制性的约定,当不遵守规范时报错误。 以下20个条款是我从一个超过1000个数据库表的大型ERP系统中提炼出来的设计约定,供参考。 1 所有的表的第一个字段是记录编号Recnum,用于数据维护 [Recnum] [decimal] (8, 0) NOT NULL IDENTITY(1, 1) 在进行数据维护的时候,我们可以直接这样写: UPDATE Company SET Code='FLEX' WHERE Recnum=23 2 每个表增加4个必备字段,用于记录该笔数据的创建时间,创建人,最后修改人,最后修改时间 [CreatedDate] [datetime] NULL, [CreatedBy] [nvarchar] (10) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [RevisedDate] [datetime] NULL, [RevisedBy] [nvarchar] (10) COLLATE SQL_Latin1_General_CP1_CI_AS NULL 框架程序中会强制读取这几个字段,默认写入值。 3 主从表的主外键设计 主表用参考编号RefNo作为主键

【Django】ORM操作#1

有些话、适合烂在心里 提交于 2019-11-27 02:53:53
目录 一、介绍 概念 由来 优势 劣势 总结 二、Django中的ORM Django项目使用MySQL Model 快速入门 1. AutoField 2. IntegerField 3. CharField 4. ForeignKey 5. DateField 6. DateTimeField 7. dalate() 字段合集 ORM字段与数据库字段对应关系 自定义字段 字段参数 1. null 2. unique 3. db_index 4. default 5. DateField 与 DateTimefield 四、关系字段 一对多 ForeignKey 字段参数 一对一 OneToOneField 字段参数 多对多 ManyToManyField 字段参数 多对多关系的三种方式 元消息 原文: http://106.13.73.98/__/34/ @ 补充:数据迁移与反迁移 # 迁移: python manage.py makemigrations # 纪录变成 python manage.py migrate # 迁移到数据库 # 反迁移: python manage.py inspectdb > models.py 执行后,会在执行的文件内写入模型类(文件可随意指定) 一、介绍 概念 对象关系映射(Object Relational Mapping,简称ORM

MYSQL学习系列--DDL语句

不想你离开。 提交于 2019-11-27 02:46:45
DDL语句: 对数据库内部的对象进行创建、删除、修改等操作的语言,DDL语句更多的是由数据库管理员(DBA)使用,开发人员一般很少使用登录mysql之后就可以使用sql语句对数据库进行各种操作啦! 实践操作: 在基础操作之前,如果没有安装mysql的可以参考我之前写的一篇文章(windows) windows命令行使用mysql 还有,MYSQL不区分大小写,这里为了演示看的清楚,我们使用小写。 show databses; #查看数据库列表 后面的分号别落下了!!! 1)创建数据库 1>使用 create database 数据库名; 2>选择要操作的数据库:USE 数据库; 对于要操作的数据库我们需要使用use来选择一下! 3>查看数据库中所有的数据表show tables; 2)删除数据库: drop database 数据库名; 我们创建一个will_del的数据库,然后在删除它; 3)创建表(在哪个数据库里面创建表需要先使用use选择到那个要操作的数据库) 1>创建表 create table 表名( 字段1名 字段1类型 列的约束条件, 字段2名 字段2类型 列的约束条件, ...); 2>创建完表之后可以查看表的定义 desc 表名; 3>查看创建表的SQL语句 show create table 表名 \G \G选项使得记录能够按照字段竖向排列

关系型数据库和非关系型数据库的种类和区别和关系型数据库基本操作

爱⌒轻易说出口 提交于 2019-11-27 02:24:49
关系型数据库和非关系型数据库的种类和区别 数据库 类型 特性 优点 缺点 关系型数据库 SQLite、Oracle、mysql 1、关系型数据库,是指采用了关系模型来组织 数据的数据库; 2、关系型数据库的最大特点就是事务的一致性; 3、简单来说,关系模型指的就是二维表格模型, 而一个关系型数据库就是由二维表及其之间的联系所组成的一个数据组织。 1、容易理解:二维表结构是非常贴近逻辑世界一个概念,关系模型相对网状、层次等其他模型来说更容易理解; 2、使用方便:通用的SQL语言使得操作关系型数据库非常方便; 3、易于维护:丰富的完整性(实体完整性、参照完整性和用户定义的完整性)大大减低了数据冗余和数据不一致的概率; 4、支持SQL,可用于复杂的查询。 1、为了维护一致性所付出的巨大代价就是其读写性能比较差; 2、固定的表结构; 3、高并发读写需求; 4、海量数据的高效率读写; 非关系型数据库 MongoDb、redis、HBase 1、使用键值对存储数据; 2、分布式; 3、一般不支持ACID特性; 4、非关系型数据库严格上不是一种数据库,应该是一种数据结构化存储方法的集合。 1、无需经过sql层的解析,读写性能很高; 2、基于键值对,数据没有耦合性,容易扩展; 3、存储数据的格式:nosql的存储格式是key,value形式、文档形式、图片形式等等,文档形式、图片形式等等

数据库设计原则

我与影子孤独终老i 提交于 2019-11-27 01:39:52
1. 原始单据与实体之间的关系   可以是一对一、一对多、多对多的关系。在一般情况下,它们是一对一的关系:即一张原始单据对应且只对应一个实体。 在特殊情况下,它们可能是一对多或多对一的关系,即一张原始单证对应多个实体,或多张原始单证对应一个实体。 这里的实体可以理解为基本表。明确这种对应关系后,对我们设计录入界面大有好处。   〖例1〗:一份员工履历资料,在人力资源信息系统中,就对应三个基本表:员工基本情况表、社会关系表、工作简历表。        这就是“一张原始单证对应多个实体”的典型例子。 2. 主键与外键   一般而言,一个实体不能既无主键又无外键。在E—R 图中, 处于叶子部位的实体, 可以定义主键,也可以不定义主键   (因为它无子孙), 但必须要有外键(因为它有父亲)。   主键与外键的设计,在全局数据库的设计中,占有重要地位。当全局数据库的设计完成以后,有个美国数据库设计专   家说:“键,到处都是键,除了键之外,什么也没有”,这就是他的数据库设计经验之谈,也反映了他对信息系统核   心(数据模型)的高度抽象思想。因为:主键是实体的高度抽象,主键与外键的配对,表示实体之间的连接。 3. 基本表的性质   基本表与中间表、临时表不同,因为它具有如下四个特性:    (1) 原子性。基本表中的字段是不可再分解的。    (2) 原始性。基本表中的记录是原始数据(基础数据