常用sql

作者: 邱凯 | 来源:发表于2017-08-02 16:29 被阅读8次

1.备份表

select * into SYSTEM_MODULES_bak from SYSTEM_MODULES
跨表备份
select * into szy..system_users_hr from RL_YHB

2.增加 一列

alter table 表名 add 列名 int  

3. 不等于

select * from workflow_fileinbox where hurrytimes<>1;

4. 删除数据

delete  messages where user_id=1306

修改表的属性

  • alter table bulletins_category alter column username nvarchar(2000)

增加一个是否的字段

-  TINYINT 型的字段如果不设置UNSIGNED类型,存储-128到127的整数。如果设置为UNSIGNED类型,只能存储从0到255的整数

- alter table 表名 add is_列名  tinyint

跨库插入数据

  • insert into [szy]..system_position(dept_id,name) select dept_id,name from [HRMNEW]..system_position where dept_id=2

将int转为varchar ,字符串的拼接,为空时取默认值

--更新前看下rootid update system_position set flongnumber = ISNULL((select ISNULL(b.flongnumber,'603!') +CAST(system_position.id AS VARCHAR(2000)) + '!' from system_position b where system_position.parent_id=b.id),'603!')

查看服务器信息

-- select * from sys.servers

链接服务器(也就是使这个数据库可以访问远程服务器)

- [http://jingyan.baidu.com/album/86f4a73e4e730737d752697e.html?picindex=1](http://jingyan.baidu.com/album/86f4a73e4e730737d752697e.html?picindex=1)

同义词(说白了相当于Java 中的引用,简化操作而已)

如果是跨服务器,需要先链接服务器

修改自增序列的起始值

- dbcc checkident([表名],RESEED,2000)  

去掉最后一个字符

  • 如统一去掉某字段的最后3个字符 update 表 set 字段=left(字段,len(字段)-3)

Sql 更新一列为行号

update employee
set emp_id=t1.rowId
from
(
--select * from
--(
select Emp_UserName,ROW_NUMBER() over(Order by emp_username) as rowId
from employee
) as t1
where t1.Emp_UserName=employee.Emp_UserName
--) as t

http://social.msdn.microsoft.com/Forums/zh-CN/sqlserverzhchs/thread/6160088e-524f-412c-93be-e7686ba05be0/
来源: http://www.cnblogs.com/barrysgy/archive/2012/06/11/2545610.html

相关文章

网友评论

      本文标题:常用sql

      本文链接:https://www.haomeiwen.com/subject/pwhylxtx.html