经典的SQL语句(基础篇)

本文介绍了SQL的基础操作,包括创建和删除数据库、表的增删改查、索引与视图的管理,以及数据库的备份、收缩和转移。同时,讲解了SQL查询语句,如复制表、联查、条件筛选、随机取样、删除重复记录和行列转换等技巧。
摘要由CSDN通过智能技术生成

 一、数据库对象的操作
        1、创建数据库
         CREATE DATABASE database-name 
        2、删除数据库
         drop database dbname
        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
        7、添加主键   Alter table tabname add primary key(col) 
            删除主键: Alter table tabname drop primary key(col) 
        8、创建索引:create [unique] index idxname on tabname(col….) 
        9、创建视图:create view viewname as select statement 
        10、初始化表table1 TRUNCATE TABLE table1
        11、删除视图:drop view viewname
        12、更表所有权人
         --创建架构
         --CREATE SCHEMA [Username] AUTHORIZATION [Username]
         exec sp_changeobjectowner 'tablename','dbo'  --在使用之前需要创建架构
        13、存储更改全部表

CREATE   PROCEDURE  dbo.User_ChangeObjectOwnerBatch
  
@OldOwner   as   NVARCHAR ( 128 ),
  
@NewOwner   as   NVARCHAR ( 128 )
 
AS

 
DECLARE   @Name     as   NVARCHAR ( 128 )
 
DECLARE   @Owner    as   NVARCHAR ( 128 )
 
DECLARE   @OwnerName    as   NVARCHAR ( 128 )

 
DECLARE  curObject  CURSOR   FOR  
  
select   ' Name '     =  name,
   
' Owner '     =   user_name (uid)
  
from  sysobjects
  
where   user_name (uid) = @OldOwner
  
order   by  name

 
OPEN   curObject
 
FETCH   NEXT   FROM  curObject  INTO   @Name @Owner
 
WHILE ( @@FETCH_STATUS = 0 )
 
BEGIN      
  
if   @Owner = @OldOwner  
  
begin
   
set   @OwnerName   =   @OldOwner   +   ' . '   +   rtrim ( @Name )
   
exec  sp_changeobjectowner  @OwnerName @NewOwner
  
end
 
--  select @name,@NewOwner,@OldOwner

  
FETCH   NEXT   FROM  curObject  INTO   @Name @Owner
 
END

 
close  curObject
 
deallocate  curObject
 
GO


 二、管理维护数据库
        1、备份数据库
         --- 创建 备份设备
         EXEC sp_addumpdevice 'disk', 'testBack', 'c:/mssql7backup/MyNwind_1.dat'
         --- 开始 备份
         BACKUP DATABASE pubs TO testBack 
        2、收缩数据库
          --重建索引
          DBCC REINDEX
          DBCC INDEXDEFRAG
          --收缩数据和日志
          DBCC SHRINKDB
          DBCC SHRINKFILE
         3、压缩数据库
          dbcc shrinkdatabase(dbname)
         4、转移数据库给新用户以已存在用户权限
          exec sp_change_users_login 'update_one','newname','oldname'
         5、检查备份集
          RESTORE VERIFYONLY from disk='E:/dvbbs.bak'
         6、修复数据库

  ALTER   DATABASE   [ dvbbs ]   SET  SINGLE_USER
 
GO
 
DBCC  CHECKDB( ' dvbbs ' ,repair_allow_data_loss)  WITH  TABLOCK
 
GO
 
ALTER   DATABASE   [ dvbbs ]   SET  MULTI_USER

        7、

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值