![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据库编程
Jaya1989
Any
展开
-
SQL Server 2000
1. SQL Server2000中创建一个自动递增的列:id int identity(1,1) ,2. 得到当前时间函数是:getdate() //记得MySQL中是now()3. 分页技巧: pagesize: 每页显示记录数 cureentpage:当前页数 SQL语句: select * from (select TOP pagesize * FR原创 2010-04-13 22:56:00 · 824 阅读 · 0 评论 -
【转载】数据库中的-脏读,幻读,不可重复读
数据库带来的并发问题包括: 1.丢失或覆盖更新。(幻像读) 2.未确认的相关性(脏读)。 3.不一致的分析(非重复读)。详细描述如下:一.丢失更新当两个或多个事务选择同一行,然后基于最初选定的值更新该行时,会发生丢失更新问题。每个事务都不知道其它事务的存在。最后的更新将重写由其它事务所做的更新,这将导致数据丢失。e.g.事务A和事务B同时修改某行的值原创 2012-02-27 17:06:09 · 1071 阅读 · 0 评论 -
【转载】如何让你的SQL运行得更快
人们在使用SQL时往往会陷入一个误区,即太关注于所得的结果是否正确,而忽略了不同的实现方法之间可能存在的性能差异,这种性能差异在大型的或是复杂的数据库环境中(如联机事务处理OLTP或决策支持系统DSS)中表现得尤为明显。笔者在工作实践中发现,不良的SQL往往来自于不恰当的索引设计、不充份的连接条件和不可优化的where子句。在对它们进行适当的优化后,其运行速度有了明显地提高!下面我将从原创 2012-02-27 17:04:46 · 989 阅读 · 0 评论 -
【转载】Oracle SQL性能优化
(1) 选择最有效率的表名顺序(只在基于规则的优化器中有效):ORACLE的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表 driving table)将被最先处理,在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表。如果有3个以上的表连接查询, 那就需要选择交叉表(intersection table)作为基础表, 交叉表原创 2012-02-27 17:11:59 · 1343 阅读 · 0 评论 -
oracle SYS SYSTEM密码找回
当一个Oracle菜鸟,遇到sys帐号密码忘记了,system帐号被锁定了的尴尬.....囧下面提供一个很简单的解决办法 sqlplus /nolog;connect / as sysdbaalter user sys identified by ******;--你设定的新密码alter user system identified by ******;--你设定的新原创 2011-12-04 21:29:04 · 1163 阅读 · 1 评论 -
MYSQL、SQL Server、Oracle数据库排序空值null问题及其解决办法
【sqlserver】: sqlserver 认为 null 最小。 升序排列:null 值默认排在最前。 要想排后面,则:order by case when col is null then 1 else 0 end ,col 降序排列:null 值默认排在最后。 要想排在前面,则:order by case when col is null then 0 else 1原创 2011-11-02 10:50:42 · 11446 阅读 · 1 评论 -
ORA-01747: user.table.column, table.column 或列说明无效
导致”ORA-01747: user.table.column, table.column 或列说明无效“错误,是由于在你的表中使用到了oracle的关键字所致。我就用了个DESC,囧。查询Oracle内置关键字:select * from v$reserved_word原创 2011-09-09 10:43:36 · 5513 阅读 · 1 评论 -
PLSQL连接远程oracle数据库
首先当然是要安装Oracle的客服端。在安装ORACLE的目录下 \oracle\ora92\network\ADMIN 有个tnsnames.ora 加入如下代码 数据库名= (DESCRIPTION = (ADDRE原创 2011-09-01 10:13:10 · 1003 阅读 · 0 评论 -
MySQL获取Auto_increment字段刚插入的值
<br />MySQL获取Auto_increment字段刚插入的值<br />不能使用select max(id) from testnotnull;<br />这样来获取刚插入的那个递增字段的值,<br />这样没有考虑多线程。<br /> <br />一个比较好的方法是:<br />使用java.sql.PreparedStatement pstmt = conn.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS);<br />在插入数据之后,原创 2010-11-15 11:13:00 · 8337 阅读 · 0 评论 -
MySQL之alter语句用法总结
<br />1:删除列<br />ALTER TABLE 【表名字】 DROP 【列名称】<br />2:增加列<br />ALTER TABLE 【表名字】 ADD 【列名称】 INT NOT NULL COMMENT '注释说明'<br />3:修改列的类型信息<br />ALTER TABLE 【表名字】 CHANGE 【列名称】【新列名称(这里可以用和原来列同名即可)】 BIGINT NOT NULL COMMENT '注释说明'<br />4:重命名列<br />ALTER TABLE 【表名转载 2010-09-05 22:58:00 · 1386 阅读 · 0 评论 -
【转载】怎样用命令查看Mysql数据库大小?
1、进去指定schema 数据库(存放了其他的数据库的信息)use information_schema2、查询所有数据的大小select concat(round(sum(DATA_LENGTH/1024/1024),2),'MB') as data from TABLES3、查看指定数据库的大小比如说 数据库apoylselect con原创 2012-10-10 17:28:05 · 2847 阅读 · 0 评论