数据库相关

SQL点滴25—T-SQL面试语句,练练手

原文:SQL点滴25—T-SQL面试语句,练练手1.用一条SQL语句查询出每门课都大于80分的学生姓名namekechengfenshu张三语文81张三数学75李四语文76李四数学90王五语文81王五数学100王五英语90思路:这里不能直接用分数>80这样的比较条件来查询的到结果,因为要求没门成绩都大于80。我们可以反过来思考,如果有一门成绩小于80,那么就不符合要求。先找出成绩表中成绩<80的多有学生姓名,不能重复,然后再用notin找出不再这个集合中的

系统 2019-08-12 01:33:12 2483

SqlServer

SQL Server 数据库备份

让你的备份模型与你的恢复模型相符合确保你运行的备份类型与你的数据库设置的恢复模型相符合。我见过许多案例设置为完全恢复,但是只有全备份被提到。在这些实例中,事务日志远远比数据库文件更大,但仍然得到了每个备份的支持。利用大块日志恢复模型如果你将给数据库中做大量插入,而且要求如果必要的话可以重建数据,那就通过使用大容量日志恢复模型保存事务日志备份时间。这个选项不对每个大块加载操作都记日志,这样可以使你的事务日志内容更少,事务日志备份运行更快。采用差异备份如果你的

系统 2019-08-12 01:32:44 2483

Oracle

深入浅出Oracle学习笔记:Undo

undo的作用是:解决oracle多用户读写一致性,以及操作可撤销或者回滚。1.undo表空间是从10g开始进行自动管理的,几个参数如下:undo_management:回滚段手动管理还是自动管理undo_tablespace:为undo单独定义的表空间;在自动管理模式下,使用哪个表空间undo_retention:在自动管理模式下,回滚段在非活动状态下,回滚段中的数据被覆盖前,系统的保留时间(秒)。2.回滚段存储的内容insert操作:只记录插入记录的r

系统 2019-08-12 01:55:12 2482

Oracle

Oracle的wm_concat函数

wm_concat函数简单说就是行转列显示。转自:http://christy-fang.iteye.com/blog/1299850首先让我们来看看这个神奇的函数wm_concat(列名),该函数可以把列值以","号分隔起来,并显示成一行,接下来上例子。准备测试数据SQL>createtabletest(idnumber,namevarchar2(20));SQL>insertintotestvalues(1,'a');SQL>insertintotes

系统 2019-08-12 01:55:11 2482

SqlServer

SQL Server数据库partition by 与ROW_NUMBER()

关于SQL的partitionby字段的一些用法心得先看例子:ifobject_id('TESTDB')isnotnulldroptableTESTDBcreatetableTESTDB(Avarchar(8),Bvarchar(8))insertintoTESTDBselect'A1','B1'unionallselect'A1','B2'unionallselect'A1','B3'unionallselect'A2','B4'unionallsele

系统 2019-08-12 01:54:56 2482

MySql

mysql 主从同步原理

Replication线程Mysql的Replication是一个异步的复制过程,从一个Mysqlinstace(我们称之为Master)复制到另一个Mysqlinstance(我们称之Slave)。在Master与Slave之间的实现整个复制过程主要由三个线程来完成,其中两个线程(Sql线程和IO线程)在Slave端,另外一个线程(IO线程)在Master端。要实现MySQL的Replication,首先必须打开Master端的BinaryLog(mys

系统 2019-08-12 01:54:12 2482

Oracle

oracle sql

0.删除重复的数据没有主键的deletefromimp_comidawherea.idcard||'%'||a.driveridin(selecta1||'%'||B1from(selectt.idcarda1,min(driverid)b1fromimp_comidtgroupbyt.idcardhavingcount(*)>1))1.updateimp_stratworktsett.class=1,t.guid=(selecti.drividfromi

系统 2019-08-12 01:54:02 2482

Oracle

不装oracle进行远程连接解决办法 .

不装oracle进行远程连接解决办法最近有一任务,需要使用Oracle数据库,以前对此不太熟悉,就从网上查找资料,(说实在的网络真是太好了,也多亏了许多的热心的技术人员,愿意把自己的经验和心得与大家分享)并转贴了一个帖子参考,不过此帖子有些地方没有说清楚,确实让我费了好大劲,才测试成功。下面我把我的步骤说明一下:(环境:WindowsXPsp2+vs2008)1、先从Oracle官网下载便捷客户端InstantClient(需要注册一个用户,免费的)(ht

系统 2019-08-12 01:53:47 2482

MySql

mysql很全的和完整的总结

(1)数据类型类型备注tinyint/smallint/mediumint/int/bigint1B/2B/3B/4B/8Bfloat/double单精度/双精度浮点型decimal不会产生精度丢失的单精度/双精度浮点型date日期类型time时间类型datetime/TimeStamp日期时间类型/TimeStamp(登录时间,自己主动填充)year年类型char定长字符串类型varchar可变长字符串类型tinyblob/blob/mediumblob

系统 2019-08-12 01:53:14 2482

MySql

mysql权限管理

一、权限命令标识授权表中对应的列说明CREATECreate_priv创建数据库、表或索引CREATETEMPORARYTABLESCreate_tmp_table_priv创建临时数据表CREATEROUTINECreate_routine_priv创建函数或存储CREATEVIEWCreate_view_priv创建视图CREATEUSERCreate_user_priv创建用户EXECUTEExecute_priv执行函数或存储过程INDEXInde

系统 2019-08-12 01:54:32 2481

MySql

mysql忘记密码的解决办法

mysql忘记密码时,需要重设密码。在Windows下的操作如下:1.关闭正在运行的MySQL。2.打开DOS窗口,转到mysql\bin目录。3.输入mysqld--skip-grant-tables回车。如果没有出现提示信息,那就对了。4.再开一个DOS窗口(因为刚才那个DOS窗口已经不能动了),转到mysql\bin目录。5.输入mysql回车,如果成功,将出现MySQL提示符>6.连接权限数据库>usemysql;(>是本来就有的提示符,别忘了最后

系统 2019-08-12 01:54:15 2481

数据库相关

va_start、va_end、va_list的简单使用

1:当无法列出传递函数的所有实参的类型和数目时,可用省略号指定参数表voidfoo(...);voidfoo(parm_list,...);2:函数参数的传递原理函数参数是以数据结构:栈的形式存取,从右至左入栈.eg:#includevoidfun(inta,...){int*temp=temp++;for(inti=0;i

系统 2019-08-12 01:53:41 2481

数据库相关

SQL语句的增删改查

一、增:有4种方法1.使用insert插入单行数据:语法:insert[into]<表名>[列名]values<列值>例:insertintoStrdents(姓名,性别,出生日期)values('开心朋朋','男','1980/6/15')注意:into可以省略;列名列值用逗号分开;列值用单引号因上;如果省略表名,将依次插入所有列2.使用insertselect语句将现有表中的数据添加到已有的新表中语法:insertinto<已有的新表><列名>sele

系统 2019-08-12 01:52:49 2481