前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SQLServer 学习笔记之超详细基础SQL语句 Part 2

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

作者头像
授客
发布2019-09-11 20:31:29
3470
发布2019-09-11 20:31:29
举报
文章被收录于专栏:授客的专栏授客的专栏

-----------------------接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 专业(专业代码)

)

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

注意以上表的删除顺序:先学生 再班级 再专业 再系部,,,

9.数据的添加

格式:

INSERT [INTO] 表名 (列名1,列名2,……) VALUES(value1,value2,……)

9.1有vavlues的插入

示例:

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

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

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

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2014-11-19 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档