(转)新手C#SQL语句的学习2018.08.13
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的更多相关文章
- 新手C#SQLServer在程序里实现语句的学习2018.08.12
从C#中连接到SQL Server数据库,再通过C#编程实现SQL数据库的增删改查. ado.net提供了丰富的数据库操作,这些操作可以分为三个步骤: 第一,使用SqlConnection对象连接数据 ...
- 新手C#SQL Server使用记录2018.08.10
主键(PrimaryKey):主键就是每个数据行(记录)的唯一标识,不会有重复值的列(字段)才能当做主键.一个表可以没有主键,但是这样会很难处理表,因此一般情况表都要设置主键. 主键有两张选用策略,分 ...
- SQL语句的学习
SQL语句的学习 要交作业了,刚好把SQL查询语句的内容写成笔记,以后好查看.水一下 单表查询 DISTINCT:去掉结果中的重复行作用,将DISTINCT关键字放在select的后面.目标列名的前面 ...
- 标准sql语句,学习
标准SQL语句总结标准SQL语句总结,标准SQL语言基本上适用于下面所列出的数据库软件 -------------------------------------------------------- ...
- sql语句的学习(1)
一.创建表 CREATE TABLE `student` ( `id` ) NOT NULL AUTO_INCREMENT, `name` ) DEFAULT NULL COMMENT '姓名', ` ...
- 新手C#异常的学习2018.08.07
异常是在程序执行期间出现的问题.C# 中的异常是对程序运行时出现的特殊情况的一种响应,比如尝试除以零. class Program { static void Main(string[] args) ...
- 新手C#构造函数、继承、组合的学习2018.08.06/07
构造函数,是一种特殊的方法.主要用来在创建对象时初始化对象,即为对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中.特别的一个类可以有多个构造函数,可根据其参数个数的不同或参数类型的不同 ...
- 新手C#s.Split(),s.Substring(,)以及读取txt文件中的字符串的学习2018.08.05
s.split()用于字符串分割,具有多种重载方法,可以通过指定字符或字符串分割原字符串成为字符串数组. //s.Split()用于分割字符串为字符串数组,StringSplitOptions.Rem ...
- 新手C#int.Parse、int.TryParse的学习2018.08.04
int.Parse()用于将字符串转换为32为int类型,但是在遇到非数字或者类似1.545这种小数的时候会报错,后来采用了int.TryParse,这个在转换后会判断是否可以正常转换,若不能,会返回 ...
随机推荐
- innotop监控mysql
InnoTop 是一个系统活动报告,类似于Linux性能工具,它与Linux的top命令相仿,并参考mytop工具而设计. 它专门用后监控InnoDB性能和MySQL服务器.主要用于监控事务,死锁,外 ...
- 1、搭建HBase完全分布式集群
搭建完全分布式集群 HBase集群建立在hadoop集群基础之上,所以在搭建HBase集群之前需要把Hadoop集群搭建起来,并且要考虑二者的兼容性.现在就以5台机器为例,搭建一个简单的集群. 软件版 ...
- WPF Demo9外部资源文件
<Window x:Class="Demos.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/ ...
- 在VS2010中配置ICE插件的步骤
ICE为不同的IDE都提供了插件.本文介绍VS2010下的配置. 首先建立一个控制台工程,以此为例,进行介绍. 1.激活插件 选择工具-> IceConfiguration或者在工程右键选择Ic ...
- session 、cookie、token的区别
session session的中文翻译是“会话”,当用户打开某个web应用时,便与web服务器产生一次session.服务器使用session把用户的信息临时保存在了服务器上,用户离开网站后sess ...
- COMMON INTERVIEW QUESTIONS
1. What do you see yourself doing five years from now? 2. What motivates you to put forth your great ...
- nginx的日志分析
1.到NGINX把日志DOWN下来2.用命令cat xxxx.log | egrep '10/Jul/2015:01:[4-5]|2015-07-10 02:0[0-57]'>xxxx2.log ...
- 安装HBase(0.9)数据库
基本知识: 1.hbase是一种基于列存储的数据库,也就是说它的一列的数据是存储在一个文件里面的,而传统的数据库存储都是一个文件存储多个行,这些行有不同的列,这些列的数据类型 不同. 2.基于HDFS ...
- hbase建表时 ERROR: java.io.IOException: Table Namespace Manager not ready yet, try again later
其实解决不难,是因为时钟不同步,把每个节点切换到root用户下同步时钟就好了,在重启hbase!
- noip 2011 选择客栈
题目描述 丽江河边有n 家很有特色的客栈,客栈按照其位置顺序从 1 到n 编号.每家客栈都按照某一种色调进行装饰(总共 k 种,用整数 0 ~ k-1 表示),且每家客栈都设有一家咖啡店,每家咖啡店均 ...