黑马程序员-SQL sever基础知识汇总

黑马程序员-SQL sever基础知识汇总



DBMS  数据库管理系统
Catalog(分类) (数据库Database   表空间TableSpace)
不同类的数据应该放在不同的数据库中
  1、便于对各个Catalog进行个性化管理
  2、避免命名冲突
  3、安全性更高   
Table(表)  不同类型的资料放到不同的区域,这种区域叫做表
列(Column) 字段(Field)

主键就是数据行的唯一标识
主键有两种选用策略:业务主键和逻辑主键
业务主键是使用有业务意义的字段做主键,比如身份证号,银行账号等;
逻辑主键是使用没有任何意义的字段做主键,完全给程序看的,业务人员不会看的数据。
因为很难保证业务主键不会重复,所以推荐用逻辑主键

数据库数据类型:
bit  布尔类型   0,1
char(n)   字符类型
nvarchar(n)可能含有中文
varchar(n)
区别:
char(n) 不足长度n的部分用空格填充
var=>variable,可变的

SQL主要分为DDL(数据定义语言)和DML(数据操作语言)两类。Create,Drop属于DDL,Select,Insert等属于DML

union  将两个查询结果合为一体,两个查询的列数和类型要相容。自动合并结果中重复的数据(distinct)若不想自动合并,需在union后加all
(合并报表,例如查询一个表中的最低年龄,最高年龄等等)

数据库函数:
数字函数:
ABS() 绝对值
CEILING() 舍入到最大整数        天花板
FLOOR() 舍入到最小整数          地板
RONGD() 四舍五入                半径
字符串函数:
LEN()  字符串长度
LOWER()、UPPER()   转小写、大写
LTRIM()、RTRIM()、LTRIM(RTRIM())  去除左侧、右侧、左右侧空格
SUBSTRING(string,start_position,length)  截取
日期函数:
GETDATE()
DATEADD(DATEPART,NUMBER,DATE) 计算增加以后的日期
   例子:select dateadd(day,-3,getdate())
DATEDIFF(datepart,startdate,enddate):计算两个日期之间的差额
DATEPART(datepart,date)  返回一个日期的特定部分

类型转换函数:
CAST(expretion as date_type)  例如:cast('123' as int)
CONVERT(date_type,(expretion )

ISNULL(expretion,value)  空值处理函数

CASE函数用法1
单值判断,相当于switch case
CASE expretion
WHEN value1 THEN returnvalue1
WHEN value2 THEN returnvalue2
WHEN value3 THEN returnvalue3
ELSE defaultreturnvalue
END

例子1:
select FName,(CASE FLevel 
              WHEN 1 THEN 'VIP客户'
              WHEN 2 THEN '高级客户'
              WHEN 3 THEN '普通客户'
              ELSE '客户类型错误'
              END) AS FLevelName
from T_Customer
CASE函数用法2
相当于if else if……else
例子2:
select FName,(CASE
              WHEN FSalary<2000 then '低收入'
              WHEN FSalary>=2000 and FSalary<5000 then  '中等收入'
              ELSE '高收入'
              END) AS 收入水平
from T_Employee

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值