1.创建数据库(create)

  1. CREATE DATABASE database-name

2.删除数据库(drop)

  1. drop database dbname

3.备份数据库

  1. --- 创建 备份数据的 device
  2.  
  3.   USE master
  4.  
  5.   EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat'
  6.  
  7.   --- 开始 备份
  8.  
  9.   BACKUP DATABASE pubs TO testBack

4.创建新表

  1. create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..)
  2.  
  3.   --根据已有的表创建新表:
  4.  
  5.   Acreate table tab_new like tab_old (使用旧表创建新表)
  6.  
  7.   Bcreate table tab_new as select col1,col2 from tab_old definition only

5.删除新表

  1. drop table tabname

6.增加一个列(字段)

  1. Alter table tabname add column col type
  2.  
  3.   --注:列增加后将不能删除。DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar类型的长度。

7.添加主键

  1. Alter table tabname add primary key(col)
  2.  
  3. --说明:删除主键: Alter table tabname drop primary key(col)

8.创建索引

  1. create [unique] index idxname on tabname(col….)
  2.  
  3. --删除索引:drop index idxname
  4.  
  5. --注:索引是不可更改的,想更改必须删除重新建。

9.创建视图

  1. create view viewname as select statement
  2.  
  3. --删除视图:drop view viewname

10.几个最简单的SQL语句

  1. --选择:
  2. select * from table1 where 范围
  3.  
  4. --插入:
  5. insert into table1(field1,field2) values(value1,value2)
  6.  
  7. --删除:
  8. delete from table1 where 范围
  9.  
  10. --更新:
  11. update table1 set field1=value1 where 范围
  12.  
  13. --查找:
  14. select * from table1 where field1 like ’%value1%’ ---like的语法很精妙,查资料!
  15.  
  16. --排序:
  17. select * from table1 order by field1[desc],field2[asc] --二次排序,当有重复值时按照主键排序
  18.  
  19. --总数:
  20. select count as totalcount from table1
  21.  
  22. --求和:
  23. select sum(field1) as sumvalue from table1
  24.  
  25. --平均:
  26. select avg(field1) as avgvalue from table1
  27.  
  28. --最大:
  29. select max(field1) as maxvalue from table1
  30.  
  31.   最小:select min(field1) as minvalue from table1
  32.  
  33. --统计记录条数
  34. SELECT COUNT(*) FROM T_EMPLOYEE
  35.  
  36. --向下/向上取整
  37. SELECT FLOOR(50.41) --
  38. SELECT CEILING(50.41) --

使用通配符

通配符过滤关键词:LIKE

  1. --"%"为匹配零个或多个任意字符,结果为包含O的字符串
  2. SELECT * FROM T_EMPLOYEE WHERE FNAME LIKE '%O%'
  3. --非O开头但包含O的字符串
  4. SELECT * FROM T_EMPLOYEE WHERE FNAME LIKE '[^O]%O%'
  5. --非O开头和结尾但中间包含O的字符串
  6. SELECT * FROM T_EMPLOYEE WHERE FNAME LIKE '[^O]%O%[^O]'
  7. --"_"为匹配一个任意字符,结果为前后匹配任意字符,单至少有一个O在中间
  8. SELECT * FROM T_EMPLOYEE WHERE FNAME LIKE '_%O%_'
  9. --包含a-t之间的任意单个字母
  10. SELECT * FROM T_EMPLOYEE WHERE FNAME LIKE '[a-t]'

空值处理:数据库中,如果一个列没有指定值,这个值就是NULL,但是这个NULL和C#中的NULL不同,数据库中的NULL代表的是不知道,未定义的意思,而C#中的NULL表示为空,例如Person h;就表示h为空。

SQL语句查询空值的语句为

  1. --空值查询
  2. SELECT * FROM T_EMPLOYEE WHERE FNAME IS NULL

多值查询:IN,BETWEEN-AND

  1. --IN类似于英文or,即根据IN中所包含的部分查询
  2. SELECT FNUM,FNAME,FAGE,FSALARY FROM T_Employee WHERE FAGE IN(,,,);
  3. --BETWEEN-AND用于查询在其之间的部分,注意其为大于等于
  4. SELECT FNUM,FNAME,FAGE,FSALARY FROM T_Employee WHERE FAGE BETWEEN AND ;
  5. --BETWEEN不可用于字符的比较,可用>,<通过自动转换为ASCII码比较
  6. SELECT FNUM,FNAME,FAGE,FSALARY FROM T_Employee WHERE FTEST BEWTEEN 'A'AND 'G'
  7. SELECT FNUM,FNAME,FAGE,FSALARY FROM T_Employee WHERE FTEST>= 'A'AND FTEST<= 'G'

分组查询:GROUP BY

  1. --GROUP BY用于分组,两个条件时通过两个共同的进行分组
  2. SELECT FTEST,COUNT(*) FROM T_EMPLOYEE GROUP BY FTEST
  3. SELECT FNAME,FTEST,COUNT(*) FROM T_EMPLOYEE GROUP BY FTEST,FNAME

分组后的查询条件:HAVING

  1. --分组之后的结果集的条件用HAVING,不用GROUP BY采用的条件是WHERE,但其条件必须要包含在结果集当中,如采用FAGE>30则不可以
  2. SELECT FNAME,FTEST,COUNT(*) as 数量 FROM T_EMPLOYEE
  3. GROUP BY FTEST,FNAME
  4. HAVING COUNT(*)>1

合并结果集:UNION (ALL)

  1. --合并结果集,并且去除重复项
  2. SELECT c_name from Category
  3. union
  4. select b_title from Book
  5.  
  6. --合并结果集,不去除重复项
  7. SELECT c_name from Category
  8. union all
  9. select b_title from Book

当查询多个列时,去除重复项只能去除完全相同的项,若一列相同,其他列不同,则不算是重复,不会去除。

2018.08.13

(转)新手C#SQL语句的学习2018.08.13的更多相关文章

  1. 新手C#SQLServer在程序里实现语句的学习2018.08.12

    从C#中连接到SQL Server数据库,再通过C#编程实现SQL数据库的增删改查. ado.net提供了丰富的数据库操作,这些操作可以分为三个步骤: 第一,使用SqlConnection对象连接数据 ...

  2. 新手C#SQL Server使用记录2018.08.10

    主键(PrimaryKey):主键就是每个数据行(记录)的唯一标识,不会有重复值的列(字段)才能当做主键.一个表可以没有主键,但是这样会很难处理表,因此一般情况表都要设置主键. 主键有两张选用策略,分 ...

  3. SQL语句的学习

    SQL语句的学习 要交作业了,刚好把SQL查询语句的内容写成笔记,以后好查看.水一下 单表查询 DISTINCT:去掉结果中的重复行作用,将DISTINCT关键字放在select的后面.目标列名的前面 ...

  4. 标准sql语句,学习

    标准SQL语句总结标准SQL语句总结,标准SQL语言基本上适用于下面所列出的数据库软件 -------------------------------------------------------- ...

  5. sql语句的学习(1)

    一.创建表 CREATE TABLE `student` ( `id` ) NOT NULL AUTO_INCREMENT, `name` ) DEFAULT NULL COMMENT '姓名', ` ...

  6. 新手C#异常的学习2018.08.07

    异常是在程序执行期间出现的问题.C# 中的异常是对程序运行时出现的特殊情况的一种响应,比如尝试除以零. class Program { static void Main(string[] args) ...

  7. 新手C#构造函数、继承、组合的学习2018.08.06/07

    构造函数,是一种特殊的方法.主要用来在创建对象时初始化对象,即为对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中.特别的一个类可以有多个构造函数,可根据其参数个数的不同或参数类型的不同 ...

  8. 新手C#s.Split(),s.Substring(,)以及读取txt文件中的字符串的学习2018.08.05

    s.split()用于字符串分割,具有多种重载方法,可以通过指定字符或字符串分割原字符串成为字符串数组. //s.Split()用于分割字符串为字符串数组,StringSplitOptions.Rem ...

  9. 新手C#int.Parse、int.TryParse的学习2018.08.04

    int.Parse()用于将字符串转换为32为int类型,但是在遇到非数字或者类似1.545这种小数的时候会报错,后来采用了int.TryParse,这个在转换后会判断是否可以正常转换,若不能,会返回 ...

随机推荐

  1. 【Spring实战-3】Spring整合Hibernate、Struts

    作者:ssslinppp      1. 摘要 版本: Spring4.0.4:Hibernate4.3.5:struts2.3.16: 主要介绍了如下内容: 项目结构的规划: Spring下整合Hi ...

  2. 【ActiveMQ入门-10】ActiveMQ学习-通配符+异步接收

    通配符介绍: 一般情况下,我们使用层次结构的方式来组织队列,比如A.B.C.D,这样便于归类和管理.  我们也可以使用通配符来配置或是操作多个队列.  通配符有三个: .  用来分隔路径: * 用来匹 ...

  3. nginx和apache最核心的区别在于apache是同步多进程模型,一个连接对应一个进程;nginx是异步的,多个连接(万级别)可以对应一个进程

    nginx和apache的一些优缺点比较,摘自网络,加自己的一些整理. nginx相对于apache的优点: 1.轻量级,同样是web 服务,比apache 占用更少的内存及资源 2.抗并发,ngin ...

  4. jQuery控制网页字体大小和肤色

    在一些网站上经常看到有控制网页肤色和字体大小的功能,接下来,我们将用两个例子来实现这两个功能. 网页字体大小 首先我们在网页中添加一些被控制大小的文字和字体控制的按钮. <!DOCTYPE> ...

  5. HUD 2639 Bone Collector II

    Bone Collector II Time Limit: 5000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others ...

  6. 自己写的 Readini 类

    using System; using System.IO; using System.Runtime.InteropServices; using System.Text; using System ...

  7. ZooKeeper系列(2) 安装部署 (转)

    原文地址:http://www.cnblogs.com/wuxl360/p/5817489.html 一.Zookeeper的搭建方式 Zookeeper安装方式有三种,单机模式和集群模式以及伪集群模 ...

  8. 字符串,hash

    字符串1.有序的字符的集合,不可变2.s.swapcase() 大变小,小变大3.s.capitalize() 第一个大写4.s.casefold() 返回将字符串中所有大写字符转换为小写后生成的字符 ...

  9. 网络文件系统与 Linux

    网络文件系统 是文件系统之上的一个网络抽象,来允许远程客户端以与本地文件系统类似的方式,来通过网络进行访问.虽然 NFS 不是第一个此类系统,但是它已经发展并演变成 UNIX® 系统中最强大最广泛使用 ...

  10. SQL Server2016 配置管理器

    SQL Server2016 以后版本配置管理器的配置管理器不再同数据库工具集成,是单独的应用. Windows 10: 要打开 SQL Server 配置管理器,请在“起始页”中键入 SQLServ ...