数据库中的create

来源:互联网 发布:sql insert用法 编辑:程序博客网 时间:2024/05/16 04:40

CREATE DATABASE -- 创建一个新数据库

CREATE TABLE --创建一个表

--创建临时表

局部临时表
createtable #tbName(列信息);
表名前缀#
只在当前会话中有效,不能跨连接访问
作用域范围类似C#
如果直接在连接会话中创建的,则当前连接断开后删除,如果是在存储过程中创建的则当前存储过程执行完毕后删除
全局临时表
createtable ##tbName(列信息);
表名前缀##
多个会话可共享全局临时表
当创建全局临时表的会话断开,并且没有用户正在访问全局临时表时删除
(*)表变量:declare @varT1table(col1 int,col2 char(2));//存储更小量的数据,比临时表有更多的限制。
临时数据都存储在tempdb,当服务重新启动的时候,会重建tempdb.
临时表的应用:在对大数据量的表做复杂子查询的时候为了提高执行效率,降低内存消耗可以使用临时表。

CREATE PROCEDURE ( 创建存储过程。存储过程是已保存的 Transact-SQL 语句集合,或对 Microsoft .NET Framework 公共语言运行时 (CLR) 方法的引用,可接收并返回用户提供的参数。可以创建过程供永久使用,或在一个会话(局部临时过程)中临时使用,或在所有会话(全局临时过程)中临时使用

定义存储过程的语法

    CREATE PROC[EDURE] 存储过程名

    @参数数据类型= 默认值 OUTPUT,

    @参数数据类型= 默认值OUTPUT

    AS

      SQL语句

参数说明:
参数可选
参数分为输入参数、输出参数
输入参数允许有默认值
EXEC 过程名 [参数]


--创建索引

=======非聚集索引=============

CREATE NONCLUSTERED INDEX IX_SalesPerson_SalesQuota_SalesYTD ONSales.SalesPerson (SalesQuota,SalesYTD);GO

====创建唯一非聚集索引=============

CREATE UNIQUE INDEX AK_UnitMeasure_Name ONProduction.UnitMeasure(Name); GO

=======创建聚集索引=================

CREATE TABLE t1 (a int, bint, c AS a/b); CREATE UNIQUE CLUSTEREDINDEX Idx1 ON t1(c); INSERT INTO t1 VALUES (1, 0);


--创建视图

create viewvw_ix_T1关键次view

--创建触发器

CREATE TRIGGER关键词trigger


原创粉丝点击