SQLServer 学习笔记之超详细基础SQL语句 Part 2

本文涉及的产品
云数据库 RDS SQL Server,基础系列 2核4GB
简介: SQLServer 学习笔记之超详细基础SQL语句 Part 2

Sqlserver学习笔记


-----------------------接Part 1-------------------

建立如下数据表

CREATETABLE std_table1

(

  学号        INTPRIMARYKEYIDENTITY,

  姓名        CHAR(20)NOTNULL,

  专业方向     VARCHAR(10)NOTNULL,

  系部代码     CHAR(2)NOTNULL,

  备注        VARCHAR(50)

)

 

CREATETABLE系部

(

  系部代码CHAR(6)NOTNULLPRIMARYKEY,

  系部名称VARCHAR(20)NOTNULL,

  系主任      CHAR(8)

)

 

CREATETABLE专业

(

  专业代码CHAR(4)NOTNULLPRIMARYKEY,

  专业名称VARCHAR(20)NOTNULL,

  系部名称CHAR(6)CONSTRAINT fk_wj1 REFERENCES系部(系部代码) 

)

CREATETABLE班级

(

  班级代码CHAR(9)NOTNULLPRIMARYKEY,

  班级名称VARCHAR(20),

  专业代码CHAR(4)CONSTRAINT fk_wj2 REFERENCES专业(专业代码),

  系部代码CHAR(6)CONSTRAINT fk_wj3 REFERENCES系部(系部代码),

  备注    CHAR(50)

)

 

CREATETABLE学生

(

  学号    CHAR(12)NOTNULLPRIMARYKEY,

  姓名    CHAR(8)NOTNULL,

  出生年月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.1vavlues的插入

示例:

前提:“学号列为标识增量

 

 

 

1--往表std_table中添加一条数据[注意:学号设为了增量标识]

INSERTINTO std_TABLE VALUES('zs','计算机','01','没有')

 

2--往表std_table中的某些列插入一条数据

INSERTINTO std_TABLE(名称,专业方向,系部代码)

VALUES('张三','数学','04')

 

9.1.2values的插入

--往表std_table中插入一批数据

INSERTstd_TABLE(姓名,专业方向,系部代码)

SELECT姓名,专业方向,系部代码

FROMstd_TABLE

 

10数据查询

10.1--查询表std_table中前10行记录

SELECTTOP 10系部代码,专业方向

FROMstd_table

 

10.2--查询表std_table前面P的记录结果

SELECTTOP 50 PERCENT系部代码,专业方向

FROMstd_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学号,姓名INTOnew_table1 FROM std_table

SELECT*FROM new_table1

SELECT学号,姓名,专业方向,系部代码,备注

FROMstd_table

 

下面的例子会创建一个名为"Persons_Order_Backup"的新表,其中包含了从PersonsOrders两个表中取得的信息

SELECTPersons.LastName,Orders.OrderNo

INTOPersons_Order_Backup

FROMPersons

INNER JOINOrders

ONPersons.Id_P=Orders.Id_P

 

12.把查询结果新生新表,且把新表为临时表(下面#new_table变成了系统数据库下的临时表)

SELECT*INTO #new_table FROM std_table

SELECT*FROM #new_table

 

目录
相关文章
|
26天前
|
SQL Web App开发 安全
SQL Server 2025 年 8 月更新 - 修复 CVE-2025-49759 SQL Server 特权提升漏洞
SQL Server 2025 年 8 月更新 - 修复 CVE-2025-49759 SQL Server 特权提升漏洞
72 2
SQL Server 2025 年 8 月更新 - 修复 CVE-2025-49759 SQL Server 特权提升漏洞
|
27天前
|
SQL 容灾 安全
云时代SQL Server的终极答案:阿里云 RDS SQL Server如何用异地容灾重构系统可靠性
在数字化转型的浪潮中,数据库的高可用性已成为系统稳定性的生命线。作为经历过多次生产事故的资深开发者,肯定深知传统自建SQL Server架构的脆弱性——直到遇见阿里云 RDS SQL Server,其革命性的异地容灾架构彻底改写了游戏规则。
|
2月前
|
SQL Web App开发 安全
SQL Server 2025年7月更新 - 修复 CVE-2025-49718 Microsoft SQL Server 信息泄露漏洞
SQL Server 2025年7月更新 - 修复 CVE-2025-49718 Microsoft SQL Server 信息泄露漏洞
155 0
SQL Server 2025年7月更新 - 修复 CVE-2025-49718 Microsoft SQL Server 信息泄露漏洞
|
SQL 关系型数据库 MySQL
【超全整理】SQL日期与时间函数大汇总会:MySQL与SQL Server双轨对比教学,助你轻松搞定时间数据处理难题!
【8月更文挑战第31天】本文介绍了在不同SQL数据库系统(如MySQL、SQL Server、Oracle)中常用的日期与时间函数,包括DATE、NOW()、EXTRACT()、DATE_ADD()、TIMESTAMPDIFF()及日期格式化等,并提供了具体示例。通过对比这些函数在各系统中的使用方法,帮助开发者更高效地处理日期时间数据,满足多种应用场景需求。
1523 1
|
11月前
|
SQL 数据库
执行 Transact-SQL 语句或批处理时发生了异常。 (Microsoft.SqlServer.ConnectionInfo)之解决方案
执行 Transact-SQL 语句或批处理时发生了异常。 (Microsoft.SqlServer.ConnectionInfo)之解决方案
1245 0
|
Java 应用服务中间件 Maven
从零到英雄:一步步构建你的首个 JSF 应用程序,揭开 JavaServer Faces 的神秘面纱
【8月更文挑战第31天】JavaServer Faces (JSF) 是一种强大的 Java EE 标准,用于构建企业级 Web 应用。它提供了丰富的组件库和声明式页面描述语言 Facelets,便于开发者快速开发功能完善且易于维护的 Web 应用。本文将指导你从零开始构建一个简单的 JSF 应用,包括环境搭建、依赖配置、Managed Bean 编写及 Facelets 页面设计。
245 0
|
SQL 关系型数据库 MySQL
SQL Server、MySQL、PostgreSQL:主流数据库SQL语法异同比较——深入探讨数据类型、分页查询、表创建与数据插入、函数和索引等关键语法差异,为跨数据库开发提供实用指导
【8月更文挑战第31天】SQL Server、MySQL和PostgreSQL是当今最流行的关系型数据库管理系统,均使用SQL作为查询语言,但在语法和功能实现上存在差异。本文将比较它们在数据类型、分页查询、创建和插入数据以及函数和索引等方面的异同,帮助开发者更好地理解和使用这些数据库。尽管它们共用SQL语言,但每个系统都有独特的语法规则,了解这些差异有助于提升开发效率和项目成功率。
1354 0
|
12月前
|
关系型数据库 MySQL 网络安全
5-10Can't connect to MySQL server on 'sh-cynosl-grp-fcs50xoa.sql.tencentcdb.com' (110)")
5-10Can't connect to MySQL server on 'sh-cynosl-grp-fcs50xoa.sql.tencentcdb.com' (110)")
|
SQL 存储 监控
SQL Server的并行实施如何优化?
【7月更文挑战第23天】SQL Server的并行实施如何优化?
410 13
解锁 SQL Server 2022的时间序列数据功能
【7月更文挑战第14天】要解锁SQL Server 2022的时间序列数据功能,可使用`generate_series`函数生成整数序列,例如:`SELECT value FROM generate_series(1, 10)。此外,`date_bucket`函数能按指定间隔(如周)对日期时间值分组,这些工具结合窗口函数和其他时间日期函数,能高效处理和分析时间序列数据。更多信息请参考官方文档和技术资料。
263 9