随笔分类 -  SQL

SQL日常问题
摘要:前言 SQLite 是一个软件库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。SQLite 是在世界上最广泛部署的 SQL 数据库引擎。SQLite 源代码不受版权限制。 简单的认识了SQLite之后,我就很想来尝试一下,他如此的轻量,作为一个程序员,我没有理由不去... 阅读全文
posted @ 2014-10-08 07:16 aehyok 阅读(8353) 评论(33) 推荐(12) 编辑
摘要:前言 索引是常见的数据库对象,建立索引的目的是为了提高记录的检索速度。它的设置好坏,使用是否得当,极大地影响数据库应用程序和Database的性能。虽然有许多资料讲索引的用法,DBA和Developer们也经常与它打交道,但还是有不少的人对它存在误解,比如我本人就不是很清楚这其中的道理。所以特此进行总结,也请大牛们来给检查检查,分享下你们的经验。什么情况下会使用到索引 一般来说,对于单列索引,只要Select、Delete、Update语句的Where条件中有此列,就会使用此索引。 对于多列索引,假如一个表中的主键(ID,Name,Age三个字段联合索引),只有当Where条件中包含索引... 阅读全文
posted @ 2014-03-25 10:22 aehyok 阅读(2048) 评论(0) 推荐(2) 编辑
摘要:前言 关于对Oracle数据库查询性能优化的一个简要的总结。 从来数据库优化都是一项艰巨的任务。对于大数据量,访问频繁的系统,优化工作显得尤为重要。由于Oracle系统的灵活性、复杂性、性能问题的原因多样性以及Oralce数据库的动态特性,优化成为Oracle数据库管理中最困难的领域。作为一个对数据库了解不多的程序猿,我也只能从最基本的开始着手,慢慢来学习掌握Oracle的基础吧。示例1、避免使用select * 当你想在select字句中列出所有的column时,使用“select *”是一个方便的方法。不幸的是,这是一个低效的方法。实际上,Oracle在解析的过程中,会将‘*’依次转换.. 阅读全文
posted @ 2014-03-14 09:04 aehyok 阅读(1621) 评论(5) 推荐(8) 编辑
摘要:--1.SQL由什么文件和什么文件组成? /* 答:SQL由数据文件和日志文件组成 */--2.SQL的数据文件分哪两类?扩展名分别是什么?分别可以有多少个? /* 答:SQL的数据文件分主数据文件和二级数据文件。 主数据文件有且只有一个,二级数据文件0-N个 扩展名:主数据文件:MDF 二级数据文件:NDF */--3.SQL文件组和文件的关系? /* 答:文件存放在文件组中,一个文件只能属于一个文件组; 一个文件组可以有多个文件。 */--4.用代码创建多个数据文件的数据库? /* 答: CREATE DATABASE DatabaseName primary ON... 阅读全文
posted @ 2013-04-09 22:02 aehyok 阅读(643) 评论(0) 推荐(0) 编辑
摘要:1.首先介绍ROW_NUMBER() OVER的基本用法2.看一下实例数据初始化数据create table employee (empid int ,deptid int ,salary decimal(10,2))insert into employee values(1,10,5500.00)insert into employee values(2,10,4500.00)insert into employee values(3,20,1900.00)insert into employee values(4,20,4800.00)insert into employee values 阅读全文
posted @ 2012-12-04 10:25 aehyok 阅读(1023) 评论(0) 推荐(0) 编辑
摘要:在查询表数据的时候,即select * from 表名执行此SQL时,我用了ExecuteNonQuery(),并通过判断值是否大于0来判断数据的存在与否,其执行后返回的结果是-1。查找资料发现SqlCommand.ExecuteNonQuery 方法对连接执行 Transact-SQL 语句并返回受影响的行数。 备注:可以使用 ExecuteNonQuery 来执行目录操作(例如查询数据库的结构或创建诸如表等的数据库对象),或通过执行 UPDATE、INSERT 或 DELETE 语句,在不使用 DataSet 的情况下更改数据库中的数据。 虽然 E... 阅读全文
posted @ 2012-10-20 13:44 aehyok 阅读(904) 评论(0) 推荐(0) 编辑
摘要:1.创建的表结构 id列为自动增长列create table test( id int identity(1,1) not null, name nvarchar(20) )2.发现 SELECT SCOPE_IDENTITY() 即为该自动增长IDC#中直接在插入操作之后 int i=SELECT SCOPE_IDENTITY() 即可。3.针对SCOPE_IDENTITY解释如下:返回插入到同一作用域中的 IDENTITY 列内的最后一个 IDENTITY 值。一个作用域就是一个模块——存储过程、触发器、函数或批处理。因此,如果两个语句处于同一个存储过程、函数或批处理中,则它们位于... 阅读全文
posted @ 2012-10-19 09:48 aehyok 阅读(2493) 评论(2) 推荐(0) 编辑