select函数

sqlalchemy(二)高级用法

匿名 (未验证) 提交于 2019-12-03 00:40:02
首先创建数据库,在这里一个user对应多个address,因此需要在address上增加user_id这个外键(一对多)。 #!/usr/bin/env python # encoding: utf-8 from sqlalchemy import create_engine from sqlalchemy import Column from sqlalchemy import Integer from sqlalchemy import String from sqlalchemy import ForeignKey from sqlalchemy.orm import backref from sqlalchemy.orm import sessionmaker from sqlalchemy.orm import relationship, backref from sqlalchemy.ext.declarative import declarative_base Base = declarative_base() class User (Base): __tablename__ = ‘users‘ id = Column(Integer, primary_key = True) name = Column(String( 32)) addresses =

web服务器之mini_frame框架demo

匿名 (未验证) 提交于 2019-12-03 00:27:02
dynamic/mini_frame.py import re import pymysql import urllib.parse import logging URL_FUNC_DICT = dict() """ URL_FUNC_DICT = { "/index.py" : index, "/center.py" : center, } """ # func_list = list() def route(url): def set_func(func): # func_list.append(func) URL_FUNC_DICT[url] = func def call_func(*args, **kwargs): return func(*args, **kwargs) return call_func return set_func @route(r"/index.html") def index(ret): with open("./templates/index.html") as f: content = f.read() # my_stock_info = "这里是从mysql中查询出来的数据2..." # content = re.sub(r"\{%content%\}",my_stock_info, content) conn = pymysql

hive基础知识四

匿名 (未验证) 提交于 2019-12-03 00:13:02
1. hive表的数据压缩 1.1 数据的压缩说明 压缩模式评价 可使用以下三种标准对压缩方式进行评价 1、压缩比:压缩比越高,压缩后文件越小,所以压缩比越高越好 2、压缩时间:越快越好 3、已经压缩的格式文件是否可以再分割:可以分割的格式允许单一文件由多个Mapper程序处理,可以更好的并行化 常见压缩格式 压缩方式 压缩比 压缩速度 解压缩速度 是否可分割 gzip 13.4% 21 MB/s 118 MB/s 否 bzip2 13.2% 2.4MB/s 9.5MB/s 是 lzo 20.5% 135 MB/s 410 MB/s 是 snappy 22.2% 172 MB/s 409 MB/s 否 Hadoop编码/解码器方式 压缩格式 对应的编码/解码器 DEFLATE org.apache.hadoop.io.compress.DefaultCodec Gzip org.apache.hadoop.io.compress.GzipCodec BZip2 org.apache.hadoop.io.compress.BZip2Codec LZO com.hadoop.compress.lzo.LzopCodec Snappy org.apache.hadoop.io.compress.SnappyCodec 1.2 数据压缩使用 Hive表 中间数据 压缩(map端)

nginx IO模型

折月煮酒 提交于 2019-12-02 23:27:42
今天下班早些来普及下nginx io模型: 用户空间与内核空间: 现在操作系统都是采用虚拟存储器,那么对32位操作系统而言,它的寻址空间(虚拟存储空间)为4G(2的32次方)。操作系统的核心是内核,独立于普通的应用程序,可以访问受保护的内存空间,也有访问底层硬件设备的所有权限。为了保证用户进程不能直接操作内核(kernel),保证内核的安全,操作系统将虚拟空间划分为两部分,一部分为内核空间,一部分为用户空间。针对linux操作系统而言,将最高的1G字节(从虚拟地址0xC0000000到0xFFFFFFFF),供内核使用,称为内核空间,而将较低的3G字节(从虚拟地址0x00000000到0xBFFFFFFF),供各个进程使用,称为用户空间。 进程切换: 为了控制进程的执行,内核必须有能力挂起正在CPU上运行的进程,并恢复以前挂起的某个进程的执行。这种行为被称为进程切换。因此可以说,任何进程都是在操作系统内核的支持下运行的,是与内核紧密相关的。 从一个进程的运行转到另一个进程上运行,这个过程中经过下面这些变化: 保存处理机上下文,包括程序计数器和其他寄存器。 更新PCB信息。 把进程的PCB移入相应的队列,如就绪、在某事件阻塞等队列。 选择另一个进程执行,并更新其PCB。 更新内存管理的数据结构。 恢复处理机上下文。 注:总而言之就是很耗资源,具体的可以参考这篇文章: http:/

pymysql内置功能

匿名 (未验证) 提交于 2019-12-02 22:06:11
视图是一个虚拟表(非真实存在),其本质是【根据SQL语句获取动态的数据集,并为其命名】,用户使用时只需使用【名称】即可获取结果集,可以将该结果集当做表来使用。 #语法:CREATE VIEW 视图名称 AS SQL语句 create view teacher_view as select tid from teacher where tname=‘李平老师‘; #于是查询李平老师教授的课程名的sql可以改写为 mysql> select cname from course where teacher_id = (select tid from teacher_view); +--------+ | cname | +--------+ | 物理 | | 美术 | +--------+ rows in set (0.00 sec) #!!!注意注意注意: #1. 使用视图以后就无需每次都重写子查询的sql,但是这么效率并不高,还不如我们写子查询的效率高 #2. 而且有一个致命的问题:视图是存放到数据库里的,如果我们程序中的sql过分依赖于数据库中存放的视图, 那么意味着,一旦sql需要修改且涉及到视图的部分,则必须去数据库中进行修改,而通常在公司中数据库有专门的DBA负责, 你要想完成修改,必须付出大量的沟通成本DBA可能才会帮你完成修改,极其地不方便 #修改视图,原始表也跟着改

Mysql存储过程

匿名 (未验证) 提交于 2019-12-02 22:06:11
存储过程简介 SQL语句需要先编译然后执行,而存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给定参数(如果该存储过程带有参数)来调用执行它。 存储过程是可编程的函数,在数据库中创建并保存,可以由SQL语句和控制结构组成。当想要在不同的应用程序或平台上执行相同的函数,或者封装特定功能时,存储过程是非常有用的。数据库中的存储过程可以看做是对编程中面向对象方法的模拟,它允许控制数据的访问方式。 存储过程的优点: (1). 增强SQL语言的功能和灵活性 :存储过程可以用控制语句编写,有很强的灵活性,可以完成复杂的判断和较复杂的运算。 (2). 标准组件式编程 :存储过程被创建后,可以在程序中被多次调用,而不必重新编写该存储过程的SQL语句。而且数据库专业人员可以随时对存储过程进行修改,对应用程序源代码毫无影响。 (3). 较快的执行速度 :如果某一操作包含大量的Transaction-SQL代码或分别被多次执行,那么存储过程要比批处理的执行速度快很多。因为存储过程是预编译的。在首次运行一个存储过程时查询,优化器对其进行分析优化,并且给出最终被存储在系统表中的执行计划。而批处理的Transaction-SQL语句在每次运行时都要进行编译和优化,速度相对要慢一些。 (4).减少网络流量

Python与Mysql

匿名 (未验证) 提交于 2019-12-02 22:06:11
安装 安装 sudo apt-get install mysql-server mysql-client 然后按照提示输入 管理服务 启动 service mysql start ֹͣ service mysql stop 重启 service mysql restart 允许远程连接 找到mysql配置文件并修改 sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf 将bind-address=127.0.0.1注释 登录mysql,运行命令 grant all privileges on *.* to 'root'@'%' identified by 'mysql' with grant option; flush privileges; 重启mysql 字段类型 在mysql中包含的数据类型很多,这里主要列出来常用的几种 数字:int,decimal 字符串:char,varchar,text 日期:datetime,timestamp 布尔:bit 约束 主键primary key 非空not null Ωһunique 默认default 外键foreign key shell> mysql -u USERNAME -p PASSWORD -h IPV4 -p PORT 数据库操作 创建数据库 create database 数据库名

mysql数据库总结和提升

匿名 (未验证) 提交于 2019-12-02 22:06:11
mysql> select * from teachers; | tno | tname | tsex | tbirthday | prof | depart | | 804 | 李诚 | 男 | 1958-12-02 00:00:00 | 副教授 | 计算机系 | | 856 | 张旭 | 男 | 1969-03-12 00:00:00 | 讲师 | 电子工程系 | | 825 | 王萍 | 女 | 1972-05-05 00:00:00 | 助教 | 计算机系 | | 831 | 刘冰 | 女 | 1977-08-14 00:00:00 | 助教 | 电子工程系 | 4 rows in set (0.00 sec) mysql> select * from students; | sno | sname | ssex | sbirthday | class | | 108 | 曾华 | 男 | 1977-09-01 00:00:00 | 95033 | | 105 | 匡明 | 男 | 1975-10-02 00:00:00 | 95031 | | 107 | 王丽 | 女 | 1976-01-23 00:00:00 | 95033 | | 101 | 李军 | 男 | 1976-02-20 00:00:00 | 95033 | | 109 | 王芳 | 女 | 1975-02

MySQLѧϰ

匿名 (未验证) 提交于 2019-12-02 22:06:11
MySQLѧϰ ― Java攻城狮学习路线 ― 入门: 1. 简介 2. 安装 3. 数据库连接 4. 数据库操作 5. 注释 6. 数据类型 7. 数据表操作 8. 数据操作 9. 常用函数 10. 导入导出数据 11. 图形化工具 12. SQL快速参考 进阶: 13. 存储引擎 14. 索引 15. 查询性能优化 16. 切分 17. 故障转移与故障恢复 1. 简介 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件。 1.1 什么是据库? 数据库(Database)是按照数据结构来组织、存储和管理数据的仓库。每个数据库都有一个或多个不同的API用于创建,访问,管理,搜索和复制所保存的数据。基于读写速度考虑,现在使用关系型数据库管理系统(RDBMS)来存储和管理大数据量。所谓的关系型数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。其特点为: 数据以表格的形式出现 每行为各种记录 每列为记录所对应的数据项 许多的行和列组成一张表单 若干的表单组成数据库 1.2 RDBMS

mysql数据库的concat(),group_concat(),concat_ws()函数,三者之间的比较

匿名 (未验证) 提交于 2019-12-02 22:06:11
今天在写项目的时候,看到同事使用group_concat()函数 和concat_ws()函数,这两个函数和普通的concat()函数之间到底有什么不同。 我使用的 数据库是mysql数据库。 GROUP_CONCAT函数: SELECT GROUP_CONCAT(MappPolicyNo, '') FROM lcmapPolicyNo WHERE PolicyNo ='MGU201909003'; 显示结果:1111111111,111111111112,112121212,123456789,2222222222,22222222222,2222222223,25345345,3333333333111,3453322222222,3453453453,44556666,45555555555555534,6666666666666 由此可见:这个函数是将这个保单下的多个分单号以逗号的方式进行拼接显示 SELECT GROUP_CONCAT(1,2,3,'') from dual; 显示结果:123 由此可见,这和concat函数的运行结果是相同的。 CONCAT 函数 SELECT concat(1,2,3,'') from dual; 显示结果:123 CONCAT_WS 函数 SELECT CONCAT_WS( '', ClientCFirstName,