sql常用语句集合(工作总结)
因为工作需要,所以对数据库的操作都要用sql语句,所以我会陆续把一些常用的sql语句总结下来,方便以后使用,正好也复习一下基础知识
1. 增,删,改字段
-----------------------------------------------------
增加字段
alter table 表名 add 字段名 字段类型 是否可为空
示例: alter table student add sid int not null
更新字段
alter table 表名 alter column 字段名 字段类型 是否为空
示例: alter table student alter column sid varchar(20) null
删除字段
alter table 表名 drop column 字段名
示例: alter table student drop column sid
---------------------------------------------------------------
2. 判断是否有某个表或存储过程或字段,然后删除之
-----------------------------------------------------------
表:
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[表名]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1)
DROP TABLE [dbo].[表名]
存储过程:
IF EXISTS (SELECT * FROM DBO.SYSOBJECTS WHERE ID = OBJECT_ID(N'[dbo].[存储过程名]') and OBJECTPROPERTY(ID, N'IsProcedure') = 1)
DROP PROCEDURE [dbo].[存储过程名]
字段:
if Exists(select * from syscolumns where id=object_id('表名') and name='字段名')
alter table 表名 drop column 字段名
------------------------------------------------------------
3. 多条件语句,类似swich语句
示例:
declare @sumdays [int]
declare @grade [int]
select @grade =
case
when @sumdays=40 then 1
when @sumdays>40 then 2
end
4. 备份还原语句
下面俩个例子,分别说明了备份和还原
备份:
BACKUP DATABASE [QPShopDB] TO DISK = N'D:\数据库备份\100209\QPShopDB.bak' WITH NOFORMAT, NOINIT, NAME = N'QPShopDB-完整 数据库 备份', SKIP, NOREWIND, NOUNLOAD, STATS = 10
还原:
RESTORE DATABASE [News] FROM DISK = N'D:\数据库备份\100209\QPShopDB.bak' WITH FILE = 1, NOUNLOAD, STATS = 10
,replace,move 'test' to 'D:\database\test.mdf',move 'test_log' to 'D:\database\test.ldf'
注意:with后面跟相关参数要用逗号隔开,可以设置是覆盖还原,以及还原路径等参数,具体参数查看msdn
5. 给表建立索引
如下:给ErrReport表的Version列建立Version_Indexf索引:
CREATE NONCLUSTERED INDEX [Version_Index] ON [dbo].[ErrReport] ([Version] ASC )
如果是聚集索引将NONCLUSTERED改成CLUSTERED即可
6. sql创建文件夹--通过调用doc来建立,这个命令涉及到安全问题,用完一定要关闭
EXEC sp_configure 'show advanced options', 1
GO
RECONFIGURE
GO
EXEC sp_configure 'xp_cmdshell', 1 --开启cmdshell
RECONFIGURE
GO
set @path = 'mkdir D:\数据库备份\'+@dateTime
exec xp_cmdshell @path,NO_OUTPUT
EXEC sp_configure 'xp_cmdshell',0 --关闭cmdshell
7. 遇到 关于sql server 代理(已禁用代理xp)
打上下面几段sql搞定
sp_configure 'show advanced options', 1;
GO
RECONFIGURE WITH OVERRIDE; --加上WITH OVERRIDE
GO
sp_configure 'Agent XPs', 1;
GO
RECONFIGURE WITH OVERRIDE --加上WITH OVERRIDE
GO
8. 挂起操作
在安装Sql或sp补丁的时候系统提示之前有挂起的安装操作,要求重启,这里往往重启无用,解决办法:
到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager
删除PendingFileRenameOperations
9. 收缩数据库
--重建索引
DBCC REINDEX
DBCC INDEXDEFRAG
--收缩数据和日志
DBCC SHRINKDB
DBCC SHRINKFILE
10. 压缩数据库
dbcc shrinkdatabase(dbname)
11. 转移数据库给新用户以已存在用户权限
exec sp_change_users_login 'update_one','newname','oldname'
go
12. 检查备份集
RESTORE VERIFYONLY from disk='E:\dvbbs.bak'
13. 修复数据库
ALTER DATABASE [dvbbs] SET SINGLE_USER
GO
DBCC CHECKDB('dvbbs',repair_allow_data_loss) WITH TABLOCK
GO
ALTER DATABASE [dvbbs] SET MULTI_USER
GO
14. 查询最大连接数
1、获取SQL Server允许同时用户连接的最大数
SELECT @@MAX_CONNECTIONS
2、获取当前指定数据库的连接信息
SELECT * FROM master.dbo.sysprocesses WHERE dbid IN ( SELECT dbid FROM master.dbo.sysdatabases WHERE NAME='YourDataBaseName')--根据需要更改YourDataBaseName
SELECT * FROM master.dbo.sysprocesses WHERE DB_NAME(dbid) = 'YourDataBaseName'
3、获取当前SQL服务器所有的连接详细信息
SELECT * FROM sysprocesses
以上查询结果包含了:系统进程和用户进程。
如果只是想查用户进程的话则需采用下面的方法
4、获取自上次启动SQL Server服务 以来连接或试图连接的次数
SELECT @@CONNECTIONS
这个刚开始会有点误解,认为是当前SQL Server服务器当前所有的SQL Server连接数。需要重点注意。
15.设置数据库为多用户模式或单用户模式
ALTERDATABASE [dbname] SET SINGLE_USER
ALTERDATABASE [dbname] SET MULTI_USER
16.获取当前时间的小时或分钟或秒钟部分
DATEPART(datepart,date)
datepart | 缩写 |
---|---|
年 | yy, yyyy |
季度 | qq, q |
月 | mm, m |
年中的日 | dy, y |
日 | dd, d |
周 | wk, ww |
星期 | dw, w |
小时 | hh |
分钟 | mi, n |
秒 | ss, s |
毫秒 | ms |
微妙 | mcs |
纳秒 | ns |
转载于:https://www.cnblogs.com/songzibin/archive/2012/03/20/1606660.html
sql常用语句集合(工作总结)相关推荐
- 数据库 SQL常用语句
数据库 SQL常用语句 文章目录 数据库 SQL常用语句 一.前言 二.相关知识点实用性介绍 1.常用查询格式 2.WHERE子句常用的查询条件 3.多表连接查询 4.嵌套查询 5.字符匹配查询 6. ...
- mongodb常用语句(集合操作)
mongodb常用语句(集合操作) 查看集合帮助 db.songs.help(); 查看集合总数据量 db.songs.count(); 查看表空间大小 db.songs.dataSize(); 查看 ...
- SQL常用语句一览(增删改查Easy)
SQL常用语句一览 (1)数据记录筛选: sql="select*from数据表where字段名=字段值orderby字段名[desc]" sql="select*fro ...
- 【SQL常用语句或函数】
SQL常用语句或函数 –查询字符串的长度 select length('北京市东城区王府井大街1188799号') from dual; –查询当前时间 values current date –查询 ...
- SQL常用语句(基础篇)
SQL常用语句(基础篇) 说明:创建数据库 CREATE DATABASE database-name 说明:删除数据库 drop database dbname 说明:备份sql server -创 ...
- Teradata sql 常用语句总结
工作使用TD数据库,转载常用语句方便查看 从参考文章中截取工作中经常的语句,不定时更新 参考文章1:https://blog.csdn.net/u010020099/article/details/8 ...
- SQL常用语句 笔记
https://github.com/QInzhengk/Math-Model-and-Machine-Learning SQL笔记 1.常用MySQL命令 2.语法规范 3.语句分类 MySQL索引 ...
- 10个必须掌握的SQL常用语句
世界上70%的相关性数据可以被储存为表格数据,即类似Excel,Csv类型的数据,如何去查询和分析相关性的数据?对于少量数据,我们可以使用Excel,更多一点数据,我们可以使用Python, pand ...
- ORACLE数据库 常用命令和Sql常用语句
ORACLE 账号相关 如何获取表及权限 1.COPY表空间 backup scott exp 登录管理员账号system 2.创建用户 create user han identified(认证) ...
- sql常用语句使用方法
一.root用户密码丢失或重新设置 方法1: 用SET PASSWORD命令 首先登录MySQL. 格式:mysql> set password for 用户名@localhost = pass ...
最新文章
- 阿里古谦:阿里互联网架构的6大最佳实践
- python 去除字符串的标点符号 用_7步搞定数据清洗-Python数据清洗指南
- 【开源】接口管理平台eoLinker AMS 开源版3.1.5同步线上版!免费增加大量功能!...
- java包名命名规则_告别编码5分钟,命名2小时!史上最全的Java命名规范参考!
- 虚拟机vmware硬盘扩容方法
- 微信群管理机器人php,一个人管理微信群太累,试试可以自动管群微信机器人
- Matconvnet学习笔记
- PHP在线客服系统之小程序客服搭建教程
- 前端战五渣学前端——初探Parcel急速打包
- 《软技能-代码之外的生存能力》第四篇——生产力
- SpringBoot中banner的在线生成如何实现
- RabbitMq Direct exchange路由模型
- 千兆12光12电工业级环网交换机24口全千兆二层网管型机架式工业以太网交换机
- 2021年金属非金属矿山井下电气考试内容及金属非金属矿山井下电气免费试题
- python高级用法之命名元组namedtuple
- 【Puppeteer】基于Puppeteer采集网页图片资源
- Revit二次开发手记【1】
- 如何制作可以缩小放大尺寸的软件ICO图标
- Dell戴尔无法装Win7?完美解决此问题
- 【线刷大师】一键救砖教程,救砖工具
热门文章
- java8 merge_给老弟讲解java8中的marge()方法,一顿骚操作
- 在linux中cd god,Linux基础/Linux基础和命令.md · kelekele/God-Of-BigData - Gitee.com
- 一些认识或对不清楚知识的猜想
- 你分得清楚Maven的聚合和继承吗?
- redux-saga源码解析
- Linux之SSH安全,使用密钥对验证
- MyBatis Review——多对多映射
- 使用Sublime Text 2 编辑Markdown
- 【数据结构】线性表之数组---C++语言描述
- set nocount on的疑问 set nocount on作用 set nocount on什么意思