1、表

--建表
if OBJECT_ID('Student') is not null
create table Student(
ID int identity(1,1) not null,
Name nvarchar(50),
Code nvarchar(50),
flag int default(0)
) --建表时添加约束,表字段定义外键、由函数计算获得
CREATE TABLE [dbo].[A](
[Id] [int] IDENTITY(1,1) NOT NULL primary key,
[ClassId] [int] NOT NULL foreign key references [dbo].[Class] ([Id]) ,
[Name] nvarchar(50),
[InvoiceYear] int,
[InvoiceMonth] int,
[Date] AS (dbo.ToDateFromPeriod(InvoiceYear,InvoiceMonth))PERSISTED,
Memo nvarchar(50) NULL
) --增加列
if not exists(select * from syscolumns where id=OBJECT_ID('Student') and name='ID')
alter table student add id int identity(1,1) not null --添加主键约束
if OBJECT_ID('PK_Student') is not null
ALTER TABLE Student DROP CONSTRAINT [PK_ApprovalMatrix]
GO
ALTER TABLE Student WITH CHECK ADD CONSTRAINT [PK_ApprovalMatrix] PRIMARY KEY CLUSTERED (ID asc)
GO --删除表
DELETE FROM [Student] --清空标识值
DBCC CHECKIDENT (Student, RESEED,0) --插入数据
IF NOT EXISTS(SELECT * FROM [Student] WHERE NAME='Win')
INSERT [Student] ([Code],[Memo]) VALUES (N'CA',N'Simon Deschenes') --更新数据
UPDATE [dbo].[Student] SET Code = '' WHERE NAME='Win'

--insert into要求目标表Table2必须存在,由于目标表Table2已经存在,所以我们除了插入源表Table1的字段外,还可以插入常量
Insert into Table2(field1,field2,...) select value1,value2,... from Table1

--select into,要求目标表Table2不存在,因为在插入时会自动创建表Table2,并将Table1中指定字段数据复制到Table2中。
SELECT vale1, value2 into Table2 from Table1

insert into and select into :http://www.cnblogs.com/freshman0216/archive/2008/08/15/1268316.html

2、函数

2.1 --自定义函数,根据年月返回日期

USE TEST
        GO
        SET ANSI_NULLS ON
        GO
        SET QUOTED_IDENTIFIER ON
        GO
        Create function [dbo].[ToDateFromPeriod](@Year int, @Month int)
        returns datetime
        with SCHEMABINDING
        as
        -- Returns the first of the month for the specified year and month.
        begin
        return dateadd(mm,((@Year-1900)*12)+@Month-1,0)
        end

--调用自定义函数
        select dbo.[ToDateFromPeriod]('2015','1') as result

2.2、表值函数

2.2.1 直接返回表

 create function getp(@id int)
       returns table as
       return select * from [Project] where ClientId=@id

2.2.2 返回自定义表

create function getp()
      returns @t table (id int ,name varchar(50))
      as 
        begin
           insert into @t select p.Id,p.Name from Project p
           return 
        end

3、判断对象是否存在

3.1 判断用户是否存在,并创建

if USER_ID('fas') is null

CREATE USER [fas] WITHOUT LOGIN WITH DEFAULT_SCHEMA=[dbo]

其他相关判断参考http://www.cnblogs.com/fumj/archive/2012/07/15/2592558.html

3.2 判断自定义类型是否存在

if type_id('userid') is null

create type [dbo].[userid] from [nvarchar](150) null

4、给角色db_owner添加用户dds

EXEC sp_addrolemember 'db_owner', 'dds'

角色功能https://www.mssqltips.com/sqlservertip/1900/understanding-sql-server-fixed-database-roles/

5、SET NOCOUNT ON

使返回的结果中不包含有关受 Transact-SQL 语句影响的行数的信息

如果存储过程中包含的一些语句并不返回许多实际的数据,则该设置由于大量减少了网络流量,因此可显著提高性能。

http://blog.csdn.net/thomas_chen/article/details/1660562

6、查询数据库中所有表的名称,及数量

select name from sysobjects where xtype='u'

select count(0) from sysobjects where xtype='u'

7、删除数据库中的所有表

select 'delete from [' + name + ']' from sysobjects where xtype='u'

执行上面sql,然后复制结果再次执行。

常用sql语句记录的更多相关文章

  1. 【SQL】Mysql常用sql语句记录

    1.创建用户.赋予权限 CREATE DATABASE scadm DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; CREATE USER 's ...

  2. Mysql 常用 SQL 语句集锦

    Mysql 常用 SQL 语句集锦 基础篇 //查询时间,友好提示 $sql = "select date_format(create_time, '%Y-%m-%d') as day fr ...

  3. Mysql 常用 SQL 语句集锦 转载(https://gold.xitu.io/post/584e7b298d6d81005456eb53)

    Mysql 常用 SQL 语句集锦 基础篇 //查询时间,友好提示 $sql = "select date_format(create_time, '%Y-%m-%d') as day fr ...

  4. 50个常用SQL语句

    50个常用SQL语句 Student(S#,Sname,Sage,Ssex) 学生表  S#学号,主键 Course(C#,Cname,T#) 课程表          C#课程号,主键 SC(S#, ...

  5. oracle sqlplus及常用sql语句

    常用sql语句 有需求才有动力 http://blog.csdn.net/yitian20000/article/details/6256716 常用sql语句 创建表空间:create tables ...

  6. oracle常用SQL语句(汇总版)

    Oracle数据库常用sql语句 ORACLE 常用的SQL语法和数据对象一.数据控制语句 (DML) 部分 1.INSERT (往数据表里插入记录的语句) INSERT INTO 表名(字段名1, ...

  7. 常用SQL语句(增删查改、合并统计、模糊搜索)

    转自:http://www.cnblogs.com/ljianhui/archive/2012/08/13/2695906.html 常用SQL语句 首行当然是最基本的增删查改啦,其中最重要的是查. ...

  8. 常用sql语句整理:mysql

    ## 常用sql语句整理:mysql1. 增- 增加一张表```CREATE TABLE `table_name`(  ...  )ENGINE=InnoDB DEFAULT CHARSET=utf8 ...

  9. 50个常用sql语句 网上流行的学生选课表的例子

    50个常用sql语句 建表: --学生表tblStudent(编号StuId.姓名StuName.年龄StuAge.性别StuSex) --课程表tblCourse(课程编号CourseId.课程名称 ...

随机推荐

  1. 51nod 多重背包问题(动态规划)

    多重背包问题 一个背包,承量有限为W,有n种物体,第i种物体,价值Vi,占用重量为 Wi,且有Ci件,选择物品若干放入背包,使得总重量不超过背包的承重.总价值最大? 输入 第1行,2个整数,N和W中间 ...

  2. Oracle alter table modify column Syntax example

    http://www.dba-oracle.com/t_alter_table_modify_column_syntax_example.htm For complete tips on Oracle ...

  3. 【推导】【贪心】Codeforces Round #402 (Div. 2) E. Bitwise Formula

    按位考虑,每个变量最终的赋值要么是必为0,要么必为1,要么和所选定的数相同,记为2,要么和所选定的数相反,记为3,一共就这四种情况. 可以预处理出来一个真值表,然后从前往后推导出每个变量的赋值. 然后 ...

  4. 【块状树】【树链剖分】【线段树】bzoj3531 [Sdoi2014]旅行

    离线后以宗教为第一关键字,操作时间为第二关键字排序. <法一>块状树,线下ac,线上tle…… #include<cstdio> #include<cmath> # ...

  5. 解决Post提交乱码问题

    在web.xml里面配置 <filter> <filter-name>charac</filter-name> <filter-class>org.sp ...

  6. 解决Windows服务修改配置文件后必须重启的问题

      原文地址:http://www.cnblogs.com/jeffwongishandsome/archive/2011/04/24/2026381.html   解决方法:读取配置文件前先刷新文件 ...

  7. Java几种常见的四舍五入的方法

    /* * 在上面简单地介绍了银行家舍入法,目前java支持7中舍入法: 1. ROUND_UP:远离零方向舍入.向绝对值最大的方向舍入,只要舍弃位非0即进位. 2. ROUND_DOWN:趋向零方向舍 ...

  8. jquery如何判断元素是否被点击、属性操作、class操作

    1.通过点击事件发生后,改变标志位的值,记录点击状态 function(){ var isClick = false; $('#test').click(function(){isClick = tr ...

  9. ylbtech-memorandum(备忘录)-数据库设计

    ylbtech-DatabaseDesgin:ylbtech-memorandum(备忘录)-数据库设计 -- ============================================ ...

  10. iOS:GitHub上值得关注的iOS开源项目

    1.AFNetworking地址:https://github.com/AFNetworking/AFNetworking用于网络请求 2.JSONKit地址:https://github.com/j ...