仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1267|回复: 8
打印 上一主题 下一主题

[学习教程] Sql Server中与表相干的Sql语句模板

[复制链接]
小女巫 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 14:07:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
一个语句分成两个event(实际上不止,其他可以忽略),一个table_mapevent和一个Rows_log_event。Table_mapevent是一样的,主要看Rows_log_event。以下是使用sql语句对表,列,束缚,主键举行操纵的语句模板,来历于msdn。详细语法商定请参考上面链接:
Transact-SQL语法商定(Transact-SQL)

创立表sql语句模板
IFOBJECT_ID(<schema_name,sysname,dbo>.<table_name,sysname,sample_table>,U)ISNOTNULL
DROPTABLE<schema_name,sysname,dbo>.<table_name,sysname,sample_table>
GO

CREATETABLE<schema_name,sysname,dbo>.<table_name,sysname,sample_table>
(
        <columns_in_primary_key,,c1><column1_datatype,,int><column1_nullability,,NOTNULL>,
        <column2_name,sysname,c2><column2_datatype,,char(10)><column2_nullability,,NULL>,
        <column3_name,sysname,c3><column3_datatype,,datetime><column3_nullability,,NULL>,
CONSTRAINT<contraint_name,sysname,PK_sample_table>PRIMARYKEY(<columns_in_primary_key,,c1>)
)
GO


新增列的sql语句模板
IFOBJECT_ID(<schema_name,sysname,dbo>.<table_name,sysname,sample_table>,U)ISNOTNULL
DROPTABLE<schema_name,sysname,dbo>.<table_name,sysname,sample_table>
GO

CREATETABLE<schema_name,sysname,dbo>.<table_name,sysname,sample_table>
(
        column1intNOTNULL,
        column2char(10)NULL
)
GO

--Addanewcolumntothetable
ALTERTABLE<schema_name,sysname,dbo>.<table_name,sysname,sample_table>
        ADD<new_column_name,sysname,column3><new_column_datatype,,datetime><new_column_nullability,,NULL>
GO


新增束缚的sql语句模板
IFOBJECT_ID(<schema_name,sysname,dbo>.<table_name,sysname,sample_table>,U)ISNOTNULL
DROPTABLE<schema_name,sysname,dbo>.<table_name,sysname,sample_table>
GO

CREATETABLE<schema_name,sysname,dbo>.<table_name,sysname,sample_table>
(
        column1intNOTNULL,
        <constraint_column_name,sysname,phone>char(8)NOTNULL
)
GO

--AddanewCHECKCONSTRAINTtothetable
ALTERTABLE<schema_name,sysname,dbo>.<table_name,sysname,sample_table>
        ADDCONSTRAINT<contraint_name,sysname,phone_chk><constraint_type,,CHECK>(<constraint_column_name,sysname,phone><logical_expression,,LIKE[0-9][0-9][0-9]-[0-9][0-9][0-9][0-9])>
GO


新增主键的sql语句模板
IFOBJECT_ID(<schema_name,sysname,dbo>.<table_name,sysname,sample_table>,U)ISNOTNULL
DROPTABLE<schema_name,sysname,dbo>.<table_name,sysname,sample_table>
GO

CREATETABLE<schema_name,sysname,dbo>.<table_name,sysname,sample_table>
(
        <columns_in_primary_key,,column1>intNOTNULL,
        column2char(8)NOTNULL
)
GO

--AddanewPRIMARYKEYCONSTRAINTtothetable
ALTERTABLE<schema_name,sysname,dbo>.<table_name,sysname,sample_table>
ADDCONSTRAINT<constraint_name,sysname,PK_sample_table>PRIMARYKEY(<columns_in_primary_key,,column1>)
GO


删除列的sql语句模板
IFOBJECT_ID(<schema_name,sysname,dbo>.<table_name,sysname,sample_table>,U)ISNOTNULL
DROPTABLE<schema_name,sysname,dbo>.<table_name,sysname,sample_table>
GO

CREATETABLE<schema_name,sysname,dbo>.<table_name,sysname,sample_table>
(
        column1intNOTNULL,
        column2char(10)NULL,
        <new_column_name,sysname,column3>datetimeNULL
)
GO

--Dropacolumnfromthetable
ALTERTABLE<schema_name,sysname,dbo>.<table_name,sysname,sample_table>
        DROPCOLUMN<new_column_name,sysname,column3>
GO


删除束缚的sql语句模板
IFOBJECT_ID(<schema_name,sysname,dbo>.<table_name,sysname,sample_table>,U)ISNOTNULL
DROPTABLE<schema_name,sysname,dbo>.<table_name,sysname,sample_table>
GO

CREATETABLE<schema_name,sysname,dbo>.<table_name,sysname,sample_table>
(
        column1intNOTNULL,
        salarymoneyNOTNULLCONSTRAINT<constraint_name,sysname,salary_cap>CHECK(salary<500000)
)
GO

--DropCHECKCONSTRAINTfromthetable
ALTERTABLE<schema_name,sysname,dbo>.<table_name,sysname,sample_table>
        DROPCONSTRAINT<constraint_name,sysname,salary_cap>
GO


删除主键的sql语句模板
IFOBJECT_ID(N<schema_name,sysname,dbo>.<table_name,sysname,sample_table>,U)ISNOTNULL
DROPTABLE<schema_name,sysname,dbo>.<table_name,sysname,sample_table>
GO

CREATETABLE<schema_name,sysname,dbo>.<table_name,sysname,sample_table>
(
        c1intNOTNULL,
        c2char(10)NULL,
        c3datetimeNULL,
CONSTRAINT<primary_key_name,sysname,primary_key_name>PRIMARYKEY(c1)
)
GO

ALTERTABLE<schema_name,sysname,dbo>.<table_name,sysname,sample_table>
DROPCONSTRAINT<primary_key_name,sysname,primary_key_name>
GO


删除表的的sql语句模板
IFEXISTS(
SELECT*
        FROMsys.tables
        JOINsys.schemas
        ONsys.tables.schema_id=sys.schemas.schema_id
WHEREsys.schemas.name=N<schema_name,sysname,your_schema_name>
        ANDsys.tables.name=N<table_name,sysname,your_table_name>
)
DROPTABLE<schema_name,sysname,your_schema_name>.<table_name,sysname,your_table_name>
GO
支持多线程,充分利用CPU资源
沙发
发表于 2015-1-16 15:45:27 | 只看该作者

Sql Server中与表相干的Sql语句模板

其实可以做一下类比,Oracle等数据库产品老早就支持了java编程,而且提供了java池参数作为用户配置接口。但是现在有哪些系统大批使用了java存储过程?!连Oracle自己的应用都不用为什么?!
变相怪杰 该用户已被删除
板凳
发表于 2015-1-18 18:26:01 | 只看该作者
如果你是从“学习某一种数据库应用软件,从而获得应聘的资本和工作机会”的角度来问的话。
精灵巫婆 该用户已被删除
地板
发表于 2015-1-27 16:16:14 | 只看该作者
这一点很好的加强了profiler的功能。但是提到profiler提醒大家注意一点。windows2003要安装sp1补丁才能启动profiler。否则点击没有反应。
老尸 该用户已被删除
5#
发表于 2015-2-5 14:20:50 | 只看该作者
无法深入到数据库系统层面去了解和探究
蒙在股里 该用户已被删除
6#
发表于 2015-2-12 06:25:27 | 只看该作者
having子句的作用是筛选满足条件的组,即在分组之后过滤数据,条件中经常包含聚组函数,使用having条件显示特定的组,也可以使用多个分组标准进行分组。
山那边是海 该用户已被删除
7#
发表于 2015-3-3 00:10:42 | 只看该作者
但换公司用MSSQL2K感觉自己好像根本就不了解MSSQL。什么DTS触发器以前根本没用过。
爱飞 该用户已被删除
8#
发表于 2015-3-11 08:31:24 | 只看该作者
习惯敲命令行的朋友可能会爽一些。但是功能有限。适合机器跑不动SQLServerManagementStudio的朋友使用。
小妖女 该用户已被删除
9#
发表于 2015-3-25 18:27:20 | 只看该作者
可能有的朋友会抱怨集成的orderby,其实如果使用ranking函数,Orderby是少不了的。如果担心Orderby会影响效率,可以为orderby的字段建立聚集索引,查询计划会忽略orderby操作(因为本来就是排序的嘛)。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-22 23:50

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表