常用SQL语句

1. 判断是否存在某个数据库并删除-
use master --设置当前数据库为master,以便访问sysdatabases表
go
if exists(select *from sysdatabases where name='xueDB')
drop database xueDB

2. 创建数据库并设置属性
create database xueDB
on primary--primary可以省略,默认时就属于primary文件组
(/*--数据文件的具体描述--*/
name='xueDB_data',--主数据文件的逻辑名称
filename='d:\myDB\xueDB_data.mdf', -- 主数据文件的物理名称
size=4mb,
maxsize=100mb,
filegrowth=15%
)
log on
(/*--日志文件的具体描述--*/
name='xueDB_log',
filename='d:\myDB\xueDB_log.ldf',
size=2mb,
filegrowth=1mb
)

3. 只有特定的角色可以使用下面语句修改数据库名
sp_renamedb  [  @dbname =  ]   ' old_name '  ,
     [  @newname =  ]   ' new_name '

4.修改数据库的名字(只修改sqlserver中名字文件名字并未修改)
alter database xueDB
modify name=stuDB

5. 判断某个表是否存在并删除表
use stuDB
go
if exists(select *from sysobjects where name='stuMarks')
drop table stuMarks

6. 创建一个表
create table stuMarks
(   
ExamNo      int     identity(1,1) primary key,-- identity(起始值,递增量)" 表示此列为自动编号  
stuNo       char(6) not null,   
writtenExam int     not null,   
LabExam     int     not null
)
go

7.修改表之增删约束
alter table 表名
add constraint 约束名 约束类型 具体的约束说明
alter table 表名
drop constraint 约束名
例:alter table stuMarks
    add constraint UQ_stuNo Unique(stuNo)
        constraint PK_ExamNo primary key(ExamNo),--主键
        constraint DF_stuNo foreign key(stuNo)references 另一表名 (SID),--外键
        constraint DF_LabExam default (1) for LabExam,--状态默认为1

    alter table stuMarks
    drop constraint UQ_stuNo

8.增删SQL登录账户
exec sp_addlogin 'xue','123' -- 登陆名为xue,密码为123
exec sp_droplogin 'xue'
例:

9. 在stuDB数据库中添加两个用户(必须存在)
use stuDB
go 
exec sp_grantdbaccess 'xue','123456'
go

10. 给数据库用户授权
use stuDB
go 
grant select,update,insert on stuMarks to xue 
grant create table to xue
go

11. 增删一个列
alter table stuMarks
add age int
alter table stuMarks
drop column age

12.添加删除主键(有主键了就不可以添加了)
Alter table stuMarks
add primary key(col)

13. 创建删除视图
create view viewname as select statement
drop view viewname

14. 表中插入记录
insert into stuMarks(stuNo,writtenExam,labExam,age)values(101901,99,96,20)
--ExamNo作为标识列不能给显示值,age可为空则可不写,其他非空一定要有
insert into 目标数据表 select * from 源数据表" --把源数据表的记录添加到目标数据表

15. 删除表中记录
delete from stuMarks where stuNo=101902
delete from stuMarks --删除整个表中的记录

16.查询表
select *from stuMarks--查询整个表的所有数据
select *from stuMarks where age=20 order by stuNo desc--默认为inc
select *from stuMarks where age like '%23%'  order by stuNo desc
select top 2 *from stuMarks where age like '%20%'  order by stuNo desc
select  *from stuMarks where age in(20,23)
select  *from stuMarks where age between 20 and 28

select sum/avg/count/max/min (age) as s from stuMarks --求表中年龄之和,平均值,最大最小,记录数
查询去除重复值:select distinct * from stuMarks

select * into pkpm_abc..sysItemNum from pkpmjc2007..sysItemNum把一表中的所有数据写入另一表中

 

17.更新表中记录
update stuMarks set stuNo=101902 where stuNo=101904
update stuMarks set stuNo=101902,age=27 where stuNo=101904

18.备份数据库
backup database pkpm_abc to disk='D:\pkpm_abc.bak'

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值