SQLServer命令大全

时间:2025-02-07 08:35:27
  • 插入数据

    #语法:
        insert into 表名 (列名) values (值列表)
    #注意:
         #每次插入一行,不能只插入半行或者几列
         #每个值的数据类型要与相应的列匹配
         #不能为标识列指定值
         #如果设计表时指定列不能为空,则该列必须插入值
         #插入数据时一定要符合约束要求
        #具有缺省值的列,可以使用DEFAULT关键字代替
  • 将表中的数据复制到新表中

    #语法:
        insert  into  新表名 (列名) select  列  from  源表名
    #注意:新表需提前创建且插入列与源表列一致
  • 将表中的数据复制到新表中

    #语法:
        Select 列名  into 新表  from  源表名
    #注意:新表无需提前创建,且该命令只能执行一次
  • 一次性给表插入多条数据

    #语法:        
        Insert  into 表名 (列1,列2)
            Select ‘值1’,’值2’ union
            Select ‘值1’,’值2’ union
            Select ‘值1’,’值2’ 
  • 更新表中数据

    #语法
        UPDATE 表名 SET 列名 = 更新值  [WHERE 更新条件]
  • 删除表中数据

    #语法
        DELETE [FROM]  表名 [WHERE <删除条件>]
  • 截断表

    #语法
        TRUNCATE  TABLE  表名
    #注意:该命令会把数据表中数据全部截断,且事务无法恢复
  • 查询全部的行和列

    #语法
        Select   *  from  表名
    #注意:实际开发中查询尽量避免使用 * 进行全文检索
  • 查询部分的行和列

    #语法:
    	Select  列1,列2…  from  表名
  • 查询跟where条件

    #语法:
    	Select  列1,列2…  from  表名  where 查询条件
  • AS别名列

    #语法:
    	Select  列1 as ‘别名’,列2 as ‘别名’…  from  表名  [where 查询条件]
  • 查询空行和非空行

    #语法:
    	Select  列1,列2…  from  表名  where 列  is  null     #空行
    	Select  列1,列2…  from  表名  where 列  is not null  #非空行
  • 常量列

    #语法:
    	SELECT 姓名=SName,地址= SAddress , '北京新兴桥' AS 学校名称FROM Students
  • 限制固定行数

    #语法:
    	Select  top n  *  from 表名
  • 按百分比返回行

    #语法:
    	Select top n percent  * from 表名
  • 排序

    #语法:
    	Select  列  from  表名  order  by  列   [asc |  desc]
    #多列排序用英文逗号进行分隔
    #asc:升序
    #desc:降序
  • 模糊查询like

    #语法:
    	Select 列 from  表名 [where 列 like 条件]
  • 四个通配符

    a)	_ 匹配一个字符
    b)	%匹配多个字符
    c)	[1-8] 匹配1~8
    d)	[^1-8]匹配不是1~8
  • between and 模糊查询

    #语法:
    	select 列 from  表名  where 列 between  值1  and  值2
    #注意:值1 ~ 值2  必须从小到大
  • in查询

    #语法:
    	select  列  from  表名  where  列  in  (值1,值2,值3…)
  • 五个常用的聚合函数、

    a)	Count:统计数量
    b)	Sum:求和
    c)	Avg求平均分
    d)	Max最大值
    e)	Min最小值
  • 分组过滤

    #语法:
    	Select 列 from  表名 group by 列  having 筛选条件
    #注意:分组查询的列必须是分组的列或函数,否则报错
  • 内连接

    #语法:
    	select 列 from  A表  inner join B表 on  A.列 = B.列
    #备注:主表和子表数据相匹配
  • 左外连接

    #语法:
    	select 列 from  A表  left join B表 on  A.列 = B.列
    #备注:主表数据全部匹配,子表只会匹配跟主表相关联的数据,未匹配的数据填充null值
  • 右外连接

    #语法:
    	select 列 from  A表  right join B表 on  A.列 = B.列
    #备注:主表数据全部匹配,子表只会匹配跟主表相关联的数据,未匹配的数据填充null值
  • 等值连接

    #语法:
    	select 列 from  A表,B表  where A.列 = B.列
  • 分页查询

    #语法:
    	select top 页面大小 * from 表名 where 主键列 not in (select top ((当前页数-1)*每页数据条数) 主键列 from 表名)