------------------pw_db数据库创建过程各表创建指令--------------------------

create database pw_db; #创建一个数据库
use pw_db; #切换到到数据库 pw_db
set sql_safe_updates = 0; #修改数据库为非安全等等编辑模式

# 创建一个记录所有联网设备表
create table all_netways
(
net_id CHAR(22) NOT NULL, #主键:网关唯一ID号,最长22字符
net_name VARCHAR(100) NOT NULL default('PW-Net9051'), #备住名称
net_type VARCHAR(100) NOT NULL default('HTPW100'), #设备类型
net_inline INT(4) DEFAULT(30) check(net_inline<100), #设备在线计数 <100,<=0表示掉线
PRIMARY KEY (net_id) #主键设置为唯一设备ID号
)ENGINE=InnoDB DEFAULT CHARSET=utf8;

#创建所有 继电器回路类 表
create table all_relays
(
net_id CHAR(22) NOT NULL, #外键:所属网关唯一ID号,固定22字符
relay_name VARCHAR(100) NOT NULL default('继电器'), #备住名称
relay_value enum ('UNKNOW','OFF','ON') NOT NULL DEFAULT('UNKNOW'),#状态取值列表

UNIQUE(net_id,relay_name), #唯一性:同个网关下,设备回路名保持唯一
FOREIGN KEY (net_id) REFERENCES all_netways(net_id) #外键约束,所属网关必须先存在
ON DELETE CASCADE ON UPDATE CASCADE #随主表改变而改变
)engine = InnoDB DEFAULT CHARSET=UTF8;

#创建所有 输入按键回路类 表
create table all_keys
(
net_id CHAR(22) NOT NULL, #外键:所属网关唯一ID号,固定22字符
keys_name VARCHAR(100) NOT NULL default('继电器'), #备住名称
keys_value enum ('UNKNOW','OFF','ON') NOT NULL DEFAULT('UNKNOW'),#状态取值列表

UNIQUE(net_id,keys_name), #唯一性:同个网关下,设备回路名保持唯一
FOREIGN KEY (net_id) REFERENCES all_netways(net_id) #外键约束,所属网关必须先存在
ON DELETE CASCADE ON UPDATE CASCADE #随主表改变而改变
)engine = InnoDB DEFAULT CHARSET=UTF8;

#创建所有 调光回路类 表
create table all_dims
(
net_id CHAR(22) NOT NULL, #外键:所属网关唯一ID号,固定22字符
dim_name VARCHAR(100) NOT NULL default('调光'), #备住名称
dim_value INT(4) DEFAULT(0) CHECK(dim_value>=0 AND dim_value<=100),#调光值 0-100

UNIQUE(net_id,dim_name), #唯一性:同个网关下,设备回路名保持唯一
FOREIGN KEY (net_id) REFERENCES all_netways(net_id) #外键约束,所属网关必须先存在
ON DELETE CASCADE ON UPDATE CASCADE #随主表改变而改变
)engine = InnoDB DEFAULT CHARSET=UTF8;

#创建所有 空调类 表
create table all_airs
(
net_id CHAR(22) NOT NULL, #外键:所属网关唯一ID号,固定22字符
NAME VARCHAR(100) NOT NULL default('空调'), #备住名称
POWER ENUM('UNKNOW','OFF','ON') NOT NULL default('UNKNOW'), #电源开关状态
ATO ENUM('UNKNOW','ATONO','ATOYES') NOT NULL default('UNKNOW'), #控制方式 手动,自动
SPEED ENUM('UNKNOW','CLOSE','LOW','MIDDLE','HIGH') NOT NULL default('UNKNOW'),#风速
MODE ENUM('UNKNOW','CLOSE','HOT','COLD') NOT NULL default('UNKNOW'),#冷热控制方式
STMP INT(4) default(26) check(STMP>15 AND STMP<33), #设置温度
TMP INT(4) default(25) check(TMP>0 AND TMP<45), #当前温度

UNIQUE(net_id,NAME), #唯一性:同个网关下,设备回路名保持唯一
FOREIGN KEY (net_id) REFERENCES all_netways(net_id) #外键约束,所属网关必须先存在
ON DELETE CASCADE ON UPDATE CASCADE #随主表改变而改变
)engine = InnoDB DEFAULT CHARSET=UTF8;

------------------pw_db数据库创建过程各表创建指令--------------------------

------------------创建过程中临时测试指令--------------------------

drop database pw_db; #删除一个数据库 ----测试代码

drop table all_netways; #删除 表 ----测试代码

insert into all_netways #插入数据 ----测试代码
(net_id)
values
('123456789456');

insert into all_netways #插入数据 ----测试代码
(net_id)
values
('123456789457');

delete from all_netways where net_id='123456789456';#删除指定值的记录 ----测试代码

------------------创建过程中临时测试指令--------------------------

mysql_pw 指令 数据库创建过程的更多相关文章

  1. sql学习笔记(18)-----------数据库创建过程

    手动创建数据库的步骤:   第一步:决定数据库实例的SID 数据库实例的SID用来将当前实例和以后可能创建的实例进行区分 % setenv ORACLE_SID mynewdb     第二步:建立数 ...

  2. Oracle XE自带数据库创建的过程

    Oracle XE自带数据库如何创建的?XE.sql脚本定义实例究竟是怎样的?阅读下文,您可以找到这些问题的答案. Oracle XE自带数据库是如何创建的呢?这是很多人都提到过的问题,下面就为您详细 ...

  3. linux下Postgresql-9.2安装及数据库的创建过程

    公司写部署手册需要,现总结一些linux下postgresql的安装及数据库创建的详细步骤吧! 1.1.1  软件安装   1.设置用户组和用户级别 Postgresql不能以root身份运行,要以其 ...

  4. Code First开发系列之管理数据库创建,填充种子数据以及LINQ操作详解

    返回<8天掌握EF的Code First开发>总目录 本篇目录 管理数据库创建 管理数据库连接 管理数据库初始化 填充种子数据 LINQ to Entities详解 什么是LINQ to ...

  5. 图解JAVA对象的创建过程

    前面几篇博文分别介绍了JAVA的Class文件格式.JVM的类加载机制和JVM的内存模型,这里就索性把java对象的创建过程一并说完,这样java对象的整个创建过程就基本上说明白了(当然你要有基础才能 ...

  6. JVM中对象的创建过程

    JVM中对象的创建过程如以下流程图中所示: 对其主要步骤进行详细阐述: 为新生对象分配内存: 内存的分配方式: 指针碰撞:假设Java堆中内存是绝对规整的,所有用过的内存放在一边,空闲的内存在另一边, ...

  7. Java中对象创建过程

    本文介绍的对象创建过程仅限于普通Java对象,不包括数组和Class对象. 1.类加载检查 虚拟机遇到一条new指令时,首先去检查该指令的参数能否在常量池中定位到一个类的符号引用,并且检查这个符号引用 ...

  8. 8天掌握EF的Code First开发系列之3 管理数据库创建,填充种子数据以及LINQ操作详解

    本文出自8天掌握EF的Code First开发系列,经过自己的实践整理出来. 本篇目录 管理数据库创建 管理数据库连接 管理数据库初始化 填充种子数据 LINQ to Entities详解 什么是LI ...

  9. XMPie部署与创建过程 - 快速指南

    XMPie部署与创建过程 1PhotoShop.Indesign.VS2013关系.作用.使用 .1.1目的与过程 1. Photoshop负责导出cpkg文件. 1.1 动态性 如果你想要生成动态的 ...

随机推荐

  1. mockito使用教程

    一.什么是 Mock 测试 Mock 测试就是在测试过程中,对于某些不容易构造(如 HttpServletRequest 必须在Servlet 容器中才能构造出来)或者不容易获取比较复杂的对象(如 J ...

  2. 发送数据给sap和接收

    1.确保已经连通sap 2.发送数据:这是以表的形式发送,而且是批量发送给sap 3.接收sap返回信息:这个比较特别,碰到时试一试 package com.yiyezhiqiu.lyh.utils; ...

  3. 2018-2019-20175334实验三《敏捷开发与XP实践》实验报告

    2018-2019-20175334实验三<敏捷开发与XP实践>实验报告 一.实验内容及步骤 实验三 敏捷开发与XP实践-1 实验三 敏捷开发与XP实践 http://www.cnblog ...

  4. idea中使用Data Source and Drivers时,如果使用自己自定义的jar包

  5. Advanced Architecture for ASP.NET Core Web API

    转自: https://www.infoq.com/articles/advanced-architecture-aspnet-core ASP.NET Core's new architecture ...

  6. v:bind指令对于传boolean值的注意之处

    1,

  7. 【转】Chrome——F12 谷歌开发者工具详解

    Chrome——F12 谷歌开发者工具详解 console source network

  8. python之nosetest

    nose介绍 nose下载 nose使用 -s 能够打印用例中的print信息 ➜ func_tests git:(master) ✗ nosetests -v test_app.py:TestApp ...

  9. python web django 2nd level -- 待更新

    练习代码位置 实例代码位置 --> app: myblog Form 利用Form表单验证,自己写的html 思路: 新建一个类 LoginForm(forms.Form) 新建对象 obj = ...

  10. 解决idea无法下载通过maven添加的jar包以及下载网速过慢的问题

    在idea上使用Maven来添加依赖的jar包 发现无法下载jar包 总是提示某几个包下载失败 最后发现原因有两个(版本与网速的问题 对应解决如下) 一主要是因为版本的问题 我的idea是2019年1 ...