------------------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. Vue的响应式原理---(v-model中的双向绑定原理)

    Vue响应式原理 不要认为数据发生改变,界面跟着更新是理所当然. 具体代码实现:https://gitee.com/ahaMOMO/Vue-Responsive-Principle.git 看下图: ...

  2. Oracle空表的分配segment

      1.查询相关参数deferred_segment_creation select * from v$parameter where name='deferred_segment_creation' ...

  3. DataTable、DataRow、DataColumn用法

    转载csdner 发布于2018-08-17 17:03:30 阅读数 4375  收藏   DataSet 表示数据在内存中的缓存. 属性 Tables  获取包含在 DataSet 中的表的集合. ...

  4. Linux下查看进程和端口信息

    1.根据进程名查看进程信息,以查看tomcat进程名为例,查看所对应的进程id为1095(或者使用: ps -aux | grep tomcat 查看占用内存等信息) ps -ef | grep to ...

  5. 路飞-自定义User表和Media配置

    user模块User表 创建user模块 """ 前提:在 luffy 虚拟环境下 1.终端从项目根目录进入apps目录 >: cd luffyapi & ...

  6. 2017年陕西省网络空间安全技术大赛——一维码——Writeup

    <!doctype html> 2017年陕西省网络空间安全技术大赛——一维码——Writeup 先判断下载的文件flag.png确实是png格式的图片后(binwalk, file命令均 ...

  7. android基础控件的使用

    控件在屏幕上位置的确定 通常情况下控件在屏幕上确定至少要连接两条线(一条水平,一条垂直) 如下图连接了四条线 辅助线 辅助线的调出: 水平辅助线:进入activity.xml的设计模式之后如下图 为了 ...

  8. java 多线程并发问题

    问题:50个线程,先查询数据库的一个记录 t,然后对这个记录+1,最后更新到数据库 (更新的时候,不允许使用 update  test_concurrent set sum =sum -1 where ...

  9. Bug搬运工-CSCvf74866:Webauth scaling improvements - fix problem with GUI going unresponsive with HTTPS redirect

    Webauth scaling improvements - fix problem with GUI going unresponsive with HTTPS redirect CSCvf7486 ...

  10. Java面向对象编程 -6

    数组的基本概念 数组的本质:一组相关变量的集合. 但是需要注意的一点是:在java里面讲数组定义为了引用数据类型,所以数组的使用一定要牵扯到内存分配,那么首先一定要想到使用关键字new来处理 数组的定 ...