6.truncate table student 的作用与delete from student一样,都是删除student表中的全部数据,区别在于:
1.truncate语句非常高效。由于truncate操作采用按最小方式来记录日志,所以效率非常高。对于数百万条数据使用truncate删除只要几秒钟,而使用delete则可能耗费几小时。
2.truncate语句会把表中的自动编号重置为默认值。
3.truncate语句不触发delete触发器
truncate table udt_mm_ApplyBuy_Main   清空表中的数据【保留表的数据结构】
Delete  删除之前使用select 查询出where条件  只删除表的行  保留表的结构,属性,索引
drop
 
 
where 不可以跟聚合函数!!!!
order  by 
group by 分组(1.必须跟select后字段相同2.可以有聚合函数3.)后面的字段在select后面都得有。必须跟聚合函数(COUNT()计数,SUM()求和,AVG()平均值,MAX()最大值,MIN()最小值)一起使用。条件使用having【分组后再次筛选】而非where
oder by   必须放在后面 且前面没有and【默认升序】 排序字段(asc desc)
select Group_Desc, COUNT( Group_Desc ) as 各个权限组人数 from v_PA_SecurityGroup_Storage_User s
group by Group_Desc
having COUNT(Group_Desc)>10
 
【分组】 区别于group by是一个聚合函数
开窗函数:
聚合函数 over(),over后的括号里可跟分组partition by、排序函数order by
Row_number() over() 连用时Row_number()根据开窗函数里的条件为每一条数据记录数字,表示该表由顺序排列成具体的行

sum()用于求和,SUM 函数会忽略所有 NULL 值,且只能应用于数字类型的字段。

聚合函数忽略空值
聚合函数的使用,需要注意得到的数据只有一个的特征,所以一条sql语句如果使用了
聚合函数,如果没有分组,是不能有其他字段
 
COUNT(*) *字段
所有使用聚合函数的SQL语句,即使没有分组,也不能有其他字段

count()用于行数的统计NULL 不计入,但‘ ’计入

 
不能对varchar调用方法?
错误原因:select A.B,C, FROM 表 查询字段之间使用了.
 
当 IDENTITY_INSERT 设置为 OFF 时,不能为表 'udt_mm_DailyPlan_Detail' 中的标识列插入显式值
错误原因:主键自增,在插入数据的时候为其赋值
错误:在将 varchar 值 'KT' 转换成数据类型 int 时失败。
原因:将varchar类型的数据当做int类型来处理了
(getdate()) 数据库默认当前时间
 
SQL修改之前查询,在临时表上修改 避免where条件错误
数据量很大的时候不建议放在临时表
 
varchar(100) UTF-8(每个汉字3个字节)
 
表的内连接(INNNER JOIN)必须保证该条数据在每张表都存在
(NOT)Between 小 and 大 等价与 A>= AND A<=
 
派生表:子查询,一个查询嵌套另一个查询
 
SqlConnection对象
Command对象 ExecuteReader()方法 FieldCount 获取当前行的列数 RecordsAffected 获取执行SQL语句所更改,添加,删除的行数
DataReader 在使用的时,将以独占方式使用Connnection,使用之后Close方法断开Connnecton的关联
 
SqlDataAdapter对象 Fill()方法 SelectCommand()方法
 
1.怎样显示行号
工具--》选项--》文本编译器--》Transact-SQL-->常规--》显示 (将行号打上对勾)
2.怎样将写好的代码转换成大写的
编辑-->高级-->转换成大写(ctrl+shift+u)
3.services.msc(查看所有本地服务);
4.select 学号,课程号 from 表 in (select max(成绩)from 成绩表)
5.-> 如何启用sa用户?
-> 先用Windows身份验证登录 -> 安全节点下的用户名sa -> 右键属性 -> 输入密码,左边选择状态 -> 启用
-> 选择数据库节点 -> 右键属性 -> 左边安全性 -> 混合验证模式 -> 确定重启服务
 
6.分页存储过程
select top 页的行数 *
from(select row_number() over(order by id) as sid)
where sid>页的行数*(当前页-1)
7.return 相当于结束(只能返回整型数据 )
8.dispose 释放资源,对象不再使用
 
创建数据库
 
CREATE DATABASE stuDB
ON PRIMARY --默认就属于PRIMARY主文件组,可省略
(
/*----数据文件的具体描述--*/
NAME='stuDB_data', --主数据文件的逻辑名
FILENAME='D:\project\stuDB_data.mdf', --主数据文件的物理名
SIZE=5mb, --主数据文件初始大小
MAXSIZE=100mb, --主数据文件增长的最大值
FILEGROWTH=15% --主数据文件的增长率
)
LOG ON
(
/*----日志文件的具体描述,各参数含义同上--*/
NAME='stuDB_log',
FILENAME='D:\project\stuDB_log.ldf',
SIZE=2mb,
FILEGROWTH=1 mb
)
GO
 
--添加表的约束 【(primary key) (foreign key)unique default check】
 
--- 添加主键约束(stuNo作为主键)
ALTER TABLE stuInfo
ADD CONSTRAINT PK_stuNo PRIMARY KEY (stuNo)
---添加唯一约束(身份证号唯一,因为每人的身份证号全国唯一)
ALTER TABLE stuInfo
ADD CONSTRAINT UQ_stuID UNIQUE (stuID)
---添加默认约束(如果地址不填,默认为“地址不详”)
ALTER TABLE stuInfo
ADD CONSTRAINT DF_stuAddress DEFAULT ('地址不详') FOR stuAddress
---添加检查check约束,要求年龄只能在15-40岁之间
ALTER TABLE stuInfo
ADD CONSTRAINT CK_stuAge CHECK(stuAge BETWEEN 15 AND 40)
--- 添加主键约束(ExamNo作为主键)
ALTER TABLE stuMarks
ADD CONSTRAINT PK_ExamNo PRIMARY KEY (ExamNo)
--添加外键约束(主表stuInfo和从表stuMarks建立关系,关联字段为stuNo)
ALTER TABLE StuMarks
ADD CONSTRAINT FK_stuNo
FOREIGN KEY(stuNo) REFERENCES stuInfo(stuNo)
GO
 
基本操作
insert into 表名(字段)values(值)
delete from 表名 where
update 表名 set......where
select * from 表名
 
select distinct(字段必须相同) 去除重复,如果不指定列名,则两条数据必须完全一样。
top(后面有*) 数字 字段1 as 别名,字段2 as别名,
函数或表达式 as别名
from
数据源,结果集
 
-- 什么是结果集
-- 没有排序的查询结果就是一个结果集,除非order by与top连用
-- 数据源可以是什么
-- 表、视图、结果集、内联表值函数、公用表表达式(CTE)、表连接等
select 123 as num
select 123 as ”num“
select 123 as[num] 区别? 界定符
 
select *
into fff
from stuinfo
where 1>2 常常使用where 1>2条件,只复制表的结构,复制表时自动增长会一起复制过来,常常使用这个方法备份临时数据测试
 
1如何解释数据库中的表
每一列名字 column(列名) 字段(filed)
每一行数据叫做一条记录,也叫一条元组
 
2、什么是关系性数据库 不是(程冠希、男女关系) 数学中的概念
笛卡儿积的一个子集;关系就是一张表,表就是一个子集
将一个集合中的元素依次与另一个元素进行组合(笛卡儿积)
表的另一个名称就是“关系”。
 
3、创建数据库
语法:--:单行注释
use: 切换数据库
 
use master;
create database logistics1
on
(
name='logistics1',
filename='E:\ASP.Net备课\数据库\db\logistics1.mdf',-- master data file
size=10MB,
maxsize=100Mb,
filegrowth=10%
)
log on
(
name='logistics1_log',
filename='E:\ASP.Net备课\数据库\db\logistics1.ldf',
size=5MB,
maxsize=100Mb,
filegrowth=10%
)
4、创建架构
架构属于数据库,架构下面是数据表。架构 dbo
 
use logistics
go --表示上面的语句逻辑结束了,要等待指定
create schema myschema authorization dbo;
 
5、数据库的分离和附加
数据库的分离必须保证没有用户访问数据库
保证数据库运行稳定 否则造成数据的破坏