来自 计算机编程 2020-05-06 04:03 的文章
当前位置: 澳门威尼斯人平台 > 计算机编程 > 正文

MSSQL Server2000数据库分离与附加

核心提示:在使用iwms系统的过程中,我们会经常遇到数据内容的替换操作

核心提示:如果您数据库系统安装在系统盘,由于C盘容易受病毒侵害

以下的文章主要介绍的是MSSQL Server与MySQL数据库的不同之处,我们大家都知道MySQL数据库在实际应用中的比例可以说是居高不下的,所以对MySQL数据库有关的知识也是备受关注的。

 

在使用iwms系统的过程中,我们会经常遇到数据内容的替换操作。在告诉大家如何替换数据内容之前,我建议大家先了解一下SQL Server数据库的数据存储类型:

如果您数据库系统安装在系统盘,由于C盘容易受病毒侵害,您也许希望您的数据存放在非系统盘,要做的这点很简单,您并不需要重装数据库,只要把数据“分离”,然后将相关文件复制到D盘的某个目录,接着“附加”数据库即可。

  1. MySQL支持enum和set类型,SQL Server不支持;

  2. MySQL不支持nchar、nvarchar、ntext类型;

  3. MySQL数据库的递增语句是AUTO_澳门威尼斯人平台,INCREMENT,而MS SQL是identity(1,1);

  4. MS SQL默认到处表创建语句的默认值表示是((0)),而在MySQL里面是不允许带两括号的;

  5. MySQL需要为表指定存储类型;

  6. MS SQL识别符是[],[type]表示他区别于关键字,但是MySQL却是 `,也就是按键1左边的那个符号;

  7. MS SQL支持getdate()方法获取当前时间日期,但是MySQL里面可以分日期类型和时间类型,获取当前日期是cur_date(),当前完整时间是 now()函数;

  8. MS SQL不支持replace into语句,但是在最新的SQL Server 2008里面,也支持merge语法;

  9. MySQL数据库支持insert into table1 set t1 = ‘’, t2 = ‘’ ,但是MS SQL不支持这样写;

  10. MySQL支持insert into tabl1 values (1,1), (1,1), (1,1), (1,1), (1,1), (1,1), (1,1)

  11. MS SQL不支持limit语句,是非常遗憾的,只能用top 取代limt 0,N,row_number() over()函数取代limit N,M;

  12. MySQL在创建表时要为每个表指定一个存储引擎类型,而MS SQL只支持一种存储引擎;

  13. MySQL不支持默认值为当前时间的datetime类型(MS SQL很容易做到),在MySQL里面是用timestamp类型;

  14. MS SQL里面检查是否有这个表再删除,需要这样:

    if exists (select * from dbo.sysobjects   where id = object_id(N'uc_newpm') and OBJECTPROPERTY(id,N'IsUserTable')=1) 

方法一:

SQL Server数据类型:

SQL Server 2000允许分离数据库的数据和事务日志文件,然后将其重新附加到同一台或另一台服务器上。分离数据库将从SQL Server 删除数据库,但是保持在组成该数据库的数据和事务日志文件中的数据库完好无损。然后这些数据和事务日志文件可以用来将数据库附加到任何SQL Server实例上,这使数据库的使用状态与它分离时的状态完全相同。

但是在MySQL里面只需要 DROP TABLE IF EXISTS cdb_forums;

exec   sp_msforeachtable   @command1=N'   
  declare   @s   nvarchar(4000),@tbname   sysname   
  select   @s=N'''',@tbname=N''?''   
  select   @s=@s+N'',''+quotename(a.name)+N''=replace(''+quotename(a.name)+N'',N''''aa'''',N''''bb'''')''   
  from   syscolumns   a,systypes   b   
  where   a.id=object_id(@tbname)     
  and   a.xusertype=b.xusertype   
  and   b.name   like   N''%char''   
  if   @@rowcount>0   
  begin   
  set   @s=stuff(@s,1,1,N'''')   
  exec(N''update   ''+@tbname+''   set   ''+@s)   
  end'

以上是数据库的基础知识,是做网站的朋友都应该知道的内容,所以建议大家都耐心看一下。

数据库分离和附加其实很简单,您即使是初次接触数据库,做起来也很容易。

  1. MySQL支持无符号型的整数,那么比不支持无符号型的MS SQL就能多出一倍的最大数存储;

  2. MySQL不支持在MS SQL里面使用非常方便的varchar(max)类型,这个类型在MS SQL里面既可做一般数据存储,也可以做blob数据存储;

 

数据替换一般都发生在字符串数据字段中,除了ntext类型字段以外的其他字符串数据字段都可以使用以下的sql语句进行替换:

一、分离数据库

17. MySQL数据库创建非聚集索引只需要在创建表的时候指定为key就行,比如:KEY displayorder (fid,displayorder)

方法二:

本文由澳门威尼斯人平台发布于计算机编程,转载请注明出处:MSSQL Server2000数据库分离与附加

关键词: