select函数

学习python第三天单行函数

一个人想着一个人 提交于 2019-12-19 07:53:06
1.去重:distinct关键字需求:查看公司一共有多少部门?select department_id from employees;此代码会查出107条记录,存在部门重复的问题!select distinct department_id from employees;思考:参看如下代码有没有问题?select employee_id,last_name,distinct department_id from employees;解答:会出现问题(报错了),出错原因,因为在执行代码的过程中对于employee_id,last_name这两列都有107条数据,而department_id去重之后只有12条数据,数量对不上了!所以报错了!总结:使用distinct需谨慎...2.单行函数:概念:单数据进单结果出(单进单出)分类学习:1).字符函数2).数字函数3).日期函数4).转换函数5).通用函数字符函数:1).大小写转换函数:3个①.lower(m):将字符串中所有字符转换为全小写②.upper(m):将字符串中所有字符转换为全大写③.initcap(m):将字符串中首字母转为大写,其余字母转换小写代码实现:select lower('ORACLE'),upper('oracle'),initcap('oRACLE') from dual;需求:查询名字为Bell这个人的信息

mysql存储过程详解

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

Oracle procedure 基本语法

╄→尐↘猪︶ㄣ 提交于 2019-12-19 05:41:11
Oracle procedure 基本语法 转自: http://lorry1113.javaeye.com/blog/513851 关键字: oracle 存储过程 1.基本结构 CREATE OR REPLACE PROCEDURE 存储过程名字 ( 参数1 IN NUMBER, 参数2 IN NUMBER ) IS 变量1 INTEGER :=0; 变量2 DATE; BEGIN END 存储过程名字 2.SELECT INTO STATEMENT 将select查询的结果存入到变量中,可以同时将多个列存储多个变量中,必须有一条 记录,否则抛出异常(如果没有记录抛出NO_DATA_FOUND) 例子: BEGIN SELECT col1,col2 into 变量1,变量2 FROM typestruct where xxx; EXCEPTION WHEN NO_DATA_FOUND THEN xxxx; END; ... 3.IF 判断 IF V_TEST=1 THEN BEGIN do something END; END IF; 4.while 循环 WHILE V_TEST=1 LOOP BEGIN XXXX END; END LOOP; 5.变量赋值 V_TEST := 123; 6.用for in 使用cursor ... IS CURSOR cur IS

MySQL存储过程

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

数据库中函数

你说的曾经没有我的故事 提交于 2019-12-18 07:56:36
-- 选出A表中的两条数据,插入c表中 SELECT TOP 2 * INTO C FROM A TRUNCATE TABLE B -- 清空表 -- 根据type从不同的表中选出想要的数据 select case when type = 1 then sdealer. [ name ] else custom. [ name ] end from seale left join custom on seale.fk_custom = custom.pkid left join sdealer on seale.fk_custom = sdealer.pkid -- 同上,运用子查询 select case when type = 1 then ( select [ name ] from sdealer where pkid = seale.fk_custom) else ( select [ name ] from custom where pkid = seale.fk_custom) end as CName from seale -- 选出日期之间的差距为5的数据 select * from a where datediff (minute, ' 2012-01-02 11:30:00.230 ' , getdate ()) > 5 select getdate ()

MySQL基础知识

霸气de小男生 提交于 2019-12-17 18:09:55
一、MySQL安装 MySQL的下载 http://dev.mysql.com/downloads/mysql/ MySQL版本选择 MySQL功能自定义选择安装 1.功能自定义选择 2.路径自定义选择 3.设置root用户密码 4.安装完成,点击MySQL Workbench 6.3 CE进入MySQL客户端 二、SQL基础 SQL语句分类 1.DDL(Data Definition Languages)语句: 数据定义语言 ,这些语句定义了不同的数据段、数据库、表、列、索引等数据库对象。常用的语句关键字主要包括create/drop/alter 2.DML(Data Manipulation Language)语句: 数据操纵语句 ,用于添加、删除、更新和查询数据库记录,并检查数据完整性。常用的语句关键字主要包括 insert/delete/update/select等 3.DCL(Data Control Language)语句: 数据控制语句 ,用于控制不同数据段直接的许可和访问级别的语句。这些语句定义了数据库、表、字段、用户的访问权限和安全级别。主要的语句关键字包括grant/revoke等 DDL语句(涉及表的定义、结构的修改) 一、create语句 Query Ok代表语句执行成功 1 row affected代表数据库一行收到影响 0.01 sec代表操作执行的时间

SQL server操作要点

巧了我就是萌 提交于 2019-12-17 02:19:30
SQL基础操作:说明:【】是可省略的项 A是可视化操作 B是SQL操作 概念模型:用e-r图表示,逻辑模型:把e-r图转换为关系模式(类似:A(a,b,c)) 物理模型是mdf文件 索引 索引对应的是内模式部分,基本表对应的是模式部分,而视图对应的是外模式部分。 创建: A:点击对应的数据库☛右击对应的表的索引结点☛新建索引然后命名添加对应的列 B: create 【unique】【cluster/noncluster】index 索引名 on 表(列名) 修改: A: B: alter index 索引名 on 表(列名)rebulid/重新生成/reorganize/重新组织索引/disable/禁用索引/ 删除: A:点击索引下面的对应的索引然后点击删除 B: drop index 索引名 on 表【列名】 视图 创建: A:右击视图☛新建视图☛选中相应的表☛关闭添加表☛选中对应的列名 B: create view 视图名 as select语句 使用: Select * from 视图名 修改: B: alter view 视图名 as 新的select语句 更新:(视图更新的数据也会存入原表) B: update 视图名 set 列名=‘新值’ 插入: B: insert 视图名 values (新值) 删除: B: drop view 视图名 存储过程 创建:

一文看懂java io系统

帅比萌擦擦* 提交于 2019-12-17 00:20:19
学习java IO系统,重点是学会IO模型,了解了各种IO模型之后就可以更好的理解java IO Java IO 是一套Java用来读写数据(输入和输出)的API。大部分程序都要处理一些输入,并由输入产生一些输出。Java为此提供了java.io包 java中io系统可以分为Bio,Nio,Aio三种io模型 关于Bio,我们需要知道什么是同步阻塞IO模型,Bio操作的对象:流,以及如何使用Bio进行网络编程,使用Bio进行网络编程的问题 关于Nio,我们需要知道什么是同步非阻塞IO模型,什么是多路复用Io模型,以及Nio中的Buffer,Channel,Selector的概念,以及如何使用Nio进行网络编程 关于Aio,我们需要知道什么是异步非阻塞IO模型,Aio可以使用几种方式实现异步操作,以及如何使用Aio进行网络编程 BIO BIO是同步阻塞IO,JDK1.4之前只有这一个IO模型,BIO操作的对象是流,一个线程只能处理一个流的IO请求,如果想要同时处理多个流就需要使用多线程 流包括字符流和字节流,流从概念上来说是一个连续的数据流。当程序需要读数据的时候就需要使用输入流读取数据,当需要往外写数据的时候就需要输出流 阻塞IO模型 在Linux中,当应用进程调用 recvfrom 方法调用数据的时候,如果内核没有把数据准备好不会立刻返回,而是会经历等待数据准备就绪

MSSQL常用函数(转载)

喜欢而已 提交于 2019-12-16 13:12:34
一、字符转换函数 1、ASCII() 返回字符表达式最左端字符的ASCII 码值。在ASCII()函数中,纯数字的字符串可不用‘’括起来,但含其它字符的字符串必须用‘’括起来使用,否则会出错。 2、CHAR() 将ASCII 码转换为字符。如果没有输入0 ~ 255 之间的ASCII 码值,CHAR() 返回NULL 。 3、LOWER()和UPPER() LOWER()将字符串全部转为小写;UPPER()将字符串全部转为大写。 4、STR() 把数值型数据转换为字符型数据。 STR (<float_expression>[,length[, <decimal>]]) length 指定返回的字符串的长度,decimal 指定返回的小数位数。如果没有指定长度,缺省的length 值为10, decimal 缺省值为0。 当length 或者decimal 为负值时,返回NULL; 当length 小于小数点左边(包括符号位)的位数时,返回length 个*; 先服从length ,再取decimal ; 当返回的字符串位数小于length ,左边补足空格。 二、去空格函数 1、LTRIM() 把字符串头部的空格去掉。 2、RTRIM() 把字符串尾部的空格去掉。 三、取子串函数 1、left() LEFT (<character_expression>, <integer

MySQL中使用LIMIT分页

折月煮酒 提交于 2019-12-16 08:28:50
需求:客户端通过传递pageNum(页码)和pageSize(每页显示的条数)两个参数去分页查询数据库表中的数据。   我们知道MySQL提供了分页函数limit m,n,但是该函数的用法和需求不一样,所以就需要根据实际情况去改写以满足需求。分析如下:   查询第1条到第10条数据的sql是:select * from table limit 0,10; ->对应我们的需求就是查询第一页的数据:select * from table limit (1-1)*10,10;   查询第10条到第20条数据的sql是:select * from table limit 10,20; ->对应我们的需求就是查询第二页的数据:select * from table limit (2-1)*10,10;   查询第20条到第30条数据的sql是:select * from table limit 20,30; ->对应我们的需求就是查询第三页的数据:select * from table limit (3-1)*10,10;   通过上面的分析,可以归纳得出符合需求的分页SQL伪代码是:select * from table limit (pageNum-1)*pageSize,pageSize。总而言之,我们只需要告诉数据库要从第几行开始拿多少条数据就行了。   但是