来段前言

笔者年前至今因工作调整开始接触SQL语言以及数据库,鉴于简道云数据工厂的可视化节点操作与SQL的殊途同归之效,特此想写几篇关于数据工厂和SQL查询之间的那些事,一来帮助自己熟悉记录这段时间SQL语言的学习,二来通过SQL语言的编写和对数据库表格的了解反过来思考简道云表单设计和数据工厂建模,三来通过数据工厂和SQL语言的对应给读者一些参考能够对于数据工厂建模有不一样的认识。本篇将主要介绍本系列所需的表格数据,以及数据工厂的基础知识和SQL查询的基础知识。这些表格的建立和表格所包含的数据以及不同表格之间的关联关系或许对于以后简道云的表单设计建模会有所反思。

基础表介绍

本系列所采用的的数据为MySQL数据库原带的数据,共有16个表。表数据涉及的业务是十几年前流行的碟片租赁业务。数据库管理工具用的是navicat。这一部分内容建议熟练了解,便于后面我们的建模讲解和业务分析。下面将详细介绍下各个表相关的数据以及字段、字段数据类型。

  1. actor——演员表,存储的是所有碟片相关的电影里的演员的信息

  • actor_id。演员id。数值型。主键

  • first_name。演员名。文本型。

  • last_name。演员姓。文本型。

  • last_update。数据最后更新时间(所有表相同,后面不赘述了)。日期型。

address——地址信息

  • address_id。地址id。数值型。主键

  • address。地址。文本型。

  • address2。地址2。文本型

  • district。区域。文本型。

  • city_id。城市id。数值型。外键。

  • postal_code。邮编。文本型

  • phone。(不懂为何会有地址电话)。文本型

  • location。定位(经纬度)。文本字段(应该为定位字段,但定位字段无法导入,只能导入为文本)

  • last_update。同上

category——电影种类信息

  • category_id。电影分类名称id。数值型。主键

  • name。分类名称。文本型。

  • last_update。同上

city——城市信息

  • city_id。城市id。数值型。主键

  • city。城市名称。文本型

  • country_id。所属国家id。文本型。外键

  • last_update。同上

country——国家信息

  • country_id。国家id。数值型。主键

  • country。国家名称。文本型

  • last_update。同上

customer——会员信息表

  • customer_id。会员id。数值型。主键

  • store_id。店面id。数值型。外键

  • first_name。名字。文本型

  • last_name。姓。文本型

  • email。邮箱。文本型

  • address_id。地址id。数值型。外键

  • active。是否活跃(可能是这个意思)。数值型

  • create_date。会员创建时间。日期型。

  • last_update。同上

film——电影信息表

  • film_id。电影id。数值型。主键

  • title。电影名称。文本型。

  • description。电影描述。长文本型。

  • release_year。电影发行年份。文本型

  • language_id。电影语言id。数值型。外键

  • original_language_id。

  • rental_duration。租赁周期。数值型

  • rental_rate。租金。数值型

  • length。电影时长。数值型

  • replacement_cost。重新购买成本。数值型

  • rating。电影分级。文本型

  • special_features。影片特点

  • last_update。同上

film_actor——电影和演员的对应表

  • actor_id。演员id。数值型。外键

  • film_id。电影id。数值型。外键

  • last_update。同上

film_category——电影类型对应表

  • film_id。电影id。数值型。外键

  • category_id。类型id。数值型。外键

  • last_update。同上

film_text——电影描述(这部分信息表7中已经包含了,不明白为何还单独有一张表)

  • film_id。电影id。数值型。外键

  • title。电影名称。文本型。

  • description。电影描述。长文本

inventory——电影清单

  • inventory_id。清单id。数值型。主键

  • film_id。电影id。数值型。外键

  • store_id。店面id。数值型。外键

  • last_update。同上

language——语言表

  • language_id。语言id。数值型。主键

  • name。语言名称。文本型

  • last_update。同上

payment——支付明细表

  • payment_id。支付id。数值型。主键

  • customer_id。会员id。数值型。外键

  • staff_id。职员id。数值型。外键

  • rental_id。租赁id。数值型。外键

  • amount。租金。数值型。

  • payment_date。支付日期。日期型

  • last_update。同上

rental——租赁明细表

  • rental_id。租赁id。数值型。主键

  • rental_date。租赁日期。日期型

  • inventory_id。清单id。数值型。外键

  • customer_id。会员id。数值型。外键

  • return_date。归还日期。日期型

  • staff_id。职员id。数值型。外键

  • last_update。同上

staff——职员信息表

  • staff_id。职员id。数值型。主键

  • first_name。名字。文本

  • last_name。姓。文本

  • address_id。地址id。数值型。外键

  • picture。照片。图片型

  • email。邮箱。文本型。

  • store_id。店面id。数值型。外键

  • active。是否活跃(?)。数值型

  • username。用户名。文本型。(登录店面租赁系统的账户名吧)

  • password。密码。文本型

  • last_update。同上

store——租赁店面信息表

  • store_id。店面id。数值型。主键

  • manager_staff_id。店面经理id。数值型。外键

  • address_id。地址id。数值型。外键

  • last_update

至此,我们这个小型的电影碟片租赁系统的基础表相关信息就介绍完毕了。

我们在看这个小系统所有数据表的结构字段时,也就能了解了对于这样一个系统涉及的所有数据该如何为它设计好基础表单去存储数据,如何设计表间关系,保证我们业务数据的完整性。当然对于这样的关系型数据库的设计效果,目前的简道云架构还不能很好的支持。

简单说说数据库表与简道云的关系

数据库里的表对应着简道云的表单,都是存储数据的单位。数据库表里的字段对应着简道云的字段。在上面的介绍里,我们标注了很多主键、外键,主键这个词语放到简道云的系统里就是指代表单里的流水号、编码等能够唯一表示一条数据的字段值(也许是多个字段的联合值),而外键就指的是通过数据关联带入到填写表单里的数据关联的主键,它是主键所在的表与当期表建立关联的桥梁。不管是简道云的数据工厂还是数据库里的SQL语句,都是通过表之间的主键和外键关联来实现多个表的连接。

最简单的SQL查询

SQL查询的基本结构是

select 字段 from 表--然后是各种字句left join on /right join on / inner join on --简道云没有全外连接咱们也就不提了where  --比较运算符 , between and , in , like , not like ,group byhaving order by asc/descunion / union all

那么我们就先来看看最最最简单的查询SQL操作

select * from actor --从表里查询所有字段

简道云操作这句查询对应简道云的里的操作就是如下图所示操作。把表里所有字段全部取出来。

SQL操作当然如果是提取部分字段的话,那就是

select actor_id,first_name,last_namefrom actor

简道云操作数据工厂里的对应操作就是点选需要提取的字段就可以了

字符连接

那么我们表里的firstname和lastname是分开的,在实际展示过程中,我们想要把他们连接起来展示怎么办呢?SQL操作在mysql里用concat函数对字段进行连接,sql server里可以用"+",oracle里可以用"||"进行字段字符连接。

select actor_id,CONCAT(first_name,' ',last_name)from actor

简道云操作呃,数据工厂里暂时不支持文本字段操作,我们只能在表单里利用辅助字段来完成这个操作。对,没错说的就是那个让人头疼、爱恨交织的“辅助字段”!!!虽然firstname和lastname连在一起了,但是这个字段名实在太长了,我们如何给这个字段名字重命名为一个简短的“name”呢?SQL操作

select actor_id,CONCAT(first_name,' ',last_name) as namefrom actor--我们利用as来对字段进行重命名,当然表的重命名也是如此。--as这个关键字是可以取消,如下select actor_id,CONCAT(first_name,' ',last_name) namefrom actor

简道云操作

在创建辅助字段时设置为需要的字段名称即可。

新增字段

如果我们要新增一个表里没有的字段如何操作呢?

SQL操作

select actor_id,CONCAT(first_name,' ',last_name) as name,'哈哈' hfrom actor

简道云操作

如果是非数值字段,那么我们只能通过表单里添加或者是通过添加数值字段,然后通过横向连接来获得他的值。在数据分组里会需要用到这个操作。后期我们会专门讲解一下。

我们的SQL与简道云可视化操作第一讲就暂时到此结束了。后面我们将分别讲解一下sql的不同子句在简道云数据工厂里的可视化操作以及一些分析模型的设计。

一切皆是信息,万物源自比特!

数字化必定会深刻革命我们的办公和生活!

简道云,中小企业数字化之路的绝佳伴侣!

本公众号将分享数字化的实践、学习、思考。也许涉及信息化系统设计、各种办公软件、数据分析、理论知识、实践案例…… 感谢你与我一同成长……

如果有关企业数字化的疑问、思考和讨论 或者 关于简道云的应用搭建、数据工厂、仪表盘等疑问咨询或者合作,欢迎与我联系。(关注公众号,可以找到我的联系方式)

sql update date类型_数据工厂可视化操作与SQL查询——1.基础篇相关推荐

  1. 使用SQL语句在表中插入date类型的数据

    如果想使用SQL语句在数据库的表中插入一个date类型的数据,可以使用 insert into user values (null, '小红', 1234, 24, '男', 20200808); 注 ...

  2. Oracle根据日期区间查询Date类型的数据

    在Oracle数据库中,根据日期区间查询Date类型的数据 select proposalno,policyno,enddate from 表名 where 时间字段 between to_date( ...

  3. springboot返回date类型的数据会慢8个小时解决方案

    springboot返回date类型的数据会慢8个小时解决方案 解决方案 之前开发一个项目,返回的数据类型为date类,但是实际返回接口数据总会比实际时间慢8个小时,下面为实体类 @Data publ ...

  4. Oracle中如何添加date类型的数据

    最近在练习oracle数据库的一些操作,在对基表emp进行操作时不小心将其中的数据删除了一行 然后自己就打算将其数据重新添加回去. 在插入数据的时候,hiredate"入职年份"类 ...

  5. sql date类型_共享单车数据分析的SQL数据库设计

    SQL,发音为" sequel"(或SQL,如果愿意的话),是数据科学家的重要工具.实际上,它可以说是获取数据工作中最重要的语言.在共享单车数据分析的SQL设计中,我们将从入门者的 ...

  6. SQL语句oracle中如何插入Date类型的数据

    在开发的时候,经常要写条SQL语句将信息插入表中,插入的数据如果字段是date类型,就必须将date类型转换成字符串String类型在通过sql语句插入数据库.这是我字段唯一的方法,如果有高人请另赐教 ...

  7. 【SQL】利用sql语句在mysql的表中插入date类型的数据,

    文中可能有错,请谨慎实施 一. 创建一个数据库 create database test 二. 在数据库中创建表 create TABLE employees (emp_no int(4) not n ...

  8. sql server java类型_使用基本 JDBC 数据类型 - SQL Server | Microsoft Docs

    使用基本数据类型Using basic data types 01/29/2021 本文内容 Microsoft JDBC Driver for SQL ServerMicrosoft JDBC Dr ...

  9. string转换成date类型_你竟然知道SpringMVC是如何完成类型转换和数据绑定的吗?...

    # 前言 SpringMVC是目前主流的Web MVC框架之一. public String method(Integer num, Date birth) { ...} Http请求传递的数据都是字 ...

  10. mysql date类型加一个月jdbc_JDBC操作数据库Date类型数据

    JDBC操作数据库Date类型数据 由于java原生的工具类java.util提供的Date对象与JDBC提供的Date对象并不相同 分别是java.util.Date和java.sql.Date j ...

最新文章

  1. 射频全网通笔记(附全球频段划分及主要运营商对应表)
  2. 1000多首无损歌曲合集
  3. POJ2513-Colored Sticks
  4. 计算机组装与维护实训1,计算机组装与维护实训报告[1]
  5. Objective-C学习中对 C语言的扩展
  6. Unity3d通用工具类之定时触发器
  7. JVM夺命连环10问
  8. JavaScript求两点之间相对于Y轴的顺时针旋转角度
  9. 循环神经网络_漫谈循环神经网络:LSTM、GRU
  10. Java中TreeMap集合讲解
  11. 【致远FAQ】致远OA启动不起来了(上集)
  12. python linux区域截屏,用Python写一个像QQ可快捷键唤起区域截屏的应用
  13. 【听】天才在左,疯子在右,天才与疯子一线之间
  14. 126邮箱stmp服务器,免费邮箱
  15. N个苹果分给M个人,有多少种分法
  16. 2022凉茶市场份额
  17. 利用保利威视实现教育视频预览和购买
  18. python 炒股公式_计算股票公式
  19. 开源OCR文字识别软件Calamari
  20. 保姆级教学——Python+Pygame怎么实现吃豆豆游戏

热门文章

  1. 老去的80后忆当年-致80后的朋友们
  2. 使用 MySQL C API 访问 MySQL — 示例
  3. python安装whl文件的注意事项(windows系统)
  4. appium python api
  5. 随机变量的均值与样本的平均值有何区别
  6. 航海王启航服务器维护要多久,《航海王启航》7月1日服务器更新维护公告
  7. 计算机科学现代教育,现代教育技术教程-计算机科学教育.pdf
  8. 拓端tecdat|在Python和R中使用交叉验证方法提高模型性能
  9. 拓端tecdat|python在Keras中使用LSTM解决序列问题
  10. Java事件处理机制的两个案例