数据库
文章平均质量分 87
妙手书生2016
爱好编程与论文写作
展开
-
SQL窗口函数-MySQL-leetcode刷数据库题目必备知识
目录背景:窗口函数的介绍:窗口函数的应用场景:支持窗口函数的查询元素:窗口函数的案例博客链接:背景:在leetcode刷数据库题目时,凡是中等难度及困难难度的题目必涉及到SQL窗口函数的应用。参考网上的相关知识,SQL窗口函数的内容点总结一下。数据库采用的是MySQL数据库。窗口函数的介绍:窗口函数作用于一个数据行集合。窗口是标准的SQL术语,用来描述SQL语句内OVER子句划定的内容,这个内容就是窗口函数的作用域。而在OVER子句中,定义了窗口所覆盖的与当前行相关.原创 2020-11-23 11:20:13 · 312 阅读 · 0 评论 -
Oracle索引(Index)创建使用
Oracle对象教程:索引(Index)创建使用,索引:对数据库表中的某些列进行排序,便于提高查询效率。当我们在某本书中查找特定的章节内容时,可以先从书的目录着手,找到该章节所在的页码,然后快速的定位到该页。这种做法的前提是页面编号是有序的。如果页码无序,就只能从第一页开始,一页页的查找了。数据库中索引(Index)的概念与目录的概念非常类似。如果某列出现在查询的条件中,而该列的数原创 2017-08-02 10:49:23 · 246 阅读 · 0 评论 -
SQL注入原理及PreparedStatement的使用
SQL注射原理SQL 注射能使攻击者绕过认证机制,完全控制远程服务器上的数据库。SQL是结构化查询语言的简称,它是访问数据库的事实标准。目前,大多数Web应用都使用 SQL数据库来存放应用程序的数据。几乎所有的Web应用在后台都使用某种SQL数据库。跟大多数语言一样,SQL语法允许数据库命令和用户数据混杂在一 起的。如果开发人员不细心的话,用户数据就有可能被解释成命令,这样的话,远程用转载 2017-08-16 16:16:47 · 578 阅读 · 0 评论 -
oracle参数查询避免SQL注入
前言。可以参考上一篇转载的文章,这里只做简单介绍。所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。具体来说,它是利用现有应用程序,将(恶意的)SQL命令注入到后台数据库引擎执行的能力,它可以通过在Web表单中输入(恶意)SQL语句得到一个存在安全漏洞的网站上的数据库,而不是按照设计者意图去执行SQL语句。 比原创 2017-08-18 17:00:36 · 5473 阅读 · 0 评论 -
sql语句中left join、inner join中的on与where的区别
table a(id, type):id type----------------------------------1 1 2 1 3 2 table b(id, class):id class-------------------------转载 2017-09-13 19:38:56 · 246 阅读 · 0 评论 -
通过dos命令启动停止mysql数据库
1 首先安装好mysql数据库2 输入cmd,一定要以管理员身份打开dos命令窗口3 用dos命令进入安装目录,进入到bin下4 启动:net start mysql停止:net stop mysql。原创 2017-12-21 19:14:34 · 2869 阅读 · 0 评论 -
python连接mysql数据库
Python使用MySQL数据库(新) 一,安装mysql 如果是windows 用户,mysql 的安装非常简单,直接下载安装文件,双击安装文件一步一步进行操作即可。Linux 下的安装可能会更加简单,除了下载安装包进行安装外,一般的linux 仓库中都会有mysql ,我们只需要通过一个命令就可以下载安装:Ubuntu\deepin>>s原创 2017-12-21 21:24:17 · 199 阅读 · 0 评论 -
Mysql中的排序规则utf8_unicode_ci、utf8_general_ci的区别总结
Mysql中utf8_general_ci与utf8_unicode_ci有什么区别呢?在编程语言中,通常用unicode对中文字符做处理,防止出现乱码,那么在MySQL里,为什么大家都使用utf8_general_ci而不是utf8_unicode_ci呢?用了这么长时间,发现自己竟然不知道utf_bin和utf_general_ci这两者到底有什么区别。。ci是 case原创 2017-12-22 13:07:45 · 1793 阅读 · 1 评论 -
python向mysql数据库插入汉字出现乱码问题
1 在mysql数据库服务器上新建数据库的时候,需要设置数据库的字符编码为utf82 在连接数据库的时候,加个参数,说明数据库那边的字段类型一致,charset='utf8'。 大概就是这样:conn =MySQLdb.connect(host="127.0.0.1",user="nimei",passwd="nimei",db="nimei"原创 2017-12-23 18:57:10 · 1050 阅读 · 0 评论 -
oracle多列排序及两种删除表的方法的速度比较
oracle多列排序(顺序、倒序)ORDER BY 后可加2个字段,用英文逗号隔开。1、f1用升序, f2降序,sql该这样写; 1 ORDER BY f1, f2 DESC 2、也可以这样写,更清楚; 1 ORDER BY f1 ASC, f2 DESC 3、如果都用降序,必须用两个desc...原创 2019-01-15 20:46:30 · 1898 阅读 · 1 评论 -
oracle一张表向另一张表插入不重复数据merge into用法
参考1:由于项目中需要用到批量插入,为了防止用户插入重复的数据,需要先判断插入的数据是不是已经存在,如果存在则忽略这次插入,否则插入这条数据,刚开始的时候是先用一条SQL语句判断,如果返回结果是真(记录已经存在),则忽略,否则插入这条数据,这样的话插入一条数据就要发起两个到数据库的连接,后来发现这样做效率实在太低了,Google了一下,发现oracle数据库支持merge语句,做了原创 2017-06-09 18:13:29 · 7058 阅读 · 0 评论 -
ORACLE SEQUENCE用法ID自增
在oracle中sequence就是序号,每次取的时候它会自动增加。sequence与表没有关系。 1、Create Sequence 首先要有CREATE SEQUENCE或者CREATE ANY SEQUENCE权限。 创建语句如下: CREATE SEQUENCE seqTestINCREMENT BY 1 -- 每次加几个START WITH原创 2017-07-12 14:00:24 · 2474 阅读 · 0 评论 -
C#获取oracle中某个用户的所有表
列出属于某个用户的所有表:SELECT table_name FROM user_tables; 列出属于当前用户可以访问的所有表:SELECT table_name FROM all_tables; 列出所有表(当前用户必须是管理员):SELECT table_name FROM dba_tables; 列出某个表的所有字段:SELECT COLU转载 2017-06-03 11:30:16 · 1304 阅读 · 0 评论 -
oracle分表分区提高检索速度的相关方法
此文从以下几个方面来整理关于分区表的概念及操作: 1.表空间及分区表的概念 2.表分区的具体作用 3.表分区的优缺点 4.表分区的几种类型及操作方法 5.对表分区的维护性操作.(1.) 表空间及分区表的概念表空间: 是一个或多个数据文件的集合,所有的数据对象都存放在指原创 2017-05-30 21:20:32 · 3335 阅读 · 0 评论 -
深入学习Oracle分区表及分区索引
深入学习Oracle分区表及分区索引 关于分区表和分区索引(About Partitioned Tables and Indexes)对于10gR2而言,基本上可以分成几类:• Range(范围)分区• Hash(哈希)分区• List(列表)分区• 以及组合分区:Range-H原创 2017-05-30 21:49:58 · 311 阅读 · 0 评论 -
ORACLE 普通表转换成分区表(在线重定义)
在一个高可用系统中,如果需要改变一个表的定义是一件比较棘手的问题,尤其是对于7×24系统。Oracle提供的基本语法基本可以满足一般性修改,但是对于把普通堆表改为分区表,把索引组织表修改为堆表等操作就无法完成了。而且,对于被大量DML语句访问的表,幸运的是,Oracle从9i版本开始提供了在线重定义表功能,通过调用DBMS_REDEFINITION包,可以在修改表结构的同时允许DML操作。原创 2017-05-31 10:33:55 · 520 阅读 · 0 评论 -
Oracle中查看所有表和字段相关SQL代码
获取表字段:select * from user_tab_columns where Table_Name='用户表' order by column_name获取表注释:select * from user_tab_comments where Table_Name='用户表'order by Table_Name获取字段注释:原创 2017-06-04 19:39:01 · 2419 阅读 · 0 评论 -
Oracle Online Redefinition在线重定义
面对越来越多的7*24系统,运维人员进行工作可用的时间窗口变的越来越小。就在有限的时间窗口中,硬件检修、网络改造配置占据了很多时间。对数据库对象进行日常维护,越来越成为我们需要关注的问题。 进行数据重排、表分区、字段类型修改、字段增改这样的操作,在开发和测试环境上是比较容易进行的。即使数据表很大,操作耗时可能会很高,我们也能够通过一些非技术的手段赢取操作时间窗。但是对于投产系统而言,操作过原创 2017-05-31 11:01:53 · 704 阅读 · 0 评论 -
DBMS_REDEFINITION在线重定义表
DBMS_REDEFINITION包可以在线重定义表,这次演示把非分区表要在线重定义为分区表本次演示DBMS_REDEFINITION在线重定义分区表的几个步骤:1:建立一个需要被重定义的表A(非分区)2:建立一个中间表B(分区表)3:用表B结构来重定义表A,使A表分区: DBMS_REDEFINITION在线重定义表的原理:利用物化视图转载 2017-05-31 15:21:03 · 1273 阅读 · 0 评论 -
Oracle:表名、字段名、constraint名的长度有限制
Oracle:表名、字段名、constraint名的长度有限制oracle 的命名规则:1、要以字母开头2、包含字母和数字,以及# $3、不能超过30个字符这是Oracle的限制! ==============数据库 表名列名长度限制问题今天修改数据库表名,感觉现有的定义列名都无含义。。。原创 2017-06-05 16:31:26 · 875 阅读 · 0 评论 -
C# 用sql insert into 语句向oracle插入数据数据一直未更新
参考一下说明:少了一个commit语句。DML语言,比如update,delete,insert等修改表中数据的需要commit;DDL语言,比如create,drop等改变表结构的,就不需要写commit(因为内部隐藏了commit);DDL 数据定义语言:create table 创建表 alter table 修改表 drop table 删除表 truncat原创 2017-06-05 20:43:39 · 4126 阅读 · 0 评论 -
VS环境下C#控制台远程连接oracle数据库无需安装客户端非常简单
VS环境下C#控制台远程连接oracle数据库无需安装客户端非常简单新增加的引用:Oracle.ManagedDataAccess并在命名空间增加:using Oracle.ManagedDataAccess.Client;直接上代码: public void setConnectionString() { string hostaddres原创 2017-06-02 16:35:05 · 3501 阅读 · 2 评论 -
DataGridView导出到Excel的三个方法
#region DataGridView数据显示到Excel /// /// 打开Excel并将DataGridView控件中数据导出到Excel /// /// DataGridView对象 /// 是否显示Excel界面 /// /// add com "Microsoft Excel 11.0 Objec转载 2017-05-04 10:51:51 · 813 阅读 · 0 评论