SQLServer 学习笔记之超详细基础SQL语句 Part 2
Sqlserver 学习笔记
-----------------------接Part 1-------------------
建立如下数据表
CREATE TABLE std_table1
(
学号 INT PRIMARY KEY IDENTITY,
姓名 CHAR(20) NOT NULL,
专业方向 VARCHAR(10) NOT NULL,
系部代码 CHAR(2) NOT NULL,
备注 VARCHAR(50)
)
CREATE TABLE 系部
(
系部代码 CHAR(6) NOT NULL PRIMARY KEY,
系部名称 VARCHAR(20) NOT NULL,
系主任 CHAR(8)
)
CREATE TABLE 专业
(
专业代码 CHAR(4) NOT NULL PRIMARY KEY,
专业名称 VARCHAR(20) NOT NULL,
系部名称 CHAR(6) CONSTRAINT fk_wj1 REFERENCES 系部(系部代码)
)
CREATE TABLE 班级
(
班级代码 CHAR(9) NOT NULL PRIMARY KEY,
班级名称 VARCHAR(20),
专业代码 CHAR(4) CONSTRAINT fk_wj2 REFERENCES 专业(专业代码),
系部代码 CHAR(6) CONSTRAINT fk_wj3 REFERENCES 系部(系部代码),
备注 CHAR(50)
)
CREATE TABLE 学生
(
学号 CHAR(12) NOT NULL PRIMARY KEY,
姓名 CHAR(8) NOT NULL,
出生年月 datetime,--注意这里只能用小写
入学日期 datetime,
班级代码 CHAR(9) CONSTRAINT fk_wj4 REFERENCES 班级(班级代码),
系部代码 CHAR(6) CONSTRAINT fk_wj5 REFERENCES 系部(系部代码),
专业代码 CHAR(4) CONSTRAINT fk_wj6 REFERENCES 专业(专业代码)
)
注意以上表的删除顺序:先学生 再班级 再专业 再系部,,,
9.数据的添加
格式:
INSERT [INTO] 表名 (列名1,列名2,……) VALUES(value1,value2,……)
9.1有vavlues的插入
示例:
前提:“学号”列为标识增量
1--往表std_table中添加一条数据[注意:学号设为了增量标识]
INSERT INTO std_TABLE VALUES('zs', '计算机', '01', '没有')
2--往表std_table中的某些列插入一条数据
INSERT INTO std_TABLE(名称, 专业方向, 系部代码)
VALUES('张三', '数学', '04')
9.1.2无values的插入
--往表std_table中插入一批数据
INSERT std_TABLE(姓名, 专业方向, 系部代码)
SELECT 姓名, 专业方向, 系部代码
FROM std_TABLE
10 数据查询
10.1--查询表std_table中前10行记录
SELECT TOP 10 系部代码, 专业方向
FROM std_table
10.2--查询表std_table前面P的记录结果
SELECT TOP 50 PERCENT 系部代码, 专业方向
FROM std_table
10.3--查询表std_table中姓名为k,或者j开头的的所有记录
SELECT * FROM std_table
WHERE 姓名 LIKE '[kj]%'
10.4--查询表std_table中姓名不为k,或者j开头的的所有记录
SELECT * FROM std_table
--WHERE 姓名 NOT LIKE '[kj]%'
WHERE 姓名 LIKE '![kj]%'
11.用查询结果新生新表【类比插入INSERT就好理解了】
格式:SELECT * INTO 新表表名 from 表名
示例:
SELECT * INTO new_table FROM std_table
SELECT * FROM new_table
SELECT * INTO new_table2 FROM std_table
WHERE 姓名 = 'zs'
SELECT * FROM new_table2
SELECT 学号, 姓名 INTO new_table1 FROM std_table
SELECT * FROM new_table1
SELECT 学号, 姓名, 专业方向, 系部代码, 备注
FROM std_table
下面的例子会创建一个名为"Persons_Order_Backup" 的新表,其中包含了从 Persons 和 Orders 两个表中取得的信息
SELECT Persons.LastName,Orders.OrderNo
INTO Persons_Order_Backup
FROM Persons
INNER JOIN Orders
ON Persons.Id_P=Orders.Id_P
12.把查询结果新生新表,且把新表为临时表(下面#new_table变成了系统数据库下的临时表)
SELECT * INTO #new_table FROM std_table
SELECT * FROM #new_table
作者:授客
微信/QQ:1033553122
全国软件测试QQ交流群:7156436
Git地址:https://gitee.com/ishouke
友情提示:限于时间仓促,文中可能存在错误,欢迎指正、评论!
作者五行缺钱,如果觉得文章对您有帮助,请扫描下边的二维码打赏作者,金额随意,您的支持将是我继续创作的源动力,打赏后如有任何疑问,请联系我!!!
微信打赏
支付宝打赏 全国软件测试交流QQ群
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
· 【.NET】调用本地 Deepseek 模型
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库