• sqlserver数据库维护常用sql


    1、说明:创建数据库

      CREATE DATABASE database-name

      2、说明:删除数据库

      drop database dbname

      3、说明:备份sql server

      --- 创建 备份数据的 device

      USE master

      EXEC sp_addumpdevice 'disk', 'testBack', 'c:mssql7backupMyNwind_1.dat'

      --- 开始 备份

      BACKUP DATABASE pubs TO testBack

      4、说明:创建新表

      create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..)

      根据已有的表创建新表:

      A:create table tab_new like tab_old (使用旧表创建新表)

      B:create table tab_new as select col1,col2… from tab_old definition only

      5、说明:删除新表

      drop table tabname

      6、说明:增加一个列

      Alter table tabname add column col type

      注:列增加后将不能删除。DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar类型的长度。

      7、说明:添加主键: Alter table tabname add primary key(col)

      说明:删除主键: Alter table tabname drop primary key(col)

      8、说明:创建索引:create [unique] index idxname on tabname(col….)

      删除索引:drop index idxname

      注:索引是不可更改的,想更改必须删除重新建。

      9、说明:创建视图:create view viewname as select statement

      删除视图:drop view viewname

      10、说明:几个简单的基本的sql语句

      选择:select * from table1 where 范围

      插入:insert into table1(field1,field2) values(value1,value2)

      删除:delete from table1 where 范围

      更新:update table1 set field1=value1 where 范围

      查找:select * from table1 where field1 like ’%value1%’ ---like的语法很精妙,查资料!

      排序:select * from table1 order by field1,field2 [desc]

      总数:select count as totalcount from table1

      求和:select sum(field1) as sumvalue from table1

      平均:select avg(field1) as avgvalue from table1

      最大:select max(field1) as maxvalue from table1

      最小:select min(field1) as minvalue from table1

      11、说明:几个高级查询运算词

      A: UNION 运算符

      UNION 运算符通过组合其他两个结果表(例如 TABLE1 和 TABLE2)并消去表中任何重复行而派生出一个结果表。当 ALL 随 UNION 一起使用时(即 UNION ALL),不消除重复行。两种情况下,派生表的每一行不是来自 TABLE1 就是来自 TABLE2。

      B: EXCEPT 运算符

      EXCEPT 运算符通过包括所有在 TABLE1 中但不在 TABLE2 中的行并消除所有重复行而派生出一个结果表。当 ALL 随 EXCEPT 一起使用时 (EXCEPT ALL),不消除重复行。

      C: INTERSECT 运算符

      INTERSECT 运算符通过只包括 TABLE1 和 TABLE2 中都有的行并消除所有重复行而派生出一个结果表。当 ALL 随 INTERSECT 一起使用时 (INTERSECT ALL),不消除重复行。

      注:使用运算词的几个查询结果行必须是一致的。
       12、说明:列出数据库里所有的表名

      select name from sysobjects where type='U' // U代表用户

      13、说明:列出表里的所有的列名

      select name from syscolumns where id=object_id('TableName')   

      14、压缩数据库

      dbcc shrinkdatabase(dbname)

      15、转移数据库给新用户以已存在用户权限

      exec sp_change_users_login 'update_one','newname','oldname'

      go

      16、检查备份集

      RESTORE VERIFYONLY from disk='E:dvbbs.bak'  

      17:获取当前数据库中的所有用户表

      select Name from sysobjects where xtype='u' and status>=0

      18:获取某一个表的所有字段

      select name from syscolumns where id=object_id('表名')

      select name from syscolumns where id in (select id from sysobjects where type = 'u' and name = '表名')

      两种方式的效果相同

      19:查看与某一个表相关的视图、存储过程、函数

      select a.* from sysobjects a, syscomments b where a.id = b.id and b.text like '%表名%'

      20:查看当前数据库中所有存储过程

      select name as 存储过程名称 from sysobjects where xtype='P'

       21:查询用户创建的所有数据库

      select * from master..sysdatabases D where sid not in(select sid from master..syslogins where name='sa')

      或者

      select dbid, name AS DB_NAME from master..sysdatabases where sid <> 0x01

      22:查询某一个表的字段和数据类型

      select column_name,data_type from information_schema.columns

      where table_name = '表名'

      23:不同服务器数据库之间的数据操作

      --创建链接服务器

      exec sp_addlinkedserver 'ITSV ', ' ', 'SQLOLEDB ', '远程服务器名或ip地址 '

      exec sp_addlinkedsrvlogin 'ITSV ', 'false ',null, '用户名 ', '密码 '

         24.导数据从B表导入到A表

           TRUNCATE TABLE A;
           SET IDENTITY_INSERT A ON
           INSERT INTO A  SELECT * FROM B   
           SET IDENTITY_INSERT B OFF

  • 相关阅读:
    作业三
    源代码版本管理与项目管理软件的认识与github的注册
    每周更新的学习进度表
    电脑四则运算出题
    软件工程问题
    自我介绍
    2016.2.14-2016.2.21 中大信(北京)工程造价咨询有限公司实习有感
    《软件工程》课程总结
    结对编程项目---四则运算
    作业三:代码规范、代码复审、PSP
  • 原文地址:https://www.cnblogs.com/l1pe1/p/8931815.html
Copyright © 2020-2023  润新知