mysql函数

MySQL 数据库查询数据,过滤重复数据保留一条数据---(MySQL中的row_number变相实现方法)

和自甴很熟 提交于 2019-12-05 18:56:49
原文: MySQL 数据库查询数据,过滤重复数据保留一条数据---(MySQL中的row_number变相实现方法) 转自: http://www.maomao365.com/?p=10564 摘要: 下文讲述MySQL数据库查询重复数据时,只保留一条数据的方法 实现思路: 在MySQL数据库中没有row_number函数,所以我们需变向实现此功能。 --1.基础数据表查看 mysql> select * from `maomao365.com`; +-------+------------+ | keyId | infoB | +-------+------------+ | 1 | mysql test | | 129 | sql | | 12913 | sql | | 12913 | sql | | 12913 | sql | +-------+------------+ 5 rows in set (0.00 sec) ---2 群组编号 mysql> select if(@keyId=a.keyId and @infoB=a.infoB,@r:=@r+1,@r:=1) as rowNumber,a.*,@keyId:=a.keyId,@infoB:=a.infoB -> from (select @keyId:=null,@infoB:=null,@r:=0) r,

MySQL练习与小结

时光怂恿深爱的人放手 提交于 2019-12-05 18:07:01
当你专注一件事的时候,时间总是过得很快! foreign key 练习 -- 切换数据库 use stumgr -- 删除班级表 drop table t_class1 -- 创建一个班级表 create table t_class1 ( cno int auto_increment not null, cname varchar (12) not null, room int (4), primary key (cno) ); -- 查看班级表 desc t_class1 -- 添加班级数据 insert into t_class1 values (null,'Javay1班',501),(null,'Javay2班',502),(null,'大数据1班',401); -- 查看班级表信息 select * from t_class1 -- 清空班级表数据 truncate table t_class1 -- 删除学生表 drop table t_student1 -- 创建学生表 create table t_student1 ( sno int primary key auto_increment, name varchar (20), sex char (1) default '男', age int, classno int, constraint fk_t

wafer2的几个简单示例

别等时光非礼了梦想. 提交于 2019-12-05 17:47:40
如何快速新建路由 服务端 Demo 采用 Koa.js 框架编写,腾讯云基于 Koa 对上层进行一个简单的封装,方便你快速的添加新建路由 只需要在 controllers 目录下新建一个文件,例如为 demo.js ,写入如下代码: module.exports = function (ctx, next) { ctx.state.data = { msg: 'Hello World' } } 保存之后,接着在 routes/index.js 的 module.exports = router 之前添加如下路由并保存: router.get('/demo', controllers.demo) 接着点击右上角的“腾讯云”按钮,选择“上传测试代码”,勾选“智能上传”,点击确定即可上传并部署代码,等到提示开发环境部署成功了之后,打开浏览器,访问 https://腾讯云分配的域名/weapp/demo ,即可看到刚刚编写的返回,是一个 JSON 字符串: {"code":0,"data":{"msg":"Hello World"}} 如何使用服务端 SDK 连接和操作数据库 服务端 SDK 还暴露出了内部使用的 MySQL 连接,由于 SDK 内部使用 Knex.js 连接数据库,SDK 暴露的 MySQL 实例就是 Knex.js 连接实例,具体使用方法可以查看 Knex.js 文档

MySQL--MySQL WorkBench--图形交互客户机的下载,安装与介绍

前提是你 提交于 2019-12-05 17:46:25
我们发现安装完以后的MySQL是通过cmd来控制的,这样的话就非常的不方便了. 因为我们不能方便地查询其他功能. 在<MySQL必知必会>这本书中介绍到了两种图形交互客户机,分别是MySQL Administrator和MySQL Query Browser, 这两种图形交互客户机已经停止更新了,甚至是被淘汰了. 因此,我们需要下载MySQL的图形交互客户机MySQL WorkBench,这款的话还在时刻更新当中. 下面我来介绍怎么下载与安装MySQL WorkBench. 一.下载 1.地址: https://dev.mysql.com/downloads/workbench/ (点击网址进去,直接下载就可以) 二.安装 因为这是客户端,所以直接安装就行,没有任何难度. 三.介绍 1.打开桌面,就进入了登陆界面 点击账号,就可以登陆MySQL进行操作了. 2.接着,打开主界面进行操作,主界面如下图: (按照图片中的序号一个一个看,大概了解界面的布局) 3.首先先介绍菜单栏的内容 Files Edit 1 New model 建立新的数据库 1.主要是编辑MySQL的一些操作 2.New Query Tab 建立新的查询选项卡 2.比较简单,就不细说了 3.Open modl 打开以前建立的数据库 4.Open SQL Script 打开SQL脚本文件 View Query 1

PHP反序列化漏洞研究

蓝咒 提交于 2019-12-05 16:57:59
序列化 序列化说通俗点就是把一个对象变成可以传输的字符串 php serialize()函数 用于序列化对象或数组,并返回一个字符串。序列化对象后,可以很方便的将它传递给其他需要它的地方,且其类型和结构不会改变。 <?php $sites = array('Google', 'Microsoft', 'Facebook'); $serialized_data = serialize($sites); echo $serialized_data . PHP_EOL; ?> 输出: a:3:{i:0;s:6:"Google";i:1;s:9:"Microsoft";i:2;s:8:"Facebook";} 解释 a: 代表数组(如果是o就代表对象(object)) 3: 代表数组里面有3个变量 i: 代表数据类型(i:int;s:string) 6: 代表数据长度 反序列化 php unserialize()函数 用于将通过 serialize() 函数序列化后的对象或数组进行反序列化,并返回原始的对象结构。 <?php $str = 'a:3:{i:0;s:6:"Google";i:1;s:9:"Microsoft";i:2;s:8:"Facebook";}'; $unserialized_data = unserialize($str); print_r($unserialized

PHP mysql_query() 函数解析

筅森魡賤 提交于 2019-12-05 16:32:54
mysql_query() 函数执行一条 MySQL 查询。 语法如下: mysql_query(query,connection) 参数 query 是必需。它规定要发送的 SQL 查询。注释:查询字符串不应以分号结束。参数 connection 是可选的。它规定 SQL 连接标识符。如果未规定,则使用上一个打开的连接。 如果没有打开的连接,本函数会尝试无参数调用 mysql_connect() 函数来建立一个连接并使用之。 mysql_query() 仅对 SELECT,SHOW,EXPLAIN 或 DESCRIBE 语句返回一个资源标识符,如果查询执行不正确则返回 FALSE。对于其它类型的 SQL 语句,mysql_query() 在执行成功时返回 TRUE,出错时返回 FALSE。 非 FALSE 的返回值意味着查询是合法的并能够被服务器执行。这并不说明任何有关影响到的或返回的行数。很有可能一条查询执行成功了但并未影响到或并未返回任何行。 该函数自动对记录集进行读取和缓存。如需运行非缓存查询,请使用 mysql_unbuffered_query()。 Example 1 <?php $con = mysql_connect("localhost", "mysql_user", "mysql_pwd"); if (!$con) { die('Could not

SQL笔记

我们两清 提交于 2019-12-05 15:37:16
目录 1.常用的代码中的sql查询方式 2.union注入 3.盲注(布尔,延时) 3.1常用函数 3.2盲注语句 4.报错盲注 4.1函数 4.2注入语句 5.mysql读写文件的两个函数 5.1 load_file() 5.2 outfile 6.sql注入的时候编码问题 7.update 注入 8.insert注入 9.sql语句的执行逻辑 10.过滤函数 11.过滤 #,-- 12.约束攻击 13.宽字节注入 14.order by 注入 1.常用的代码中的sql查询方式 //单引号保护 ?id=1' and 1=1--+ $sql="SELECT * FROM users WHERE id='$id' LIMIT 0,1"; //没有保护,一般查询纯数字类型的数据 ?id=1 and 1=1--+ $sql="SELECT * FROM users WHERE id= $id LIMIT 0,1"; //单引号与小括号保护 ?id=1') and 1=1--+ $sql="SELECT * FROM users WHERE id=('$id') LIMIT 0,1"; //双引号与小括号保护 ?id=1") and 1=1--+ $sql="SELECT * FROM users WHERE id=("$id") LIMIT 0,1"; //双引号保护 ?id=1"

MySQL学习笔记(一)——MySQL语法

吃可爱长大的小学妹 提交于 2019-12-05 11:58:34
一、SQL语句分类 1.DDL(Data Definition Language):数据库定义语言,用来定义数据库对象:库、表、列等。对库表列等数据库对象进行创建、删除、修改等操作。 2.DML(Data Manipulation Language):数据库操作语言, 用来定义数据库记录:增、删、改表中的记录。 3.DCL(Data Control Language):数据控制语言,用来定义访问权限和安全级别。 4.DQL(Data Query Language):数据查询语言,用来查询记录。(重点) 二、MySQL数据类型 TINYINT:1字节,很小的整。 SMALLINT:2字节,小的整数。 MEDIUMINT:3字节,中等大小的整数。 INT或INTGER:4字节,普通大小的整数。 BIGINT:8个字节,大整数。 FLOAT:4个字节,单精度浮点数。 DOUBLE:8个字节,双精度浮点数,如DOUBLE(6,2):表示该浮点值最多有6位数,其中必须有2位小数。 DECIMAL(M,D):小数值,参数表示该数值最多有M位数,其中必须有D位小数。 CHAR(M):字符型,1<=M<=255,固定长度字符串类型。数据库的长度不足置顶的长度,它会自动补充到指定长度。假如在定义char(255)的列中存入一个字符a,虽然a只占一个字符,但是它会自动给你加254个空格凑成255的长度

Mysql入门学习笔记02—DML基础

浪子不回头ぞ 提交于 2019-12-05 11:35:10
很久很久以前学习mysql的笔记记录,很随意,但都是自己记录的,希望对需要的人有所帮助。 本文使用word2013编辑并发布 Postbird | There I am , in the world more exciting! Postbird personal website .www.ptbird.cn NULL: NULL 都是not,防止出现null NULL=NULL 是假;NULL!=NULL 是假; 0=0 是真; select uid from user2 where name is NULL; select uid from user2 where name is not NULL; Group分组与统计函数: max(); 求最大 count(); 求个数 avg(); 求平均 min(); 求最小 sum(); 求总和 group有一个排序过程 可能会耗费资源。 select cat_id,avg(shop_price) from goods group by cay_id; Having 筛选: where 作用的时间比较早 作用在磁盘上而不是内存上 having 可以做到使用 as 出来的数据 select (age1-age2) as cha from user3 where 1 having cha < 2; 练习: 找出下面中

Mysql 学习整理

左心房为你撑大大i 提交于 2019-12-05 11:26:05
1 创建数据库 1.1数据库基本结构   数据库:数据库是表的集合,带有相关的数据。   表:一个表是多个字段的集合。   字段:一个字段是一列数据,由字段名和记录组成 1.2创建数据库   create database 数据库名称;     例:创建名为test的测试数据库       create database test; 1.3查看创建好的数据库:   show create database 数据库名称;     例: 查看创建好的test数据库       show create database test; 1.4查看所有数据库列表:show databases; 1.5 使用数据库:   use 数据库名称;     例: 使用创建好的test数据库       use test; 1.6 删除数据库:   drop database 数据库名称;      例: 删除创建好的test数据库        drop database test; 2   创建数据表   – 数据库是由多个数据表构成的   – 每张数据表存储多个字段   – 每个字段由不同的字段名及记录构成,每个字段有自己的数据结构及约束条件 2.1 创建数据表:   create table 表名(…);   – 例:用SQL语句创建以下员工信息表   1. 使用test数据库: use