作为一枚程序员来说和数据库打交道是不可避免的,现收集一下工作中常用的SQL语句,希望能给大家带来一些帮助,当然不全面,欢迎补充!

1、执行插入语句,获取自动生成的递增的ID值

INSERT INTO SysRole (RoleName,RoleDesc) VALUES('超级管理员','描述')

SELECT @@identity as 'id'

2、在同一数据表找到相同属性的记录

SELECT RoleName FROM SysRole GROUP BY RoleName HAVING COUNT(ID)>1

3、随机提取记录

SELECT RoleName FROM SysRole ORDER BY NEWID()

4、按照姓氏笔画排序

SELECT RoleName FROM SysRole ORDER BY RoleName COLLATE Chinese_PRC_Stroke_CI_AS

5、获取某个日期所在月份的最大天数

SELECT DAY(DATEADD(dd,-DAY('2017-5-12'),DATEADD(mm,1,'2017-5-12'))) as 'DayNumber'

6、实现用0或1 来显式 男或女

select name ,Sex=

case Sex

when '' then '男'

when '' then '女'

end

from Sys_user

7、显式文章、提交人和最后回复时间

select a.title,a.username,b.adddate

from tablename as a ,select(max(adddate)) from tablename

where tablename.title=a.title) b

8、嵌套子查询

select a,b,c from table1 where a in(select a from table2)

9、复制表结构(源表名:a ,目标表名:b)

select * into from a where 1<>1

或者

select top 0 * into [b] from [a]

10、复制表数据(源表名:a ,目标表名:b)

insert into b(name,desc,createtime) as select name,desc,createtime from table1 as a

11、通配符的使用

select * from table1 where name like 'A-L%'

--筛选name列首字母在A~L之间的记录

select * from table1 where name like'[ABCD]%'

--筛选name列首字母是 A、B、C或D的记录

select * from table1 where name like '[A-DH]%'

--筛选name列首字母在A~D或者是H的记录

select * from table1 where name like '[^D]%'

--筛选name列首字母不是D的记录

select * from table1 where name like 'Xiao_ming'

-- _ 匹配任意单个字符

12、操作列

alter table table1 add desc nvarchar(2000) not null default '' --新增一列

alter table table1 alter column  desc  nvarchar(500) --修改列

alter table table1 drop colmn desc --删除列

13、存储过程

--插入数据的存储过程示例

CREATE procedure [dbo].[proc_CreateUser]

@username nvarchar(200),

@password nvarchar(200),

@truename nvarchar(200),

@role int

as

insert INTO  Users (UserName,Password,TrueName,Role,CreateDate)

VALUES(@username,@password,@truename,@role,GETDATE())

--更新数据示例

CREATE procedure [dbo].[proc_UpdateUser]

@id int,

@username nvarchar(200)

as

update Users

set UserName=@username

where Id=@id

--删除数据

CREATE procedure [dbo].[proc_DelUser]

@id int

as

delete Users where Id=@id

14、视图示例

create view  view_user

as

select id from user

go

欢迎关注我的公众号(同步更新文章):DoNet技术分享平台

收集一些工作中常用的经典SQL语句的更多相关文章

  1. 项目开发中常用到的SQL语句

    阅读目录 循环示例 循环示例 循环示例 循环示例 1.循环示例 在前端面试中最常见的问题就是页面优化和缓存(貌似也是页面优化),被问了几次后心虚的不行,平然平时多少会用到一些,但突然问我,很难把自己知 ...

  2. 工作中常用到的sql命令!!!

    一.mysql数据库日常操作.     1.启动mysql:/etc/init.d/mysql start (前面为mysql的安装路径)     2.重启mysql:  /etc/init.d/my ...

  3. 在工作中常用到的SQL

    前言 只有光头才能变强. 文本已收录至我的GitHub仓库,欢迎Star:https://github.com/ZhongFuCheng3y/3y 最近在公司做了几张报表,还记得刚开始要做报表的时候都 ...

  4. 记录下最近项目中常用到的SQL语句

    1  实现对字符串的Spilt功能. 比如查出“I have a dream!”总共有几个单词,需要以' '分割,然后再求出总数. ALTER function [dbo].[fc_SpiltStri ...

  5. 【 PostgreSQL】工作中常用SQL语句干货

    接触gp数据库近一年的时间,语法上和其他数据库还是有些许不同,工作中常用的操作语句分享给大家! -- 建表语句 create table ods.ods_b_bill_m ( acct_month t ...

  6. 工作中常用的Android系统ADB命令收集

    ​工作中常用的Android系统ADB命令收集如下:先收藏以备以后查阅! ​ adb --help //adb帮助 adb start-server //启动adb server adb kill-s ...

  7. 经典SQL语句大全以及50个常用的sql语句

    经典SQL语句大全 一.基础 1.说明:创建数据库CREATE DATABASE database-name 2.说明:删除数据库drop database dbname3.说明:备份sql serv ...

  8. 常用经典SQL语句大全完整版--详解+实例 (存)

    常用经典SQL语句大全完整版--详解+实例 转 傻豆儿的博客 http://blog.sina.com.cn/shadou2012  http://blog.sina.com.cn/s/blog_84 ...

  9. 常用经典SQL语句大全完整版--详解+实例 《来自网络,很全没整理,寄存与此》

    常用经典SQL语句大全完整版--详解+实例 下列语句部分是Mssql语句,不可以在access中使用. SQL分类: DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE) DML ...

随机推荐

  1. 清北Day4

    版权声明:如需转载请标明出处,未得到本人许可请勿转载. 今天就可以看到传说中的 数据结构 嘿嘿嘿嘿 都有什么呢 链表 队列 栈 st表 hash 线段树 树链剖分 一.栈: 放出来这个看烂了的图 值得 ...

  2. 【Windows 10 应用开发】跟随系统主题颜色

    有些时候,希望应用程序中的某些颜色可以与系统的主题颜色相同,并且当系统主题色改变时进行同步. 实现过程并不复杂,主要用到 UISettings 类,它公开一个 GetColorValue 方法,访问这 ...

  3. CSS清除浮动各种方法

    当容器的高度为auto,且容器的内容中有浮动(float为left或right)的元素,在这种情况下,容器的高度不能自动伸长以适应内容的高度,使得内容溢出到容器外面而影响(甚至破坏)布局的现象.这个现 ...

  4. JavaScript ,Python,java,Go系列算法之选择排序

    常见的内部排序算法有:插入排序.希尔排序.选择排序.冒泡排序.归并排序.快速排序.堆排序.基数排序等. 用一张图概括:   选择排序 选择排序是一种简单直观的排序算法,无论什么数据进去都是O(n2) ...

  5. 【转】解决response.AddHeader("Content-Disposition", "attachment; fileName=" + fileName) 中文显示乱码

    如果fileName为中文则乱码.解决办法是 方法1: response.setHeader("Content-Disposition", "attachment; fi ...

  6. 使用xftp将文件上传至云服务器

    一.在云服务器配置FTP服务:    1.在root权限下,通过如下命令安装Vsftp(以centos 系统为例): yum install -y vsftpd.    2. 在启动vsftpd服务之 ...

  7. java面试集锦

    HashMap和HashTable的区别 他们都是Map接口的实现类,实现了将唯一键值映射到特定的值上. HashMap没有分类或者排序,它允许一个null和多个null值. HashTable类似于 ...

  8. 2、Java应用中常见的JDBC连接字符串(SQLite、MySQL、Oracle、Sybase、SQLServer、DB2)

    2.Java应用中常见的JDBC连接字符串 Java应用中连接数据库是不可或缺的,于是便整理一些可能用到的JDBC的jar包及其相匹配的URL,以备日后查阅. 1)SQLite Class.forNa ...

  9. spring-线程池(1)

    多线程并发处理起来通常比较麻烦,如果你使用spring容器来管理业务bean,事情就好办了多了.spring封装了java的多线程的实现,你只需要关注于并发事物的流程以及一些并发负载量等特性,具体来说 ...

  10. java虚拟机学习-JVM调优总结(6)

    1.Java对象的大小 基本数据的类型的大小是固定的,这里就不多说了.对于非基本类型的Java对象,其大小就值得商榷. 在Java中,一个空Object对象的大小是8byte,这个大小只是保存堆中一个 ...