黑马程序员_SQL 数据库概念解读

-----------Windows Phone 7手机开发.Net培训.net学习型技术博客、期待与您交流! ------------


SQL Server数据库概念解读

1、什么是数据库?

数据库和数据库管理系统(DBMS)是不一样的概念,数据库是指,存放数据的集合,里面是放数据的,而DBMS是一个管理系统,负责数据的存储和保护的的系统。

2、如何操作数据库?

开发.Net程序使用SQL Server最搭配了。

大部分数据库都需要数据库服务器才能运行,学习和开发时是用本机的数据库,真正上线时,数据库是运行在独立的服务器上面的。

数据库中的基本概念:

*        Catalog(分类)(又叫数据库Database,表空间tablespace,不同类的数据应该放到不同的数据库里。

*        Table()

*        列(column),字段(field

主关键字(primary key)是表中的一个或多个字段,它的值用于惟一地标识表中的某一条记录。在两个表的关系中,主关键字用来在一个表中引用来自于另一个表中的特定记录。主关键字是一种唯一关键字,表定义的一部分。一个表不能有多个主关键字,并且主关键字的列不能包含空值。主关键字是可选的,并且可在 CREATE TABLE ALTER TABLE语句中定义

逻辑主键和业务主键:

  逻辑主键:一般是指流水号,业务人员不会看的数据,完全是给计算机看的。

  业务主键:如员工工号。

Sqlserver的管理:工具sqlserver 2005或者sqlserver2008

n        开发人员需要做的是:创建数据库,创建表,列出字段,设置主键。

n        常用的字段类型:bit(可选值为01)datetimeintvarchar(不含中文的),nvarchar(可含有中文)。

u      Varcharnvarcharchar(n)的区别,char(n)不足长度n的部分可用空格填充。

u      Nvarchar(max)无限大类型,可用于发表文章。

 

3、常见的SQL语句?

*        Sql语句中的字符串是用单引号的;

*        大小写不敏感;

*        修改数据库的数据可以使用手工修改,也可以使用sql语句修改;

*        Sql 主要分DDL(数据定义语言)和DML(数据操作语言)两类:

n        Create tableDrop tablealter table 等属于DDL;

n        Select, insert ,update, delete等属于DML;

主键的选择策略int(或bogint,uniqueidentifier(又称Guid,uuid);

u      标识列:将字段的“标识列”设置成“是”,一个表只能有一个标识列;

u      业界主流使用Guid;优点:效率高、数据导入导出方便;缺点:占用空间大,不易读;

u      表的数据插入insert(可不写字段名,但不推荐);

u      修改表数据update,注意where条件(单“=”号);

u      主键使用newid()方法,不推荐;

u      删除表数据:delete from表名,注意where条件;

u      删除表:delete表;

u      字段检索:select XX as别名;

n        可以检索与数据库没有关系的数据:select 1+1 as1,getdate() as日期,newid() as编号;

n        Sql常用函数:count();max(),min();getdate();newid();avg();sum();

n        数据排序:select XXX order by字段名 desc/asc;order by语句要放在where后面

n        通配符匹配:like、单通配符“_”代表一个字符,多通配符“%”代表多个字符;

n        数据库中Nullà表示不知道有没有值,null+1=null,无法查询;

n        数据分组 group by列名(聚合函数不应出现在where子句中);

n        Having 是出现在group by之后的,having是对分组信息的过滤,能用的列和select中能用的列是一样的,注意:having不能代替where

n        限制结果:top *select *·· order by * desc/asc;

n        去掉重复数据:select distinct*··;\

n        联合结果集union union all;

n        数字函数:

u      ABS()求绝对值;

u      Ceiling()舍入到最大整数;

u      Floor()舍入到最小整数;

u      Round(0.2343,3)四舍五入到小数点右三位;

n        字符串函数:

u      Len(“abc”) 字符串长度;

u      Lower(),upper()转大小写;

u      Ltrim()ratrim()去掉字符串左、右侧空格;

u      Substring(string,start_position,lenth)截取字符串,substring(原,开始位,截取长度)

u      Dateadd(datepart,number,date),计算增加以后的日期,dateadd(month,-8,date)八个月以前的日期;

u      Datediff(datepart,startdate,enddate)计算时间差额;

n        类型转化:

u      Cast(espression as data_type );

u      Convert(data_type,expression);

n        流控函数:

n        空值处理函数isnull(列名,代替值’);代替空值;

n        Case 单值判断语法:

Case expression

When value1 then return value1

Else defaultreturnvalue

End

n        索引index:只在经常检索的字段上(where)创建索引;

n        表连接join,通过主键外键连接

n        子查询:将一个查询语句作为一个结果集供其他sql语句使用。如:

Select * from (select * from t2 where fage>18)

n        Rownumber();行号

n        Over();OVER子句用于为行为定义一个窗口(windows),以便进行特定的运算。

        

 

-----------Windows Phone 7手机开发.Net培训.net学习型技术博客、期待与您交流! ------------


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值