------------------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. (c#)亲密字符串

    题目 解

  2. monkey工具使用(未完待续)

    monkey命令详解: 转自:http://blog.csdn.net/jlminghui/article/details/38238443 http://www.cnblogs.com/wfh198 ...

  3. Flask 教程 第十九章:Docker容器上的部署

    本文翻译自The Flask Mega-Tutorial Part XIX: Deployment on Docker Containers 这是Flask Mega-Tutorial系列的第十九部分 ...

  4. 解决用 VB 中用 ADO 访问 数据库时 SQL 查询处理 Null 值的问题( 使用 iff(isNull(字段), 为空时的值,不为空时的值) 来处理)

    程序的环境是 VB6 + ADO + Access,在用 SQL 语句查询时,希望把两个字段合并成一个字段,但其中一个字段 Null 值直接导致两个字段合并后也变成了 Null 值.之前只能用 VB ...

  5. 深入理解JDK、JRE(两套)、JVM、以及不同目录下的java.exe

    内容来自:http://blog.sina.com.cn/s/blog_7ffb8dd501011sgc.html 1.jdk下bin目录里的java.exe与外部jre中的java.exe的秘密   ...

  6. Linux下调试caffe

    参考博客:https://blog.csdn.net/xiaoyezi_1834/article/details/50724875 使用Anjuta 我使用的是ubuntu18.04,安装命令: su ...

  7. CSS学习(7)继承、属性值的计算过程

    子元素会继承父元素的某些css属性 通常跟字体相关的属性都能被继承,具体的可以在mdn里查询是否是可继承属性 属性值的计算过程(渲染过程) 按照页面文档的树形目录结构进行依次渲染 前提条件:渲染的元素 ...

  8. 解决:执行python脚本,提示错误:/usr/bin/python^M: 解释器错误: 没有那个文件或目录。

    执行python脚本,提示错误: /usr/bin/python^M: 解释器错误: 没有那个文件或目录. 产生错误原因: \r字符被显示为^M,这时候只需要删除这个字符就可以了. Linux环境下: ...

  9. 解决vim选中文字不能复制的问题

    转载自本人独立博客:https://liushiming.cn/2020/01/18/vim-copy-issue-in-iterm2/ 概述 最近发现在iterm2中打开vim,用鼠标选中文字,并用 ...

  10. Redis-复制(MasterSlave)

    Redis的复制(Master/Slave) 是什么: 行话:也就是我们所说的主从复制,主机数据更新后根据配置和策略, 自动同步到备机的master/slaver机制,Master以写为主,Slave ...