
常用数据库复习资料
发布日期:2021-05-14 12:56:43
浏览次数:19
分类:精选文章
本文共 2566 字,大约阅读时间需要 8 分钟。
SQL Server数据库管理指南
数据库组成与功能
在SQL Server中,数据库不仅仅是一个存储数据的地方,更是一个集成了多种功能的管理系统。以下是数据库的主要组成部分:
系统数据库
- master数据库:SQL Server的核心数据库,负责存储系统配置信息和用户登录数据。
- model数据库:用于新数据库的对象模板复制,确保新数据库的结构一致性。
- tempdb数据库:临时存储排序、存储过程等运行时数据,每次SQL Server重启后会被重建。
- msdb数据库:用于存储任务调度、警报信息和备份历史,是SQL Server Agent的主要工作库。
数据库管理系统(DBMS)与数据库系统(DBS)
- DBMS:如SQL Server,是一套软件工具,用于管理和操作数据库。
- DBS:是一个实际运行的数据系统,主要完成数据的存储、维护和应用。
数据库对象管理
数据库对象创建
CREATE TABLE users ( id INT, name VARCHAR(50), age INT);
数据录入与查询
INSERT INTO users VALUES(2, '张三1', 13);INSERT INTO users VALUES(4, '王五', 12, '山西省吕梁市', DEFAULT);
数据复制与表操作
CREATE TABLE student ( id INT, name VARCHAR(50), age VARCHAR(50));INSERT INTO student(id, name, age) SELECT id, name, age FROM users;
数据迁移与扩展
SELECT id, name, age INTO studentinfo FROM users;
数据更新与删除
UPDATE users SET sex = '女' WHERE name = '张三';DELETE FROM users WHERE name = '张三1';
数据查询技巧
SELECT id AS '编号', name AS '姓名', age AS '年龄' FROM users;SELECT id, '编号', name, '姓名', age, '年龄' FROM users;SELECT name + '.' + address FROM studentinfo;
日期与数学函数
SELECT getdate();SELECT DATEADD(yy, 5, '01/01/2009');SELECT DATEDIFF(yy, '2017-05-08', '2019-05-04');SELECT datename(dw, '2015-05-09');SELECT datepart(day, '2014-05-09');
随机数与数学运算
SELECT rand();SELECT ceiling(45.6);SELECT abs(-8);SELECT floor(32.8);SELECT power(5, 2);SELECT round(3.1415926, 2);SELECT sign(-1);SELECT sqrt(9);
数据转换与系统函数
SELECT CONVERT(VARCHAR(5), 12345);SELECT CURRENT_USER;SELECT DATALENGTH('中国A联盟');SELECT HOST_NAME();SELECT SYSTEM_USER;SELECT USER_NAME(1);
SQL优化与案例
字符替换
UPDATE Card SET PassWord = REPLACE(PassWord, 'O', '0');UPDATE Card SET PassWord = REPLACE(PassWord, 'i', '1');
数据排序
SELECT ListNumber FROM SellRecordORDER BY CONVERT(int, LEFT(ListNumber, CHARINDEX('-', ListNumber) - 1)), CONVERT(int, STUFF(ListNumber, 1, CHARINDEX('-', ListNumber), ''));
年龄计算
DATEDIFF(DD, BornDate, GETDATE()) >= 365 * 20
域名提取
RIGHT(Email, LEN(Email) - CHARINDEX('@', Email))
随机数生成
RIGHT(RAND(), 4)
关联查询
连接查询
SELECT * FROM Students aJOIN score b ON a.SCode = b.ScoreJOIN course c ON b.CourseID = c.CourseID
左外连接
SELECT S.SName, C.CourseID, C.ScoreFROM Students AS SLEFT JOIN Score AS C ON C.StudentID = S.SCode
右外连接
SELECT S.SName, C.CourseID, C.ScoreFROM Students AS SRIGHT JOIN Score AS C ON C.StudentID = S.SCode
统计与分组查询
按年级统计学生人数
SELECT count(*) 人数, sgrade 年级 FROM students GROUP BY sgrade
分性别统计
SELECT count(*) 人数, sgrade, ssex FROM students GROUP BY sgrade, ssex
过滤人数
SELECT count(*) 人数, sgrade 年级 FROM students GROUP BY sgrade HAVING count(*) >= 2
关注我们
欢迎关注我们的技术博客,获取更多技术资讯!
发表评论
最新留言
不错!
[***.144.177.141]2025年04月29日 16时19分13秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
python中列表 元组 字典 集合的区别
2019-03-07
python struct 官方文档
2019-03-07
Android DEX加固方案与原理
2019-03-07
Android Retrofit2.0 上传单张图片和多张图片
2019-03-07
iOS_Runtime3_动态添加方法
2019-03-07
Leetcode第557题---翻转字符串中的单词
2019-03-07
Problem G. The Stones Game【取石子博弈 & 思维】
2019-03-07
Unable to execute dex: Multiple dex files
2019-03-07
Java多线程
2019-03-07
Unity监听日记
2019-03-07
openssl服务器证书操作
2019-03-07
expect 模拟交互 ftp 上传文件到指定目录下
2019-03-07
linux系统下双屏显示
2019-03-07
PDF.js —— vue项目中使用pdf.js显示pdf文件(流)
2019-03-07
我用wxPython搭建GUI量化系统之最小架构的运行
2019-03-07
我用wxPython搭建GUI量化系统之多只股票走势对比界面
2019-03-07
selenium+python之切换窗口
2019-03-07
重载和重写的区别:
2019-03-07
搭建Vue项目步骤
2019-03-07
账号转账演示事务
2019-03-07