1.创建数据库(create)

CREATE DATABASE database-name

2.删除数据库(drop)

drop database dbname

3.备份数据库

--- 创建 备份数据的 device

  USE master

  EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat'

  --- 开始 备份

  BACKUP DATABASE pubs TO testBack

4.创建新表

create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..)

  --根据已有的表创建新表:

  A:create table tab_new like tab_old (使用旧表创建新表)

  B:create table tab_new as select col1,col2… from tab_old definition only

5.删除新表

 drop table tabname

6.增加一个列(字段)

 Alter table tabname add column col type

   --注:列增加后将不能删除。DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar类型的长度。

7.添加主键

 Alter table tabname add primary key(col)

 --说明:删除主键: Alter table tabname drop primary key(col)

8.创建索引

 create [unique] index idxname on tabname(col….)

 --删除索引:drop index idxname

 --注:索引是不可更改的,想更改必须删除重新建。

9.创建视图

 create view viewname as select statement

 --删除视图:drop view viewname

10.几个最简单的SQL语句

 --选择:
select * from table1 where 范围 --插入:
insert into table1(field1,field2) values(value1,value2) --删除:
delete from table1 where 范围 --更新:
update table1 set field1=value1 where 范围 --查找:
select * from table1 where field1 like ’%value1%’ ---like的语法很精妙,查资料! --排序:
select * from table1 order by field1[desc],field2[asc] --二次排序,当有重复值时按照主键排序 --总数:
select count as totalcount from table1 --求和:
select sum(field1) as sumvalue from table1 --平均:
select avg(field1) as avgvalue from table1 --最大:
select max(field1) as maxvalue from table1   最小:select min(field1) as minvalue from table1 --统计记录条数
SELECT COUNT(*) FROM T_EMPLOYEE --向下/向上取整
SELECT FLOOR(50.41) --
SELECT CEILING(50.41) --

使用通配符

通配符过滤关键词:LIKE

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

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

SQL语句查询空值的语句为

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

多值查询:IN,BETWEEN-AND

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

分组查询:GROUP BY

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

分组后的查询条件:HAVING

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

合并结果集:UNION (ALL)

--合并结果集,并且去除重复项
SELECT c_name from Category
union
select b_title from Book --合并结果集,不去除重复项
SELECT c_name from Category
union all
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. asp.net Repeater使用例子,包括分页

    <style type="text/css">    .tab{border-collapse:collapse; margin:0 auto;}    .tab th ...

  2. RedHat Enterprise Linux7.0安装Oracle12c

    1. 验证 1.1 硬盘空间要求 1.1.1 安装盘 类型 占用磁盘空间 Enterprise Edition 6.4GB Standard Edition 6.1GB Standard Editio ...

  3. java 装饰设计模式模式

    对已有功能进行增强 示例 已有的类    调用 增强后的类 调用  思考? 为什么要这么做呢? SuperPerson 继承 Person 可以达到同样的效果. 继承的写法,其中MyBuffer... ...

  4. AspectJ入门

    AOP的实现方式有两种: AOP框架在编译阶段,就对目标类进行修改,得到的class文件已经是被修改过的.生成静态的AOP代理类(生成*.class文件已经被改掉了,需要使用特定的编译器).以Aspe ...

  5. 杂项-frame:Rails框架

    ylbtech-杂项-frame:Rails框架 Rails框架首次提出是在2004年7月,它的研发者是26岁的丹麦人David Heinemeier Hansson.不同于已有复杂的Web 开发框架 ...

  6. 关于文章cisco漏洞4786

    查看确认方法 [root@nodchen ~]# nmap -p4786 172.30.4.2 Starting Nmap 5.51 ( http://nmap.org ) at 2017-05-20 ...

  7. mysql设置索引

    1.添加PRIMARY KEY(主键索引) 语法:ALTER TABLE `表名` ADD PRIMARY KEY ( `列名称` ) mysql>ALTER TABLE `table_name ...

  8. golang web框架 beego 学习 (三) beego获取参数

    直接上常用的例子吧: A:     获取URL中的参数 router func init() { beego.Router("/task/?:id/?:name", &co ...

  9. C# AtomicInt

    using System; using System.Threading; /// <summary> /// Provides lock-free atomic read/write u ...

  10. Web API源码剖析之HttpServer

    Web API源码剖析之HttpServer 上一节我们讲述全局配置.本节将讲述全局配置的DefaultServer,它是一个HttpServer类型. 主要作用就是接受每一次请求,然后分发给消息处理 ...