mysql_pw 指令 数据库创建过程
------------------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 指令 数据库创建过程的更多相关文章
- sql学习笔记(18)-----------数据库创建过程
手动创建数据库的步骤: 第一步:决定数据库实例的SID 数据库实例的SID用来将当前实例和以后可能创建的实例进行区分 % setenv ORACLE_SID mynewdb 第二步:建立数 ...
- Oracle XE自带数据库创建的过程
Oracle XE自带数据库如何创建的?XE.sql脚本定义实例究竟是怎样的?阅读下文,您可以找到这些问题的答案. Oracle XE自带数据库是如何创建的呢?这是很多人都提到过的问题,下面就为您详细 ...
- linux下Postgresql-9.2安装及数据库的创建过程
公司写部署手册需要,现总结一些linux下postgresql的安装及数据库创建的详细步骤吧! 1.1.1 软件安装 1.设置用户组和用户级别 Postgresql不能以root身份运行,要以其 ...
- Code First开发系列之管理数据库创建,填充种子数据以及LINQ操作详解
返回<8天掌握EF的Code First开发>总目录 本篇目录 管理数据库创建 管理数据库连接 管理数据库初始化 填充种子数据 LINQ to Entities详解 什么是LINQ to ...
- 图解JAVA对象的创建过程
前面几篇博文分别介绍了JAVA的Class文件格式.JVM的类加载机制和JVM的内存模型,这里就索性把java对象的创建过程一并说完,这样java对象的整个创建过程就基本上说明白了(当然你要有基础才能 ...
- JVM中对象的创建过程
JVM中对象的创建过程如以下流程图中所示: 对其主要步骤进行详细阐述: 为新生对象分配内存: 内存的分配方式: 指针碰撞:假设Java堆中内存是绝对规整的,所有用过的内存放在一边,空闲的内存在另一边, ...
- Java中对象创建过程
本文介绍的对象创建过程仅限于普通Java对象,不包括数组和Class对象. 1.类加载检查 虚拟机遇到一条new指令时,首先去检查该指令的参数能否在常量池中定位到一个类的符号引用,并且检查这个符号引用 ...
- 8天掌握EF的Code First开发系列之3 管理数据库创建,填充种子数据以及LINQ操作详解
本文出自8天掌握EF的Code First开发系列,经过自己的实践整理出来. 本篇目录 管理数据库创建 管理数据库连接 管理数据库初始化 填充种子数据 LINQ to Entities详解 什么是LI ...
- XMPie部署与创建过程 - 快速指南
XMPie部署与创建过程 1PhotoShop.Indesign.VS2013关系.作用.使用 .1.1目的与过程 1. Photoshop负责导出cpkg文件. 1.1 动态性 如果你想要生成动态的 ...
随机推荐
- unittest的discover方法
转载:https://www.cnblogs.com/imyalost/p/9048386.html discover()方法 discover(start_dir, pattern ='test * ...
- form:select的内容
https://blog.csdn.net/ccclych1/article/details/88395650
- Bootstrap入门(2)表格
Bootstrap入门(四)表格 <table>标签 首先,引入bootstrap的css文件,然后表格内容放在一个class为table的<table>标签中(class=& ...
- Hadoop中的java基本类型的序列化封装类
Hadoop将很多Writable类归入org.apache.hadoop.io包中,在这些类中,比较重要的有Java基本类.Text.Writable集合.ObjectWritable等,重点介绍J ...
- python文件读取:遇见的错误及解决办法
问题一: TypeError: 'str' object is not callable 产生原因: 该错误TypeError: 'str' object is not callable字面上意思:就 ...
- hadoop fs -put could only be replicated to 0 nodes, instead of 1 解决方法
我的坏境是在虚拟机linux操作系统中,启动start-all.sh后 1.执行jps,如下 2.执行hadoop fs -mkdir input 创建成功 执行hadoop fs -ls 可以看到i ...
- Nuxt配置动态路由以及参数校验
动态路由就是带参数的路由.比如我们商品列表里很多商品详细页,这时候就需要动态路由的帮助了. 比如我们新建一个commodity文件夹,新建一个index.vue 文件,然后新建一个_id.vue (以 ...
- springboot笔记-2-.核心的上下文以及配置扫描解析(上)
前言 上一节中说明了springboot是如何做到自动发现配置的,那么本节看下spring如何创建上下文并解析这些配置,加载我们注册到容器管理中的类.上节已经成功的创建了SpringApplicati ...
- P&R 7
Floorplan: 要做好floorplan需要掌握哪些知识跟技能? 通常,遇到floorplan问题,大致的debug步骤跟方法有哪些? 如何衡量floorplan的QA? [哥简单点说]:flo ...
- Navicat Premium 12安装、激活
Navicat Premium 12安装 Navicat Premium 12激活