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

Sqlserver 学习笔记

by: 授客 QQ 1033553122

-----------------------接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

 

 

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

9.数据的添加

格式:

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

9.1vavlues的插入

示例:

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

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.2values的插入

--往表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

 

转载于:https://www.cnblogs.com/shouke/p/10158073.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值