1、指定路径创建数据库

  1. create database student
  2. on--创建库的时候必须写

  3. name=student,
  4. filename='E:\database\student.mdf'--关于存放路径问题与本计算机的系统有关,最好创建在文件夹下

2、彻底删除数据库

  1. drop database student

3、创建表

--identity 自动增长列

--primary key 主建

  1. use student
  2. go
  3. create table stuinfo
  4. (
  5. stuId int identity primary key,
  6. stuName nvarchar(20) not null,
  7. stuSex nvarchar(1) not null,
  8. stuAge int not null
  9. )

4、添加数据

  1. insert into --添加
  2. --stuinfo 表格
  3. --values(添加的内容)
  4. --添加的内容规则:内容数量与表结构列名一致,顺序一致
  5. --添加的内容:特别的地方、自动增长列除外
  6. --insert into stuinfo values(添加内容)
  7. insert into stuinfo values('sss','男',22)
  1. insert into stuinfo
  2. select 'aa','男','' union
  3. select 'aa','男','' union
  4. select 'aa','男','' union
  5. select 'aa','男',''

5、查询

  1. select * from stuinfo

6、删除表里面的内容(保存表的结构)

  1. delete stuinfo --删除表的所有数据
  1. delete stuinfo where stuAge>18 --删除年龄大于18岁的学生
  1. truncate table stuinfo --当数据库清空时,才有必要,把自动增长列归0

7、修改表里面的内容

  1. update stuinfo set Stuage=15 where Stuage>18 --将学生年龄大于18的改为15

8、查询前5的数据

  1. select top 5 stuName as '前5名的学生' from stuinfo

9、查询该表前50%的数据

  1. select top 50 percent * from stuinfo

10、查询该表ID 2-5之间的数据

  1. select * from stuinfo stuID between 2 and 5

11、查询姓名中有”李“字的学生

  1. select * from stuinfo where stuName like '%李%'

12、删除某个字段为空的所在行

  1. delete [SS_OLMS_SZ].[dbo].[SZ_SCADAPoint] where 序号 is NULL

 13、将一个表的字段值对应字段插入到另一个表中

  1. INSERT INTO SS_MonitorStation(M_ID,M_Name,GISLongitude,GISLatitude,M_StationNo,M_Description,M_StationTypeID)
  2. SELECT 序号,测点名称1,[北坐标(X)],[东坐标(Y)],数据,备注,TypeID FROM SZ_SCADAPoint

14、修改一个表的字段值,通过另一个表对应的字段值一一对应修改

  1. update a set a.TagName = b.TagName from b where a.DataID=b.DataID

 15、循环插入语句(便于测试)

  1. declare @num int
  2. set @num =1
  3. while(@num<5)
  4. begin
  5. set @num = @num+1
  6. insert student (name,age,address) values('a',@num,'b')
  7. end

 16、删除数据库里面的所有的表

  1. use student
  1. GO
    declare @sql varchar(8000)
    while (select count(*) from sysobjects where type='U')>0
    begin SELECT @sql='drop table ' + name FROM sysobjects
    WHERE (type = 'U') ORDER BY 'drop table ' + name exec(@sql)
    end

17、按时间(单位为年),分组计数

  1. select DATEPART(YEAR,Birthday),COUNT(*)FROM stuinfo GROUP BY DATEPART(YEAR,Birthday)

查询效果:

18、修改列名

  1. sp_rename '表名.旧列名','新列名','column'

19、删除有规律的表

  1. declare @i int
  2. declare @s nvarchar(100)
  3. set @i=129
  4. while @i<143
  5. begin
  6. Set @s='drop table dbo.Initial_'+cast(@i as varchar)
  7. print @s
  8. exec(@s)
  9. set @i=@i+1
  10. end

执行效果如下:

 20、从已有的表创建一个不存在的表

  1. select * into 新表 from 旧表

Sql Server学习笔记的更多相关文章

  1. 【SQL Server学习笔记】Delete 语句、Output 子句、Merge语句

    原文:[SQL Server学习笔记]Delete 语句.Output 子句.Merge语句 DELETE语句 --建表 select * into distribution from sys.obj ...

  2. SQL server 学习笔记1

    1.查询安装的排序规则选项喝当前的排序规则服务器属性 select * from fn_helpcollations(); 2.查看当前服务器的排序规则 select serverproperty(' ...

  3. sql server 学习笔记 ( backup 备份方案 )

    做个记入就好 USE [master] SELECT bs.database_name AS 'Database Name', bs.backup_start_date AS 'Backup Star ...

  4. 【SQL Server学习笔记】事务、锁定、阻塞、死锁 sys.sysprocesses

    http://blog.csdn.net/sqlserverdiscovery/article/details/7712068 Column name Data type Description   ...

  5. SQL SERVER学习笔记:临时表与表变量

    本文主要摘自徐海蔚的<Microsoft SQL SERVER企业级平台管理实践> 表变量可以作为存储过程的返回参数,而临时表不行.(存疑?表值参数只在SQL SERVER2008才开始支 ...

  6. sql server 学习笔记 (nested transaction 嵌套事务)

    什么时候会用到嵌套事务 ? 为了代码复用,我们会写许多的储蓄过程,而中间如果需要使用到 transaction 难免就会发生嵌套了. sql server 并不直接支持嵌套事务. 但它可以用一些招式来 ...

  7. sql server 学习笔记 ( row_number, rank, dense_rank over partition by order by )

    refer : https://blog.csdn.net/winer2008/article/details/4283539 https://www.cnblogs.com/linJie193090 ...

  8. sql server 学习笔记

    1. 修改student表中sdept字段改为varchar类型,长度为30,并且不为空 ) not null 2. 删除student表中的address列 alter table student ...

  9. 【SQL SERVER学习笔记】Sqlserver游标的尝试

    DECLARE @ProName NVARCHAR(50)DECLARE @CityName NVARCHAR(50)DECLARE @ProId INT DECLARE @CityId INT DE ...

随机推荐

  1. SuperSocket 扩展你的 Logger

    SuperSocket 允许你自定义你的 Logger. 例如,你如果想要把你的业务操作日志保存到一个独立的地方,你仅需要在log4net配置文件中添加一个新的 logger 并为这个 logger ...

  2. HTTP协议---三次握手

    HTTP协议 关于协议 ​ 对于应用层开发人员,接触最多的网络协议通常都是传输层的TCP,为什么这么说,因为再往上的应用层协议,如:HTTP.HTTPS.POP3.SMTP.RPC.FTP.TELNE ...

  3. H3C HDLC概述

  4. 安装scipy失败提示lapack not found

    从python库网站下载numpy+mkl合集包通过pip安装在下载scipy安装包通过pip安装即可

  5. H3C 最大跳数16导致网络尺度小

  6. linux进程一个阻塞 I/O 的例子

    最后, 我们看一个实现了阻塞 I/O 的真实驱动方法的例子. 这个例子来自 scullpipe 驱 动; 它是 scull 的一个特殊形式, 实现了一个象管道的设备. 在驱动中, 一个阻塞在读调用上的 ...

  7. C# 如何引用 WshShell 类

    如果想要创建快捷方式等,很多使用都需要引用 WshShell 类,这个类需要通过 COM 的方法引用 引用 WshShell 不是在一个程序集,而是 Windows Script Host Objec ...

  8. 阿里巴巴java开发手册学习记录,php版

    一.编程规约 (一)命名风格 1.目录使用小写+下划线 home,view,model,admin_view 2.类 UpperCamelCase PhpMailer方法 lowerCamelCase ...

  9. 聊聊多线程哪一些事儿(task)之 一

    多线程,一个多么熟悉的词汇,作为一名程序员,我相信无论是从事什么开发语言,都能够轻轻松松说出几种实现多线程的方式,并且在实际工作种也一定用到过多线程,比如:定时器.异步作业等等,如果你说你没有用过多线 ...

  10. git之github下载篇(ssh需要配置密钥)

    1.使用git命令行下载 在想要下载的文件夹打开命令行 git clone ssh 成功如图所示  2.使用小乌龟图形界面克隆 在文件夹右键鼠标 如果复制有链接,会自动填入.点击确定 成功后如图