SQL 增加删除库表

create database stuDB
on  primary  -- 默认就属于primary文件组,可省略
(
/*--数据文件的具体描述--*/
    name=‘stuDB_data‘,  -- 主数据文件的逻辑名称
    filename=‘D:\stuDB_data.mdf‘, -- 主数据文件的物理名称
    size=5mb, --主数据文件的初始大小
    maxsize=100mb, -- 主数据文件增长的最大值
    filegrowth=15%--主数据文件的增长率
)
log on
(
/*--日志文件的具体描述,各参数含义同上--*/
    name=‘stuDB_log‘,
    filename=‘D:\stuDB_log.ldf‘,
    size=2mb,
    filegrowth=1mb
)

select * from sysdatabases

use master -- 设置当前数据库为master,以便访问sysdatabases表
go
if exists(select * from sysdatabases where name=‘stuDB‘)
drop database stuDB
go

use StuDB
go
if exists(select * from sysobjects where name=‘stuMarks‘)
drop table stuMarks
create table stuMarks
(
    ExamNo      int     identity(1,1) primary key,
    stuNo       char(6) not null,
    writtenExam int     not null,
    LabExam     int     not null
)
go

-- 其中,列属性"identity(起始值,递增量)" 表示"ExamNo"列为自动编号, 也称为标识列

alter table 表名
add constraint 约束名 约束类型 具体的约束说明
alter table 表名
drop constraint 约束名

alter table stuMarks
add constraint UQ_stuNo Unique(stuNo)

alter table stuMarks
drop constraint UQ_stuNo

/*--添加SQL登录账户--*/
exec sp_addlogin ‘xie‘, ‘123456‘  -- 账户名为xie,密码为123456

--删除xie账户名
exec sp_droplogin ‘xie‘

/*--在stuDB数据库中添加两个用户(必须存在)--*/
use stuDB
go
  exec sp_grantdbaccess ‘xie‘,‘123456‘
go

-- 提示:SQL Server 中的dbo用户是具有在数据库中执行所有活动权限的用户,表示数据库的所有者(owner),一般来说,
-- 如果创建了某个数据库,就是该数据库的所有者,即dbo用户,dbo用户是一个比较特殊的数据库用户,无法删除,且此用
-- 户始终出现在每个数据库中
/* --给数据库用户授权-- */
-- 授权的语法如下
-- grant 权限 [on 表名] to 数据库用户
use stuDB
go
  grant select,update,insert on stuMarks to xie
  grant create table to xie
go

时间: 2024-11-15 01:06:32

SQL 增加删除库表的相关文章

Sql Server删除数据表中重复记录 三种方法

本文介绍了Sql Server数据库中删除数据表中重复记录的方法. [项目]数据库中users表,包含u_name,u_pwd两个字段,其中u_name存在重复项,现在要实现把重复的项删除![分析]1.生成一张临时表new_users,表结构与users表一样:2.对users表按id做一个循环,每从users表中读出一个条记录,判断new_users中是否存在有相同的u_name,如果没有,则把它插入新表:如果已经有了相同的项,则忽略此条记录:3.把users表改为其它的名称,把new_use

sql语句删除库中所有表

1 --/第1步**********删除所有表的外键约束*************************/ 2 use DCCalc_Engine 3 GO 4 DECLARE c1 cursor for 5 select 'alter table ['+ object_name(parent_obj) + '] drop constraint ['+name+']; ' 6 from sysobjects 7 where xtype = 'F' 8 open c1 9 declare @c1

Sql Server 删除所有表

如果由于外键约束删除table失败,则先删除所有约束:   --/第1步**********删除所有表的外键约束*************************/   DECLARE c1 cursor for select 'alter table ['+ object_name(parent_obj) + '] drop constraint ['+name+']; ' from sysobjects where xtype = 'F' open c1 declare @c1 varcha

Sql Server 删除所有表 脚本

如果由于外键约束删除table失败,则先删除所有约束: --/第1步**********删除所有表的外键约束*************************/ DECLARE c1 cursor for select 'alter table ['+ object_name(parent_obj) + '] drop constraint ['+name+']; ' from sysobjects where xtype = 'F' open c1 declare @c1 varchar(80

SQL批量删除用户表(先删除所有外键约束,再删除所有表)

--批量删除用户表 --1.删除外键约束DECLARE c1 cursor for     select 'alter table ['+ object_name(parent_obj) + '] drop constraint ['+name+']; '    from sysobjects     where xtype = 'F'open c1declare @c1 varchar(8000)fetch next from c1 into @c1while(@@fetch_status=0

sql server 删除所有表、视图、存储过程

本文来自:http://www.cnblogs.com/yjss/articles/2065664.html 1.删除表 use 数据库名 declare mycur cursor local for select [name] from dbo.sysobjects where xtype='U' declare @name varchar(100) OPEN mycur FETCH NEXT from mycur into @name WHILE @@FETCH_STATUS = 0 BEG

sql语句删除数据表重复字段的方法

大家都可能遇到字段重复的情况,网上很多人在找方法,也给出了一些方法,但是有的方法是误导大家,铁牛写出以下方法,方便大家使用 1.通过group by把重复的字段筛选出来,并建立临时表tmp create table tmp as select max(id) as col1 from www group by dfdfd; 2.从去重表对象里通过not in的条件来筛选出不在临时表的列col1,执行not in的删除操作 delete from www where id not in (sele

SQL语句删除所有表

/* Drop all non-system stored procs */DECLARE @name VARCHAR(128)DECLARE @SQL VARCHAR(254) SELECT @name = (SELECT TOP 1 [name] FROM sysobjects WHERE [type] = 'P' AND category = 0 ORDER BY [name]) WHILE @name is not nullBEGIN    SELECT @SQL = 'DROP PRO

SQL 批量删除数据表

declare @name varchar(200) while(exists(select * from sysobjects where name like '表名前缀%')) begin select @name=name from sysobjects where name like '表名前缀%' exec ('drop table '+@name) end