11 表〔Table〕区分实体 4
12 列〔Column〕常称字段〔Field〕 4
13 数类型〔DataType〕 4
14 记录〔Record〕记录称行〔Row〕 5
15 键〔PrimaryKey〕ID 5
16 索引 5
2 数库语言——SQL(全称STRUCTURED QUERY LANGUAGE) 7
21 查询数 关键字[select from ] 7
22 带条件查询数关键字[where] 8
23 带条件查询数关键字[like]模糊查询 9
24 带条件查询数关键字[in]模糊查询 9
25 插入数表记录 11
26 修改数 12
27 删数 12
3 数表建表规[SQL三范式] 16
31 第范式〔1NF〕重复列 16
32 第二范式〔2NF〕属性完全赖键[消局部子函数赖] 16
33 第三范式〔3NF〕属性赖非属性[消传递赖] 17
4 SQL联合查询数表查询数 18
41 left join on 18
42 join … on 18
43 group by 分组 18
44 having 条件order by排序 DESCASC 18
5 SQL函数运 20
51 count(1)计数函数 20
52 sum() 求函数 20
53 substring(字段@189 ’’) 20
54 max(字段) min(字段) 20
55 REPLACE() 换字符 20
6 高级编程 21
61 存储程创立删 21
62 存储程修改测试 22
63 参数存储程操作 22
64 触发器添加删修改测试 22
65 触发器虚标deleted inserted 表作 24
66 时间类型 25
67 取消重复关键字 27
7 数导入导出EXCELTXT附件数库 30
71 导入Excel数数库中 30
72 导入txt数数库中 30
73 附件数库 30
74 离数库 31
75 数库动备份方案 31
76 数库练 31
8 附件学参考资料 32
81 sybase数库建模 32
82 数表高级查询参考 33
83 子表结合查询 36
84 数库日志查 36
85 数库作业 37
9 工程验收 38
91 Shaliwy数库建立表建立 38
授课:张木
1 Microso SQL Server 简介微软推出款数库产品
11 表〔Table〕区分实体
学生信息表学校信息表表包含列字段行数类型
姓名
年龄
日生
成绩
班级
张三
21
01097
855
李四
23
王五
26
表名:男袜
字段
类型
长度
备注
ID
Int
4
增编号
Name
Nvarchar(50)
50
名称
名称尺寸价格会员价格市场价格入库数量
抽象出实体中信息描述字段
12 列〔Column〕常称字段〔Field〕
列图员工姓名〞部门〞入职时间〞
13 数类型〔DataType〕
面员工表规定姓名〞部门〞入职时间〞三列 样列里面填写数啦改填写什数填写数面格式入职时间定Datetime〔时间〕类型员工姓名定字符〔汉字等数字组成〕类型
DataType(数类型)
说明
Int
数类型整数:12344555
Nvarchar(50)
汉字类型需加长度超长度会截断
Varchar(50)
汉字类型需加长度超长度会截断
Char(50)
汉字类型需加长度超长度会截断
Float
浮点类型:12134056 数点
Datetime
时间类型:2010112720101127
Text
文类型日志保存2m 文数
Bit
保存否01 True False
14 记录〔Record〕记录称行〔Row〕
表里记录40亿条数信息说改员工信息表记录40亿户信息(容量)
15 键〔PrimaryKey〕ID
定义:唯性代码:ID值:动增长
员工表中行记录代表员工 般员工名字唯标识员工名字重复时名员工分配唯工号
ProductInfo
ID
Name
ProNum
Color
Rule
1
厚竹纤维中统男袜4154006
4154006
蓝色
10寸
2
厚竹纤维中统男袜4154006
4154006
蓝色
10寸
3
厚竹纤维中统男袜4154006
4154006
蓝色
10寸
产品表ProductInfo 保存数时候id赋值
16 索引
提高数查询速度 事物双刃剑缺点索引占定磁盘空间笔画查找目录书会没种目录书页数索引减慢数插入删速度 次插入删时候需更新索引 表拥索引越写操作均性降越
实例:某公司员工信息列子说明(staffInfo)命名量英语标准求
工号
员工姓名
员工部门
入职时间
1
马虎
市场部
201097
2
王二
客服部
201087
3
白展堂
开发部
201087
4
李达
勤部
201083
数库建立表staffInfo
ID
staffName
department
RegTime
1
马虎
市场部
201097
2
王二
客服部
201087
3
白展堂
开发部
201087
4
李达
勤部
201083
学作业文形式描述详细信息表UserInfo表想需字段越详细越参列子列发送提出疑问难点进步 谢谢合作
2 数库语言——SQL(全称Structured Query Language)
SQL具面4功:创立数库定义表结构查询需数更新者删指定数控制数库安SQL完成DBMS交互务
21 查询数 关键字[select from ]
方查员工信息
语句 select * from staffInfo 表示查出全部户数格式:〞select +字段名+from +表名〞 〞*〞表示全部字段[列]
Select [员工姓名] from staffInfo 查出员工姓名列
Select [员工姓名][员工部门] from staffInfo 查出员工姓名列列逗号隔开
[详细代码SQL2_1_v2021sql]
22 带条件查询数关键字[where]
方查某具体员工信息
语句 select * from staffInfo where [员工姓名]’ 王二’ 表示查出具体户数格式:〞select +字段名+from +表名〞 〞*〞表示全部字段列
23 带条件查询数关键字[like]模糊查询
方查姓王员工信息
语句 select * from staffInfo where [员工姓名] like ’ 王’
表示查出姓王员工
24 带条件查询数关键字[in]模糊查询
方查姓王员工信息
语句 select * from staffInfo where [员工姓名] in (王二’ ’ 马虎’)
表示查出王二马虎员工信息
学作业A 查询姓李员工信息 B查询9月入职员工 C查出勤部门客服部门员工信息
参列子列发送提出疑问难点进步 谢谢合作
25 插入数表记录
方:新增户记录应字段值
INSERT INTO dboStaffInfo (StaffNameDepartmentRegTime)
VALUES ('毛艾' N'勤部门''202194 164019625' )
1 〔VALUES〕值数应字段数
2 数类应字段类型
操作实例
查询结果插入数表中
INSERT INTO StaffInfo(StaffNameDepartmentIDRegTimeAge)
SELECT 'XXX'+StaffNameDepartmentIDGETDATE()Age FROM StaffInfo
26 修改数
修改员工信息表
UPDATE StaffInfo SET StaffName'王楠'
WHERE ID'5'
27 删数
删员工王楠户信息
DELETE StaffInfo WHERE StaffName'王楠'
执行
学作业
1 新增10员工信息
员工姓名
部门
入职时间
李纨
客服部
201093
张
客服部
201093
张二
客服部
201093
李四
客服部
201093
李六
力资源部
201093
李六
力资源部
201093
李四
力资源部
201093
张纨
勤部
201093
张二
勤部
201093
2 修改员工张李纨入职时间201094
3 删员工张李纨户信息
参列子列发送提出疑问难点进步 谢谢合作
工程参考:
3 数表建表规[SQL三范式]
31 第范式〔1NF〕重复列
错误设计:
编号
姓名
姓名2
1
张飞
张飞
2
关羽
关羽
正确设计
编号
姓名
年龄
1
张飞
32
2
关羽
27
32 第二范式〔2NF〕属性完全赖键[消局部子函数赖]
错误设计
编号
姓名
年龄
1
张飞
32
2
关羽
27
2
李达
31
正确设计
编号
姓名
年龄
1
张飞
32
2
关羽
27
3
李达
31
文字解释
第二范式〔2NF〕求数库表中实例行必须惟区分实现区分通常需表加列存储实例惟标识例员工信息表中加员工编号〔emp_id〕列员工员工编号惟员工惟区分惟属性列称关键字键码
第二范式〔2NF〕求实体属性完全赖关键字谓完全赖指存仅赖关键字局部属性果存属性关键字局部应该离出形成新实体新实体原实体间关系实现区分通常需表加列存储实例惟标识简言第二范式属性完全赖键
33 第三范式〔3NF〕属性赖非属性[消传递赖]
错误设计
编号
姓名
生日
年龄
1
张飞
1978101
32
2
关羽
1982101
28
2
李达
1979
31
正确设计
编号
姓名
年龄
1
张飞
32
2
关羽
27
3
李达
31
满足第三范式〔3NF〕必须先满足第二范式〔2NF〕简言第三范式〔3NF〕求数库表中包含已表中已包含非关键字信息例存部门信息表中部门部门编号〔dept_id〕部门名称部门简介等信息员工信息表中列出部门编号部门名称部门简介等部门关信息参加员工信息表中果存部门信息表根第三范式〔3NF〕应该构建否会量数冗余简言第三范式属性赖非属性
学作业文形式描述详细信息表UserInfo表想需字段否满足条件
参列子列发送提出疑问难点进步 谢谢合作
4 SQL联合查询数表查询数
41 left join on
42 join … on
43 group by 分组
a 语文
b 语文
c 数学
语文
a
b
数学 c
44 having 条件order by排序 DESCASC
having作意义where致HavingGROUP By
学作业
问题1:表 User_Info 添加2条数户UserIDzmh_27tom002
问题2:分组查询户字段查少独立户?
问题3:查出户表中重复出现2次户账号次数?
问题4:查询dboBook_Order中2字段OrderNumberTotalMoney查找出价格高户价格?
问题5:查询dboBook_Order中2字段OrderNumberTotalMoney查找出价格低户价格?
5 SQL函数运
51 count(1)计数函数
52 sum() 求函数
SUM COUNT()字段时候进行分组GROUP BY [SUM]
53 substring(字段@189 ’’)
54 max(字段) min(字段)
55 REPLACE() 换字符
6 高级编程
61 存储程创立删
a优点:1安性2性检索数速度快
b存储程?
创立存储程语法
CREATE PROC Proc_Book_Order_List
AS
BEGIN
sql语句块
END
修改存储程语法
ALTER PROC Proc_Book_Order_List
AS
BEGIN
sql语句块
END
删存储程
DROP PROC Proc_Book_Order_List
运行存储程
EXEC Proc_Book_Order_List
作业:
1 创立存储程查询户分组中1户查询出?
2 创立存储程查出价格价格户订单号表:Book_Order?
3 修改储程查询全部字段?
4 执行存储程?
5 删存储程?
62 存储程修改测试
63 参数存储程操作
64 触发器添加删修改测试
关键字:TRIGGER
FOR 关键字类型 INSERT updatedelete
1触发器放SQL里面直接运行需代码结合
2存储程般C#C++java等语言结合
65 触发器虚标deleted inserted 表作
66 时间类型
67 取消重复关键字
UID
CID
IsOpen
a
1
a
2
a
3
a
4
否
a
5
否
a
6
否
a
7
a
8
a
9
a
10
否
字段中带字表列
7 数导入导出Exceltxt附件数库
71 导入Excel数数库中
72 导入txt数数库中
73 附件数库
74 离数库
75 数库动备份方案
76 数库练
8 附件学参考资料
81 sybase数库建模
82 数表高级查询参考
CREATE PROCEDURE [dbo][sp_Shop_LuckyItemGet]
(
@userID int
@bonusID int
@Result nvarchar(100) OUTPUT
@ProductNum nvarchar(50) OUTPUT
)
AS
declare @randNum int
declare @plevel int
declare @ProductName Nvarchar(50)
declare @pcount INT
DECLARE @limitday INT
DECLARE @limitcount INT
DECLARE @nowcount INT
DECLARE @bindcount int
DECLARE @lastTime DATETIME 获奖时间
DECLARE @Timespan INT 获奖时间间隔时
Exec Gdcn_ShopRateGet @randNum OUTPUT
PRINT CAST(@randNum AS varchar)
select @ProductNumProductNum@bindcountproductcount@pcountpcount@plevelplevel
@limitdaylimitday@limitcountlimitcount from ShopCjItem where @randNum > pmin and @randNum < pmax and bonusID@bonusID
if @@RowCount>0 and @pcount>0 AND @pcount>@bindcount
begin
PRINT CAST(@ProductNum AS varchar)
判断物品限制
SELECT @nowcountCOUNT(*) FROM A_ShopCjLog WHERE plevel@plevel AND DATEDIFF(DAYcreatetimeGETDATE())<@limitday1
PRINT CAST(@nowcount AS varchar)
IF(@nowcount<@limitcount)
BEGIN
判断时间间隔限制户隔少需时前方中奖
SELECT TOP 1 @lastTimeCreateTime FROM A_ShopCjLog
WHERE userID@userID AND bonusID@bonusID
ORDER BY CreateTime DESC
SELECT @TimespanDATEDIFF(hh@lastTimeGETDATE())
IF(@Timespan>1)
BEGIN
select @ProductNumProductNum@ProductNameProductName@bindcountProductCount from ShopCjItem WITH(NOLOCK) where bonusID@bonusID AND plevel@plevel AND ProductNum@ProductNum AND pcount>@bindcount
更新奖品颁发数量
update ShopCjItem set pcount pcount @bindcount where bonusID@bonusID AND plevel@plevel
插入抽奖记录
INSERT INTO dboA_ShopCjLog (
userID
bonusID
plevel
ProductName
randNum
CreateTime
) VALUES (
@userID
@bonusID
@plevel
@ProductName
@randNum
GETDATE() )
END
ELSE
BEGIN
set @ProductNum''
set @ProductName''
set @plevelnull
END
END
ELSE
BEGIN
set @ProductNum''
set @ProductName''
set @plevelnull
END
end
else
BEGIN
set @ProductNum''
set @ProductName''
set @plevelnull
end
83 子表结合查询
84 数库日志查
85 数库作业
9 工程验收
91 Shaliwy数库建立表建立
网站数建立少建立加盟代理 招贤纳士 留言咨询 联系模块功
文档香网(httpswwwxiangdangnet)户传
《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
该内容是文档的文本内容,更好的格式请下载文档