前言:数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,用户可以对文件中的数据进行增、删、改、查。数据库有很多种类型,从简单的存储有各种数据的表格到能都进行海量数据存储的大型数据库系统都在各个方面都到了广泛的应用。在信息化社会,充分有效地管理和利用各类信息资源,是进行科学研究和决策管理的前提条件。数据库技术是管理信息系统、办公自动化系统、决策支持系统等各类信息系统的核心部分,是进行科学研究和决策管理的重要技术手段。这节课主要讲解SQL数据库。

内容:

  1.SQL Server 2008安装教程参考:http://blog.csdn.net/mingxuanyun/article/details/7752259。

  2.在新建数据库时,数据库最好以英文单词来命名,增强代码的可读性,并且各英文单词首字母大写。

  3.在新建表时,最好让表有一个自增的主键。

  4.数据库是运行在SQL Server(MSSQLSERVER)服务上的,若在删除某数据库时出现“该数据库正在被占用”的错误,则可以把该服务重启一下即可。重启该服务可以做应急处理。

  5.如果修改一个表的时候弹出不让修改的提示,可以选择工具->选项->Designers->表设计器和数据库设计器,将其下面的“阻止保存要求重新创建表的修改”前面的对号去掉即可。

  6.可以用可视化的方式创建数据库,也可以用SQL语句来进行创建。

  7.数据库中的布尔类型用bit来表示。

  8.char/nchar/varchar/nvarchar:char(10)表示能存放10个字符,5个汉字,定长,如果只放了一个字符则后面有九个空格,这种方式的存储容易造成浪费,所以很少使用;nchar(10)表示能放10个中文,也是定长的存储方式,也很少使用;varchar(10)能存放5个中文,变长,根据内容的长度来存储,不会造成空间的浪费,是比较常用的方式;nvarchar(10)表示可以放10个中文,变长,用的相对较多。

  9.SQL语句是不区分大小写的,且其字符串是单引号,不是双引号。

  10.常见的SQL语句用法:

    (1)create database Library  //创建数据库

          go

      use Library

      go

    (2)create table Users  //创建表

     {

      UID int primary key,

      userAge int not null,

      userName nvarchar(20) not null,

      userPwd nvchar(20) not null

     }

    (3)select语句

    select * from Users  //查询出Users表里面的所有信息

        select UID,userName from Users  //查询出Users表里面所有的UID,userName

      select * from Users where UID=3  //查询出Users表里面UID=3的所有信息

    select * from Users order by userAge asc  //默认是asc(可以不写)从小打到,desc是从大到小

    select * from Users where userName = 'zoe' and userAge = 20

    select * from Users where UID in (2,3,4)  //查询出Users表中的UID为2,3,4的所有信息

    select * from Users where userAge between 20 and 30 order by userAge  //查询出Users表中userAge在20到30之间的所有信息,并且按照userAge从小到大排序,同样也可以写成:select * from Users where userAge > 20 and  userAge <30 order by userAge

    select * from Users where userName like 'z%'  //查询出Users表中userName里面第一个字母是z的所有人信息

    select * from Users where userName like '%z%'  //查询出Users表中userName里面包含z的所有人信息

    select * from Users where userName like '%z'  //查询出Users表中userName里面最后一个字母是z的所有人信息

    select top 3* from Users order by userAge desc  //查询出年龄最大的三个用户

    select top 3 userName from Users order by userAge desc  //查询出年龄最大的三个用户的姓名

    select count(*) from Users  //查询出Users表中的所有记录数

    select count(*)  as UserCount from Users  //查询出Users表中的所有记录数,并将该列命名为UserCount

    select count(*) as UserCount, userAge from Users group by userAge  //通过userAge分组查询出Users表中的所有记录数,并将该列命名为UserCount

    select count(*) as UserCount, userAge from Users group by userAge having count(*)>2  //分组查询出表中记录数大于2的组,group by 和having配合使用,不能再使用where条件

    select min(userAge) from Users  //查询出Users表中userAge最小的记录

    select max(userAge) from Users  //查询出Users表中userAge最大的记录

    select avg(userAge) from Users  //查询出Users表中userAge的平均值

    select sum(userAge) from Users  //查询出Users表中userAge的总和

    select * from Users where userAge > (select avg(userAge) from Users)  //查询userAge大于平均userAge的所有记录

    (4)连接:inner join on,left join on, right join on

    select SI.StuId,SI.StuName,SI.ClassName,PE.FatherName,PE.MotherName from StuInfor SI left join Parent PE on SI.StuId=PE.StuId  //左关联,表示以左表为基准来查询,即上面的StuInfor,左表的记录将会全部表示出来,而右表(Parent)只会显示符合搜索条件的记录。同理可以理解right join on。inner join on并不以哪个表为基准,只显示符合条件的记录。项目中一般有三个表就行了,四个表或以上联合查询的效率很低下。

后记:大概了解了怎么用,基本的语句都是懂的,只能在实战中多使用了。

ASP.NET动态网站制作(15)-- SQL数据库(1)的更多相关文章

  1. ASP.NET动态网站制作(3)--css(2)

    前言:css分为四次课讲完,第一节课内容见ASP.NET动态网站制作(2)--css(1),接下来的内容会涉及到定位.浮动.盒子模型(第二次课).css的具体应用(第三次课).css3(第四次课).今 ...

  2. ASP.NET动态网站制作(16)-- SQL数据库(2)

    前言:SQL数据库的第二节课,继续讲解基本的语句及用法. 内容: 1.insert插入语句  insert into Book(bookName,bookPrice,bookAuthor) value ...

  3. ASP.NET动态网站制作(1)--html

    前言:正式上课的第一课,讲的是前端部分的最基础内容:html. 前端:html,css,js 数据库:sql server 动态部分:.net,c#... IIS(Internet Informati ...

  4. ASP.NET动态网站制作(28)-- 三层框架(2)

    前言:三层框架的第二节课,继续上次课的内容. 内容: 1.三层框架的使用目的:可以将视图层和业务逻辑层及实体层分开,可以提高代码的扩展性,安全性,可以实现程序的低耦合性. 2.GetModel方法及G ...

  5. ASP.NET动态网站制作(26)-- Ajax

    前言:这节课讲解关于Ajax的相关内容. 内容: 1.当点击页面中的一个按钮提交数据或请求数据的时候,整个页面的信息都会提交(不管信息是否是提交或者请求的数据,页面中所有的数据都提交),这样耗用的时间 ...

  6. ASP.NET动态网站制作(24)-- ADO.NET(3)

    前言:ADO.NET的第三节课.今天主要讲SQL Helper. 内容: 1.DataReader和DataSet的区别: (1)DataReader是一行一行地读,且只能向前读:DataSet是一次 ...

  7. ASP.NET动态网站制作(22)-- ADO.NET(1)

    前言:这节课开始真正地学习WEB开发,ADO.NET就是一组允许.NET开发人员使用标准的.机构化的,甚至无连接的方式与数据交互的技术.所属的类库为:System.Data.dll. 内容: 1.AD ...

  8. ASP.NET动态网站制作(27)-- 三层框架(1)

    前言:今天主要介绍一下三层框架,给大家一个整体的概念.分层概念使得程序低耦合,更加健壮,扩展性更好. 内容: 1.三层: UI(表现层):主要是指与用户交互的界面.用于接收用户输入的数据和显示处理后用 ...

  9. ASP.NET动态网站制作(23)-- ADO.NET(2)

    前言:这节课老师请高级班的E老师过来代课,还是接着老师讲的内容继续深入,修改了上节课老师写的部分代码. 内容: 1.数据库本质就是一个软件,这个软件帮助我们把数据有序地存储起来,当我们需要数据的时候帮 ...

随机推荐

  1. Mysql Grant权限

    查看用户权限: SELECT host,user,password,Grant_priv,Super_priv FROM mysql.user; 权限取决于最上一条记录的值 如果需要收回权限: REV ...

  2. ASIHTTPREQUEST framework compile error when method is called / link error

    never mind!!! duplicate: Error with iOS 5.1 when i use ASIHTTPRequest and SBJSON "I would take ...

  3. iOS教程:如何使用Core Data – 预加载和引入数据

    这是接着上一次<iOS教程:Core Data数据持久性存储基础教程>的后续教程,程序也会使用上一次制作完成的. 再上一个教程中,我们只做了一个数据模型,之后我们使用这个数据模型中的数据创 ...

  4. Glide使用详解(一)

    一. 下载 在build.gradle中添加依赖: compile 'com.github.bumptech.glide:glide:3.7.0' 需要support-v4库的支持,如果你的项目没有s ...

  5. background属性总结,background-image路径问题相对于css和js

    (1)background属性总结 background 简写属性在一个声明中设置所有的背景属性. 可以设置如下属性:background-color规定要使用的背景颜色.background-pos ...

  6. apache只记录指定URI的日志

    我的需求是,把类似请求 www.aaa.com/aaa/... 这样的请求才记录日志.在httpd.conf 或者 相关的虚拟主机配置文件中添加SetEnvIf Request_URI "^ ...

  7. 路由器漏洞复现分析第二弹:CNVD-2018-01084

    1月17日,CNVD公开了D-LinkDIR 615/645/815 service.cgi远程命令执行漏洞(CNVD-2018-01084),freebuf上有前辈写了一篇漏洞复现和poc的文章(h ...

  8. Hibernate3和4版本的不同

    hibernate4的改动较大只有spring3.1以上版本能够支持,Spring3.1取消了HibernateTemplate,因为Hibernate4的事务管理已经很好了,不用Spring再扩展了 ...

  9. pip virtualenv requirements

    pip可以很方便的安装.卸载和管理Python的包.virtualenv则可以建立多个独立的虚拟环境,各个环境中拥有自己的python解释器和各自的package包,互不影响.pip和virtuale ...

  10. Mac安装pstree

    brew install pstree pstree(选项) -a:显示每个程序的完整指令,包含路径,参数或是常驻服务的标示: -c:不使用精简标示法: -G:使用VT100终端机的列绘图字符: -h ...