建表 相关
来源:互联网 发布:重载 java 编辑:程序博客网 时间:2024/06/08 04:56
下面列举一些和建表相关的一些内容:
1、建表的基本结构,使用。
2、临时表的使用。
3、关于临时表作用的案例。
具体内容:
1、建表的基本结构,使用。
CREATE TABLE `method_info_wang` (# 设置列,列相关的约束 `apkVersion` varchar(50) NOT NULL, `apkName` varchar(100) NOT NULL, `packageName` varchar(150) NOT NULL, `className` varchar(150) NOT NULL, `methodName` varchar(150) NOT NULL, `methodType` varchar(50) NOT NULL, `parameter` varchar(255) NOT NULL, `returnType` varchar(100) NOT NULL, #设置多个主键 PRIMARY KEY (`apkVersion`,`apkName`,`packageName`,`className`,`methodName`,`methodType`,`parameter`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;# 建立一个对应关系表(反应两个表之间的对应关系)CREATE table apk_package(apk_id BIGINT NOT NULL ,package_id BIGINT NOT NULL,PRIMARY KEY (apk_id,package_id),# 设置外键FOREIGN KEY(apk_id) REFERENCES apk_info_wang(apk_id),FOREIGN KEY(package_id) REFERENCES package_info_wang(package_id));
2、关于临时表的使用。
临时表的作用:
(1)抽取出用户关心的属性,形成新的临时表。
(2)可缩小原来的集合,从而降低了搜索的空间。
(3)及时消除,不对后续表造成影响。
(注意其存活周期:临时表只在数据库连接时可见,当连接断开时,自动drop掉。)
#1、创建 apk _ package 临时表#注意:temporary CREATE TEMPORARY TABLE tmp_apk_package(apk_version VARCHAR(50) NOT NULL,apk_name VARCHAR(150) NOT NULL,package_name VARCHAR(100) NOT NULL);3、临时表的使用案例。
图不是很对应,但思路相同:
###### package,class关系对应表的生成 #####CREATE TEMPORARY TABLE tmp_package_class (package_name VARCHAR(100) not NULL,class_name VARCHAR(100) NOT NULL);# 向临时表中插入数据# 通过 distinct去重,降低集合空间。 INSERT INTO tmp_package_class(package_name,class_name) (SELECT DISTINCT callerPackageName,callerClassName FROM call_info_wang);# package_class.package_id,package_class.class_id 为联合主键 --》故使用ignore.# 从三个表中获取数据,(因为有相互关联),使用 左外连接 LEFT JOIN .# 多表外连接 ---》 拼接LEFT JOIN . INSERT IGNORE INTO package_class(package_class.package_id,package_class.class_id)(SELECT package_id,class_id FROM tmp_package_class LEFT JOIN package_info_wang ON tmp_package_class.package_name = package_info_wang.packageName # 注意 :(1)LEFT JOIN 需要建立表关系外, (2)还需要设定连接条件LEFT JOIN class_info_wang ON tmp_package_class.class_name = class_info_wang.className);
0 0
- 建表 相关
- 相关
- 相关
- 相关
- 相关
- 相关
- 相关
- 相关
- 【工作相关】相关博客地址
- stroyboard相关 AppDelegate相关
- https相关、http相关
- hadoop相关 mapreduce 相关
- idea相关 配置文件相关
- JBoss相关
- 相关概念
- 单元测试相关
- 相关网站
- Oracle相关
- 论if(0==$time)与if($time==0)的区别
- iOS开发——在 OC 项目中使用基于 Swift 的 CocoaPods 库
- Spring基础知识(8)-JdbcTemplate
- Linux下静态链接库与动态链接库的区别
- MyBatis学习总结(三)——优化MyBatis配置文件中的配置
- 建表 相关
- Caffe错误:error C2220: 警告被视为错误 - 没有生成“object”文件
- 计算机会议排名等级
- 221. Maximal Square
- pat L3-003. 社交集群
- 4.4 IKEv2 Win7 客户端证书认证
- shell脚本中Sha-Bang(#!)解释
- 无法连接远程桌面--必须为远程桌面启用Windows防火墙例外
- LeetCode 2 : Add Two Numbers ---- 单链表相加